android 命令打包
来源:互联网 发布:时代创联的网络商学院 编辑:程序博客网 时间:2024/06/05 04:21
所以久而久之很多人都不会最基础的打包方式,现在就来捋顺关系
首先是步骤 ,网上最少有三步,最多有8步,其中一些函数都已经被废弃,所以,笔者选择比较通用的6步
1.用aapt命令生成R.java文件
2.用javac命令编译java源文件生成class文件
3.用dx.bat将class文件转换成classes.dex文件
4.用aapt命令生成资源包文件resources.ap_
5.生成未签名的apk(sdk更新3.0以后貌似apkbuilder已经被删除了,所以笔者不用apkbuilder)
6.用jarsinger命令对apk认证,生成signed.apk
下面介绍笔者的实施背景
1.target以20为例,其中android.jar的地址为E:\adt-bundle-windows-x86_64-20140702\sdk\platforms\android-20\android.jar
2.项目为learn723(不要问为什么是这个名字,我测试了才成功几十遍我会说!!!),建立完成之后的复制出来,地址为E:\Workspace
3.SDK为E:\adt-bundle-windows-x86_64-20140702\sdk
4.密匙地址E:\keystore(不会设密匙的后面会有脑补地址)
首先第一步
1
aapt
package
-f -m -J ./gen -S res -M AndroidManifest.xml -I E:\adt-bundle-windows-x86_64-
20140702
\sdk\platforms\android-
20
\android.jar
-f 如果编译生成的文件已经存在,强制覆盖。
-m 使生成的包的目录存放在-J参数指定的目录
-J 指定生成的R.java 的输出目录路径
-S 指定res文件夹的路径
-I 指定某个版本平台的android.jar文件的路径
-A 指定assert文件夹的路径
这里要注意,可能会报缺失资源的错误,这里需要确保的是,建立项目是最低版本不能低于4.0,否则就会缺失资源
第二步
1
javac -bootclasspath E:\adt-bundle-windows-x86_64-
20140702
\sdk\platforms\android-
20
\android.jar -d bin src\com\example\learn723\*.java gen\com\example\learn723\R.java
-target <版本> 生成特定 VM 版本的类文件
-bootclasspath <路径> 覆盖引导类文件的位置
-d <目录> 指定存放生成的类文件的位置
-sourcepath <路径> 指定查找输入源文件的位置
这里没什么要注意的,好吧,你的程序不能出错,或者得设置环境变量(废话)
第三步
1
dx --dex --output=E:\Workspace\learn723\bin\classes.dex E:\Workspace\learn723\bin\classes
--output=<要生成的classes.dex路径> <要处理的class文件的路径>
这里要注意前后两者的地址不统一,一个是bin,一个是bin\class,这里是个很重要的不同,笔者就是在这里花费了一个中午的时间(午觉!!!)虽然在已有的地方都是bin,但通过笔者和同事的亲测,两个都是bin的话可能会出现
1
aapt
package
-f -M AndroidManifest.xml -S res -I
2
E:\adt-bundle-windows-x86_64-
20140702
\sdk\platforms\android-
20
\android.jar -F bin\resources.ap_
-f 如果编译生成的文件已经存在,强制覆盖
-M 指定AndroidManifest.xml的路径
-S 指定res文件夹路径
-I 指定某个版本平台的android.jar的路径
-F 指定输出文件完整路径
1
java -cp E:\adt-bundle-windows-x86_64-
20140702
\sdk\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain learn723.apk -v -u -z bin\resources.ap_ -f bin\classes.dex -rf src
这里不能用 apkbuilder命令!!!
1
jarsigner -verbose -keystore mydemo.keystore -signedjar -learn723s.apk E:\Workspace\learn723\learn723.apk mydemo.keystore
- Android打包命令
- Android 签名打包命令
- android git 打包命令
- android 命令打包
- android几个快速打包命令
- android studio命令打包(gradle)
- Android生成打包的签名文件命令
- android 打包相关命令和参数
- Android打包的相关工具和命令
- React native Android 命令 打包apk
- Android解包命令:unpackbootimg与打包命令:mkbootimg使用
- Android解包命令:unpackbootimg与打包命令:mkbootimg使用
- 打包命令
- 打包命令
- 打包命令
- android 不使用eclipse 生成android 和打包的 命令
- Android APK 手动命令编译、打包、签名步骤
- android 编译模块及打包system.img命令
- mqtt连接断开,(32109) - java.io.EOFException错误
- 目标跟踪算法的分类(三)
- caffe数据格式(Google Protocol Buffers)
- 获取真正的进程/线程句柄
- 句子的理解
- android 命令打包
- 75. Sort Colors
- Android单元测试
- redis 与 memcache的区别
- 带搜索框及快速索引的联系人列表
- jsp页面知识
- 负数的二进制如何转化为十进制
- 同步提交
- ThreadLocal