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. 好,到这里,整个代码就分析完了,整个过程还算是比较简单的,这下心里的疑问又少了很多

 

(完)

 

更多相关文章

  1. Mac下关于The "android" command is deprecated.问题解决
  2. 睡眠唤醒机制简介
  3. onAttachToWindow() 调用
  4. Android中文API(138) —— RemoteViews
  5. Android(安卓)中各种XML文件的作用
  6. Window下android 模拟器SD卡的使用方法
  7. Android性能优化(5):APK瘦身优化
  8. Android(安卓)Google Map应用开发详解
  9. NPM 和webpack 的基础使用

随机推荐

  1. Android学习笔记--实现帧动画
  2. Android开机log和常见异常的分析
  3. android:configChanges 横竖屏切换的生命
  4. ListView使用技巧(二):相关设置
  5. Android事件处理第一节(View对Touch事件的
  6. 精通Android
  7. Android菜鸟日记24-android小技巧
  8. Android抓包指南②: DevTools+WebViewDeb
  9. 利用Handler来更新android的UI(1)
  10. Android开发艺术探索读书笔记(第二章)