android打包批处理
来源:互联网 发布:中岛美嘉长相知乎 编辑:程序博客网 时间:2024/05/01 15:21
第一步 生成R.java资源文件
1
@aapt package -f -m -J %ROOT%\gen -S %PATH_PROJECT%\res -I %PATH_SDK_PLATFORM%\android.jar -M %PATH_PROJECT%\AndroidManifest.xml
这里我们自动将资源文件res(-S)生成 R.java文件并存放到 gen目录下(-m -J),当然我们还需要android.jar的API库(-I)跟android的配置文件AndroidManifest.xml(-M)的协助,并且设置为强制覆盖不询问形式(-f)
第二步 编译java文件
1
@javac -encoding GB18030 -target 1.6 -bootclasspath %PATH_SDK_PLATFORM%\android.jar -d %ROOT%\classes %PATH_PROJECT%\src\%PATH_PACKAGE%\*.java %ROOT%\gen\%PATH_PACKAGE%\R.java
第三步 打包.class文件
1
@call dx --dex --output=%ROOT%\classes.dex %ROOT%\classes
将编译好的.class文件打包成classes.dex二进制执行文件。
第四步 打包资源文件
1
@aapt package -f -M %PATH_PROJECT%\AndroidManifest.xml -S %PATH_PROJECT%\res -A %ROOT%\assets -I %PATH_SDK_PLATFORM%\android.jar -F %ROOT%\resources.ap_
选中AndroidManifest.xml (-M), 资源文件夹res(-S) 跟 assets(-A),加上Android的API库(-I),一起打包输出到resources.ap_ 文件中(-F)。
第五步 打包APK文件
1
@call apkbuilder %ROOT%\unsigned.apk -u -z %ROOT%\resources.ap_ -f %ROOT%\classes.dex
将资源文件包resources.ap_跟二进制文件包classes.dex一起打包成未签名的apk压缩包 unsign.apk。
第六步 签名
1
@java -jar %PATH_SIGN%\signapk.jar %PATH_SIGN%\testkey.x509.pem %PATH_SIGN%\testkey.pk8 unsigned.apk android.apk
目录结构
1
2
3
4
5
6
7
8
9
10
11
12
13
+autoPackage (根目录)
-+androidProject (工程目录)
---(一个普通的工程目录,不赘述)
-+platform (Android.jar目录)
---android.jar (用了Android 2.2的platform)
-+sign (签名文件目录)
---signapk.jar (在源码\platform\build\tools\signapk目录下)
---testkey.pk8 (在源码\platform\build\target\product\security目录下)
---testkey.x509.pem (在源码\platform\build\target\product\security目录下)
--run.bat (批处理文件)
--icon-36.png (低分辨率ICON)
--icon-48.png (中分辨率ICON)
--icon-72.png (高分辨率ICON)
对应需求、目录及流程写出批处理脚本 run.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@title Auto package And Sign
@echo ******************************* start *********************************
@set ROOT=C:\autoPackage
@set PATH_PACKAGE=com\isfeel\autopackage
@set PATH_SDK_PLATFORM=%ROOT%\platform
@set PATH_SIGN=%ROOT%\sign
@set PATH_PROJECT=%ROOT%\androidProject
@del %ROOT%\android.apk
@mkdir bin gen classes assets
@copy /Y icon-72.png %PATH_PROJECT%\res\drawable-hdpi\icon.png
@copy /Y icon-48.png %PATH_PROJECT%\res\drawable-mdpi\icon.png
@copy /Y icon-36.png %PATH_PROJECT%\res\drawable-ldpi\icon.png
@aapt package -f -m -J %ROOT%\gen -S %PATH_PROJECT%\res -I %PATH_SDK_PLATFORM%\android.jar -M %PATH_PROJECT%\AndroidManifest.xml
@javac -encoding GB18030 -target 1.6 -bootclasspath %PATH_SDK_PLATFORM%\android.jar -d %ROOT%\classes %PATH_PROJECT%\src\%PATH_PACKAGE%\*.java %ROOT%\gen\%PATH_PACKAGE%\R.java
@call dx --dex --output=%ROOT%\classes.dex %ROOT%\classes
@aapt package -f -M %PATH_PROJECT%\AndroidManifest.xml -S %PATH_PROJECT%\res -A %ROOT%\assets -I %PATH_SDK_PLATFORM%\android.jar -F %ROOT%\resources.ap_
@call apkbuilder %ROOT%\unsigned.apk -u -z %ROOT%\resources.ap_ -f %ROOT%\classes.dex
@java -jar %PATH_SIGN%\signapk.jar %PATH_SIGN%\testkey.x509.pem %PATH_SIGN%\testkey.pk8 unsigned.apk android.apk
@del %ROOT%\unsigned.apk %ROOT%\classes.dex %ROOT%\resources.ap_
@rmdir /s/q %ROOT%\bin %ROOT%\gen %ROOT%\classes %ROOT%\assets
@echo *********************** finished success! ******************************
@pause
@exit
0 0
- android打包批处理
- [Android] 自动打包批处理的实现
- Cocos2dx lua 关于android打包的批处理
- webstart 打包批处理
- 数据库打包批处理
- 文件压缩打包 批处理
- 打包和批处理
- 批处理打包文件例子
- cx_Freez打包Python批处理
- 自动打包批处理
- 网吧常用批处理打包下载
- 用批处理打包J2ME程序
- jar项目打包以及批处理
- 批处理TexturePacker指打包图
- 批处理一键打包apk
- 批处理打包 AssetBundle(一)
- 批处理自动打包升级包
- 手把手教你一步步用批处理程序打包你的android App
- 【HTTP】Fiddler(三)- Fiddler命令行和HTTP断点调试
- EXCEL中公式 VLOOKUP 的使用
- AS3中命名空间使用要点
- Ubuntu下为virtualbox设置共享文件夹,共享粘贴板,识别USB设备问题
- 几种任务调度的 Java 实现方法与比较
- android打包批处理
- [LeetCode] Add Two Numbers
- linux 网卡
- iOS中UIWebView的科学使用方法总结
- ubuntu 下察看进程端口
- 深入分析S3C2440启动代码中大小端问题
- C~数组对角线和之比
- 图像Filter之--层的滤镜
- Delphi下的文件夹遍历函数