aapt: android application package tool,SDK
(Android打包流程图)
#Android打包流程
1.通过aapt工具将 资源文件(res)、清单文件(AndroidManifest.xml)生成对应的R.java文件
* 在项目的根目录下新建 gen目录,并且依次在gen目录下新建清单文件总包名对应的文件目录
> 例如: 清单文件中包名是org.zdc.android,那么就在gen目录中新建目录结构为
> gen/org/zdc/android
* 通过命令生成R.java
aapt package -f -m -J [gen目录] -S [res目录] -I [android.jar目录] -M [AndroidManifest.xml目录]
2. 通过aidl工具 将 aidl文件转化为java文件
aidl -I[src目录] -p[aidl框架环境文件(framework.aidl)] -o[aidl输出目录(gen)] [要转换的aidl文件(your.aidl)]
3. 通过javac工具,将*.java文件转化为*.class文件
javac -encoding [编码] -target [版本(1.6 or 1.7)] -bootclasspath [android.jar] -cp [依赖的jar(多个用;隔开;结尾)] -d [class文件输出目录] [要编译的java文件(多个用空格分开)]
4. 将libs下的jar解压到输出目录中
jar xvf [jar文件]
5. 通过dex命令 将class文件转换为dex文件
dx.bat --dex --output=[全路径的输出文件(classes.dex)] [全路径的class文件对应的目录]
> [全路径的class文件对应的目录] : 如果此目录依赖了其他的jar文件,需要用 `|`分隔开
> 命令: dex.bat --dex --output=输出路径 需要转换的class文件对应的路径
6. 通过aapt工具生成资源文件包
aapt package -f -M [清单文件(AndroidManifest.xml)] -S [资源文件目录(res)] -A [资产文件目录(assets)] -I [android环境jar(android.jar)] -F [输出的文件(resoures.ap_)]
7. 生成未签名的apk安装文件
apkbuilder [apk输出路径] -u -z [打包好的资源文件全路径] -f [全路径dex文件] -rf [src全路径] -rj [全路径的libs目录]
8. 生成签名的apk安装文件
* 生成签名文件
keytool -genkeypair -alias zdc -keyalg RSA -validity 3650 -keypass 123456 -storepass 123456 -keystore zdc.keystore
> -alias : 签名的别名
> -validity : 签名的时效
> -keyalg : 加密的算法,一般都用RSA
> -keystore : 生成的签名路径
> -keypass : 密钥库的密码
> -storepass :密钥的密码
* 通过签名文件给apk文件进行签名