使用命令行打包apk的过程
来源:互联网 发布:设计图纸软件下载 编辑:程序博客网 时间:2024/05/21 04:40
1. 使用aapt工具生成R.java文件
>aapt package -f -m -M e:\workspace5\ApkBuildDemos\AndroidManifest.xml -S e:\workspace5\ApkBuildDemos\res -I D:\adt-bundle-windows-x86-20130522\adt-bundle-windows-x86-20130522\sdk\platforms\android-17\android.jar -J e:\workspace5\ApkBuildDemos\gen
说明:
-f 如果编译生成的文件已经存在,强制覆盖。-m 使生成的包的目录存放在-J参数指定的目录-M 指定AndroidManifest.xml的完整路径-S 指定res文件夹的路径-I 指定某个版本平台的android.jar文件的路径2. 使用aidl工具将.aidl文件编译成.java文件
3. 使用javac工具将.java文件编译成.class文件
>javac -target 1.6 -bootclasspath D:\adt-bundle-windows-x86-20130522\adt-bundle-windows-x86-20130522\sdk\platforms\android-17\android.jar -d e:\workspace5\ApkBuildDemos\bin e:\workspace5\ApkBuildDemos\src\com\example\apkbuilddemos\MainActivity.java e:\workspace5\ApkBuildDemos\gen\com\example\apkbuilddemos\R.java
说明:
target <版本> 生成特定 VM 版本的类文件-bootclasspath <路径> 覆盖引导类文件的位置-d <目录> 指定存放生成的类文件的位置-s<源文件路径> 指定查找输入源文件的位置4.使用dx.bat批处理将众多.class文件转换成一个.dex文件
>dx --dex --output=E:\workspace5\ApkBuildDemos\bin\classes.dex e:\workspace5\ApkBuildDemos\bin\
说明:
–output=<要生成的classes.dex路径> <要处理的class文件的路径>
5. 使用aapt工具打包资源文件
>aapt package -f -M e:\workspace5\ApkBuildDemos\AndroidManifest.xml -S e:\workspace5\ApkBuildDemos\res-I D:\adt-bundle-windows-x86-20130522\adt-bundle-windows-x86-20130522\sdk\platforms\android-17\android.jar -F e:\workspace5\ApkBuildDemos\bin\resources.ap_
说明:
-f 如果编译生成的文件已经存在,强制覆盖-M 指定AndroidManifest.xml的路径-S 指定res文件夹路径-I 指定某个版本平台的android.jar的路径-A 指定assert文件夹的路径-F 指定输出文件完整路径6.打包成apk
C:\Program Files (x86)\Android\android-sdk-windows\tools>apkbuilder e:\workspace5\ApkBuildDemos\bin\ApkBuildDemos.apk -v
-u -z e:\workspace5\ApkBuildDemos\bin\resources.ap_ -f e:\workspace5\ApkBuildDemos\bin\classes.dex -rf e:\workspace5\ApkBuildDemos\src
说明:
-v Verbose 显示过程信息-u 创建一个无签名的包-z 指定apk资源路径-f 指定dex文件路径-rf 指定源码路径
7. 创建密钥
>keytool -genkey -alias release -keyalg RSA -validity 20000 -keystore release.keystore
-genkey 在用户主目录中创建一个默认文件”release.keystore”-alias 产生别名-keyalg 指定密钥的算法-validity 指定创建的证书有效期多少天-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中)
8. 签名
>jarsigner -verbose -keystore release.keystore -storepass 931628 -keypass 931628 -signedjar e:\workspace5\ApkBuildDemos\bin\ApkBuildDemos-Signed.apk E:\workspace5\ApkBuildDemos\bin\ApkBuildDemos.apk release
-verbose 签名/验证时输出详细信息-keystore 密钥库位置-storepass 用于密钥库完整性的口令-keypass 专用密钥的口令(如果不同)-signedjar 已签名的 JAR 文件的名称 (第一个apk是签名之后的文件, 第二个apk是需要签名的文件)
- 使用命令行打包apk的过程
- apk的打包过程
- ANT打包APK的过程
- [AIR] 打包生成APK的命令行
- 命令行打包apk文件
- apk 命令行打包
- [打包、发布] [Android]使用命令行打APK包
- 在mac上使用gradle命令行打包apk
- android apk的编译打包过程
- apk打包的过程和原理
- 手动打包apk,了解APK的生成过程
- apk打包过程图解
- apk打包过程
- APK打包过程
- Android apk打包过程
- APK 打包过程
- APK打包过程分析
- apk打包过程
- 【黑马程序员】黑马入学准备篇:Java高新技术之 泛型
- 用来获取指定类的所有祖先类的名称及其所在的单元名称。
- java连接字符串
- 重新学习C语言的getchar()函数以及某些体会
- Oracle数据库安装图解
- 使用命令行打包apk的过程
- SPI 学习总结
- Dollars+uva+简单dp
- USACO 之 Section 1.2 Complete Search
- ios 单例的写法
- Android数据库高手秘籍——使用LitePal升级表
- LAMP攻略之重新编译PHP安装扩展和GD库安装与配置
- 单片机项目-智能家居与无线组网通信
- vim 经典插件大全