虽然现在ant打包已经不是那么流行,但是为了给初学者一些帮助,还是写一些详细的方法出来
最原始的方法:使用命令行方式
天龙八部开始了
第一部 : 命令行生成R文件
aapt package -f[是否覆盖] -m[打包资源文件目录] -J [R文件目录(gen)] -S [资源文件目录(res)] -I [android环境jar(android.jar)] -M [清单文件(AndroidManifest.xml)]
在项目目录下创建一多级文件夹 gen\com\example\cmddemo
执行命令 aapt p -f -m -J gen -S res -I G:\android-sdk\platforms\android-23\android.jar -M AndroidManifest.xml
当然要配好环境变量
第二部 : 命令行生成生成AILD
aidl -I[项目的源文件目录(src)] -p[aidl框架环境文件(framework.aidl)] -o[aidl输出目录(gen)] [要转换的aidl文件(your.aidl)]
/*
C:\Users\fan\Desktop\MobileSafe>aidl -Isrc -pG:android-sdk\platforms\android-23\
framework.aidl -ogen src\android\telephony\NeighboringCellInfo.aidl
*/
第三部 : 命令行生成生.class文件
javac -encoding utf-8 -bootclasspath G:android-sdk\platforms\android-23\android.jar -cp
libs\android-support-v4.jar -d build\classes gen\com\example\cmddemo\R.java
第四部 : 将libs下的jar解压到输出目录中 记得创建一个build\clases多层文件夹
C:\Users\fan\Desktop\ant\cmd\CMDDemo\build\classes>jar xvf ….\libs\android-su
pport-v4.jar
第五部将.class打包成.dex文件
x.bat –dex –output=[全路径的输出文件(classes.dex)] [全路径的class文件对应的目录]
[全路径的class文件对应的目录] : 如果此目录依赖了其他的jar文件,需要用
|
分隔开>命令: dex.bat –dex –output=输出路径 需要转换的class文件对应的路径
/*
C:\Users\fan\Desktop\ant\cmd\CMDDemo>dx –dex –output=C:\Users\fan\Desktop\ant\
cmd\CMDDemo\build\bin\classes.dex C:\Users\fan\Desktop\ant\cmd\CMDDemo\build\cla
sses
*/
第六部通过aapt工具生成资源文件包
aapt package -f -M [清单文件(AndroidManifest.xml)] -S [资源文件目录(res)] -A [资产文件目录(assets)]
-I [android环境jar(android.jar)] -F [输出的文件(resoures.ap_)]
/*
C:\Users\fan\Desktop\ant\cmd\CMDDemo>aapt p -f -M AndroidManifest.xml -S res -A
assets -I G:android-sdk\platforms\android-23\android.jar -F build\bin\resources.ap_
*/
第七部生成未签名的apk安装文件
apkbuilder [输出的全路径apk] -u -z [全路径打包好的资源文件包] -f [全路径dex文件]
-rf [全路径的src目录] -rj [全路径的libs目录]
/*
C:\Users\fan\Desktop\ant\cmd\CMDDemo>apkbuilder C:\Users\fan\Desktop\ant\cmd\CMD
Demo\build\bin\CMDDEMO_unsigned.apk -u -z C:\Users\fan\Desktop\ant\cmd\CMDDemo\b
uild\bin\resources.ap_ -f C:\Users\fan\Desktop\ant\cmd\CMDDemo\build\bin\classes
.dex -rf C:\Users\fan\Desktop\ant\cmd\CMDDemo\src -rj C:\Users\fan\Desktop\ant\c
md\CMDDemo\libs
*
第八部
通过签名文件给apk文件进行签名
/*
jarsigner -keystore 签名文件 -storepass 签名文件的密码 -keypass 签名密码 -signedjar 生成的签名文件 未签名的文件 签名的别名
查找别名: keytool -list -keystore ancely.keystore -v
*/