在example/demo目录下的有一个很重要的示例:kivycatalog,演示了常用了控件的使用

但是用编译出来的Android平台上的Kivy代码运行会出异常,下面讲下解决方法

异常一:TypeError:show_keyboard()takesnoarguments(2given)

原因:这是因为show_keyboard是没有参数的,说明在1.8.0的代码在Android平台上没有维护好

解决方法:

找到core\window\window_pygame.py的425,将android.show_keyboard(target,input_type)改成:android.show_keyboard()

异常二:ImportError:Nomodulenamedpygments

原因:没有安装pygments

解决方法:

在python-for-android\recipes目录下新建pygments目录,在目录下创建recipe.sh,内容如下:

#!/bin/bashVERSION_pygments=${VERSION_pygments:-1.6}URL_pygments=http://pypi.python.org/packages/source/P/Pygments/Pygments-$VERSION_pygments.tar.gzMD5_pygments=BUILD_pygments=$BUILD_PATH/pygments/$(get_directory $URL_pygments)RECIPE_pygments=$RECIPES_PATH/pygmentsfunction prebuild_pygments() {  true}function shouldbuild_pygments() {  if [ -d "$SITEPACKAGES_PATH/pygments" ]; then     DO_BUILD=0  fi}function build_pygments() {  cd $BUILD_pygments  push_arm  try $HOSTPYTHON setup.py install -O2  unset LDSHARED  pop_arm}function postbuild_pygments() {  true}


然后重新编译:

./distribute.sh -m 'openssl pyjnius pygments docutils pil kivy'


注意,这里还加了一个docutils的python模块的编译,如果不加上的话,会出现和pygments类似的异常,只是docutils默认已经在recipes下存在了,所以只要编译即可。

注:(关于编译的详细教程请看《Kivy a to z -- Kivy的编译环境的搭建以及编译和运行》)

异常三:ImportError:Nomodulenameddocutils

原因:没有安装docutils

解决方法:解决方法见异常二

异常四:在点击文本框时出现异常:AttributeError:'KivyRenderTextInput'objecthasnoattribute'cursor_color'

原因:kivy\data\style.kv使用了未定义的属性

解决方法:

找到kivy\data\style.kv的162行,替换:

 rgba: (self.cursor_color if self.focus and not self.cursor_blink else (0, 0, 0, 0)) 

为:

rgba: (1, 0, 0, 1 if self.focus and not self.cursor_blink else 0)

以上四个异常处理完后需重新编译:

./distribute.sh -m 'openssl pyjnius pygments docutils pil kivy'

最后,来看下在Android平台上运行起来的Kivycatalog例子:

Kivy A to Z -- Kivycatalog例子无法在Android平台上运行及异常的解决方法_第1张图片

更多相关文章

  1. android的手势识别例子
  2. 使用Android Studio调试Android Framework代码
  3. Linux手机打电话代码分析
  4. android 工程里缺少 R.java 文件原因和解决方法
  5. 将服务器端字符读取至android的文本控件,换行符变成了黑方块的原
  6. Android软件广告屏蔽方法及代码
  7. Fix one bug in Android 官方提供的例子
  8. Android studio使用技巧(二:国际化以及代码重构)

随机推荐

  1. android Json解析——揭开json解析的神秘
  2. 解决android sdk中找不到tools目录Androi
  3. android 开发小记
  4. Android 6.0权限动态获取
  5. Android(安卓)Window类解析
  6. android 开发-Process and Thread
  7. cxf android客户端简单访问
  8. android volley https
  9. Ubuntu 14.04烧Nexus 5手机
  10. 修改文件夹权限