Kivy A to Z -- Android apk的生成过程

时间:2022-02-07 20:24:42

  1. 在《Kivy的编译环境的搭建以及编译和运行》一文中,我们通过以下命令生成apk文件:

../../build/hostpython/Python-2.7.2/hostpython build.py --package org.test.touchtracer --name touchtracer --version 1.0 --dir ../../build/kivy/kivy-stable/examples/demo/touchtracer debug

 

2. 该命令调用了dist/build目录下的build.py脚本

 

3. 我们先来分析一下上面的命令行:

 

--package org.test.touchtracer    包名称

 

--name touchtracer  项目名称

 

--version 1.0   版本号

 

--dir ../../build/kivy/kivy-stable/examples/demo/touchtracer    要打包的Python代码目录

 

debug   编译成debug版本

 

4. 实际上,build.py还有更多的参数

 

5. 下面来分析一下这个脚本,代码量不多,400多行

 

6. 首先是解析命令行参数

 

7. 然后读取blacklist.txt,用于过滤不需要的文件

 

8. 接下来就是调用make_package生成apk

 

9. 接下来看下make_package做了什么

 

10. 调用render函数从dist/default/templates下相应的模板生成如下文件:

 

 AndroidManifest.xml

 

 src/org/renpy/android/Configuration.java

 

 build.xml

 

 res/values/strings.xml

 

11. 调用android更新工程到最新版本

 

12. 调用生成public.mp3

13. 调用make_tar生成private.mp3

 

14. 以上两个过程都会根据blacklist来过滤掉不需要的文件

 

15. 最后,调用ant生成最终的apk

 

16. 好,到这里,整个代码就分析完了,整个过程还算是比较简单的,这下心里的疑问又少了很多

 

(完)