博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 命令行手动编译打包详解
阅读量:2359 次
发布时间:2019-05-10

本文共 3155 字,大约阅读时间需要 10 分钟。

Android 命令行手动编译打包过程图 

 



【详细步骤】: 


1使用aapt生成R.java类文件: 

例: 

F:\explorer\android-sdk-windows2.2\tools>f:\explorer\android-sdk-windows2.2\platforms\android-3\tools\aapt.exe package -f -m -J F:\explorer\AndroidByread\gen -S res -I f:\explorer\android-sdk-windows2.2\platforms\android-3\android.jar -M AndroidManifest.xml 

其中  -f -m -J F:\explorer\AndroidByread\gen 代表按覆盖的形式在gen目录下生成带包路径的R.java,-S res指定资源文件 ,-I f:\explorer\android-sdk-windows2.2\platforms\android-3\android.jar 指定使用的android类,-M AndroidManifest.xml指定程序的配置文件 


aapt Usage: 

 



2使用android SDK提供的aidl.exe把.aidl转成.java文件: 

usage: aidl OPTIONS INPUT [OUTPUT] 

       aidl --preprocess OUTPUT INPUT... 


OPTIONS: 

   -I<DIR>    search path for import statements. 

   -d<FILE>   generate dependency file. 

   -p<FILE>   file created by --preprocess to import. 

   -o<FOLDER> base output folder for generated files. 

   -b         fail when trying to compile a parcelable. 


INPUT: 

   An aidl interface file. 


OUTPUT: 

   The generated interface files. 




3第三步 编译.java类文件生成class文件: 

例:F:\explorer\AndroidByread>javac -encoding GB18030 -target 1.5 -bootclasspath F:\explorer\android-sdk-windows2.2\platforms\android-3\android.jar -d bin src\com\byread\reader\*.java gen\com\byread\reader\R.java 

 



4使用android SDK提供的dx.bat命令行脚本生成classes.dex文件: 

 

例: 

F:\explorer\AndroidByread>F:\explorer\android-sdk-windows2.2\platforms\android-3\tools\dx.bat --dex --output=F:\explorer\AndroidByread\bin\classes.dex f:\explorer\AndroidByread\bin\classes 

其中classes.dex为生成的目标文件,f:\explorer\AndroidByread\bin\classes为class文件所在目录 


5使用Android SDK提供的aapt.exe生成资源包文件(包括res、assets、androidmanifest.xml等): 

F:\explorer\AndroidByread>F:\explorer\android-sdk-windows2.2\platforms\android-3\tools\aapt.exe package -f -M AndroidManifest.xml -S res -A assets -I F:\explorer\android-sdk-windows2.2\platforms\android-3\android.jar -F bin\byreadreader 

将AndroidManifest.xml,res和assets文件夹中的资源文件打包生成byreadreader,用法参见1 


6第六步 生成未签名的apk安装文件: 

apkbuilder  ${output.apk.file} -u -z  ${packagedresource.file} -f  ${dex.file}  -rf  ${source.dir}  -rj  ${libraries.dir} 

 

例: 

F:\explorer\AndroidByread>f:\explorer\android-sdk-windows2.2\tools\apkbuilder.bat f:\explorer\byreadreader.apk –v -u -z f:\explorer\AndroidByread\bin\byreadreader -f f:\explorer\AndroidByread\bin\class.dex -rf F:\explorer\AndroidByread\src 

其中f:\explorer\byreadreader.apk为生成的apk ,-z f:\explorer\AndroidByread\bin\byreadreader为资源包,f:\explorer\AndroidByread\bin\class.dex为类文件包 



7使用jdk的jarsigner对未签名的包进行apk签名: 

use jarsigner 

jarsigner  -keystore ${keystore} -storepass  ${keystore.password} -keypass ${keypass} -signedjar ${signed.apkfile} ${unsigned.apkfile} ${keyalias} 

例如: 

F:\explorer\android-sdk-windows2.2\tools>jarsigner –keystore f:\explorer\eclipse3.5\bbyread.keystore -storepass byread002 -keypass byread002 -signedjar f:\explorer\byread.apk f:\explorer\byreadreader.apk byread 

其中–keystore f:\explorer\eclipse3.5\bbyread.keystore 为密钥文件  -storepass byread002为密钥文件密码 byread 为密钥别名 -keypass byread002为密钥别名密码,-signedjar f:\explorer\byread.apk为签名后生成的apk文件 f:\explorer\byreadreader.apk为未签名的文件。 


参考:http://asantoso.wordpress.com/2009/09/15/how-to-build-android-application-package-apk-from-the-command-line-using-the-sdk-tools-continuously-integrated-using-cruisecontrol/ 

原文:

转载地址:http://poitb.baihongyu.com/

你可能感兴趣的文章
运行chrome ui
查看>>
webkit在win32下的编译规则(三)
查看>>
(记录贴)Docker构建Tomcat、Nginx、Haproxy、Mysql集群
查看>>
(记录贴)Docker搭建GitLab代码管理
查看>>
(记录贴)记Docker搭建PXC集群的一个坑点
查看>>
手写一个简单RPC
查看>>
安卓虚拟定位实现与反作弊思路
查看>>
[记录]内部方法之间调用AOP无效解决方法
查看>>
三分钟掌握synchronized锁升级过程
查看>>
服务治理
查看>>
做一个文字识别小程序原来这么简单?
查看>>
三分钟掌握ACID、脏读、幻读、不可重复读、事务隔离级别
查看>>
三分钟掌握数据库缓存双写一致性
查看>>
sql 分组统计topN
查看>>
三分钟理解ThreadLocal的弱引用与内存泄露
查看>>
cms重新标记和g1最终标记的区别
查看>>
K8S环境中NAS卷添加noresvport方法
查看>>
使用Quick BI连接AnalyticDB for PostgreSQL数据源
查看>>
开源背后 | 面对端侧推理引擎的挑战,阿里工程师如何应对?
查看>>
容器十年 ——一部软件交付编年史
查看>>