Android命令行手动编译打包详解
- 博客分类:
- 技术杂绘
Android命令行手动编译打包详解
2011年05月25日
Android 命令行手动编译打包过程图
【详细步骤】:
Step1:使用aapt生成R.java类文件。
例:
F:\explorer\android-sdk-windows2.2\tools>f:\explore r\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\andro id-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\andro id-3\android.jar 指定使用的android类,-M AndroidManifest.xml指定程序的配置文件
aapt Usage:
Step2:使用android SDK提供的aidl.exe把.aidl转成.java文件:
usage: aidl OPTIONS INPUT [OUTPUT]
aidl --preprocess OUTPUT INPUT...
OPTIONS:
-I search path for import statements.
-d generate dependency file.
-p file created by --preprocess to import.
-o base output folder for generated files.
-b fail when trying to compile a parcelable.
INPUT:
An aidl interface file.
OUTPUT:
The generated interface files.
Step3:编译.java类文件生成class文件。
例:F:\explorer\AndroidByread>javac -encoding GB18030 -target 1.5 -bootclasspath F:\explorer\android-sdk-windows2.2\platforms\andro id-3\android.jar -d bin src\com\byread\reader\*.java gen\com\byread\reader\R.java
Step4:使用android SDK提供的dx.bat命令行脚本生成classes.dex文件。
例:
F:\explorer\AndroidByread>F:\explorer\android-sdk-w indows2.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文件所在目录
Step5:使用Android SDK提供的aapt.exe生成资源包文件(包括res、assets、androidmanifest.xml等)。
F:\explorer\AndroidByread>F:\explorer\android-sdk-w indows2.2\platforms\android-3\tools\aapt.exe package -f -M AndroidManifest.xml -S res -A assets -I F:\explorer\android-sdk-windows2.2\platforms\andro id-3\android.jar -F bin\byreadreader
将AndroidManifest.xml,res和assets文件夹中的资源文件打包生成byreadreader,用法参见1
Step6:生成未签名的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-w indows2.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为类文件包 Step7:使用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://jojol-zhou.iteye.com/blog/729254
发表评论
-
Android入门--写一个最简单的计算器
2012-01-20 02:51 791Android入门--写一个最简单的计算器 2011年04月 ... -
Android编译,打包、签名详细教程
2012-01-20 02:51 601Android编译,打包、签名详细教程 2011年05月25 ... -
Android中JNI编程的那些事儿
2012-01-20 02:51 943Android中JNI编程的那些事 ... -
As3.0 decompiler反编译器
2012-01-20 02:51 581As3.0 decompiler反编译器 2 ... -
神马都是浮云
2012-01-19 10:43 455神马都是浮云 2011年06月02日 心情突然莫名的伤感 ... -
汪汪,记住神马都是浮云、
2012-01-19 10:43 533汪汪,记住神马都是浮云、 2012年01月08日 神 ... -
神马都是浮云
2012-01-19 10:43 569神马都是浮云 2011年09月14日 2011 ... -
神马都是浮云
2012-01-19 10:43 540神马都是浮云 2011年12月30日 坎坷的2011即将 ... -
想开了,神马都是浮云
2012-01-19 10:43 503想开了,神马都是浮云 2012年01月09日 最近几日的 ... -
常见的硬盘内存问题的解决方案,ADSL错误代码
2012-01-17 03:14 475常见的硬盘内存问题的解决方案,ADSL错误代码 2011年0 ... -
折腾我N久的flash 8软件终于可以打开了
2012-01-17 03:14 757折腾我N久的flash 8软件 ... -
Erase flash,Erase NVRAM命令与
2012-01-17 03:14 2621Erase flash,Erase NVRAM命令与 201 ... -
电脑知识
2012-01-17 03:14 540电脑知识 2010年06月23日 ... -
掌握这些电脑知识,你可以玩的很无耻
2012-01-17 03:14 594掌握这些电脑知识,你可以玩的很无耻 2011年09月05日 ... -
东北话4-8级考试~东北人试试!
2012-01-16 01:48 669东北话4-8级考试~东北人试试! 2009年06月01日 ... -
看看你是个合格的东北人不
2012-01-16 01:48 934看看你是个合格的东北人不 2009年10月16日 安 ... -
够格东北人测试
2012-01-16 01:48 598够格东北人测试 2009年10月03日 [转] 看看你是 ... -
浅谈医院执行力不佳的原因
2012-01-16 01:48 597浅谈医院执行力不佳的 ... -
《阳光家族核心会议精神概要》
2012-01-16 01:48 667《阳光家族核心会议精神概要》 2011年12月06日 ... -
两个 AIR SQLite 例子
2012-01-11 01:41 627两个 AIR SQLite 例子 2011年09月01日 ...
相关推荐
这里详细的介绍了如何使用命令编译apk 签名 打包,很实用,如果你是Android开发者一定要知道如何编译签名apk
使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0
使用 VS2017的编译器,采用命令行方式编译qt的pro工程的示例工程 具体说明请查看 https://blog.csdn.net/shadow_2011/article/details/121082100 测试环境: Windows 10 + VS2017 + Qt 5.12.9
GCC编译命令 Gcc命令行详解 Gcc命令行详解 Gcc命令行详解
QT5.7.1命令行模式编译程序
android程序编译打包工具,可修改android程序的资源文件,并重新打包。
Android命令行下创建工程 Android命令行下创建工程 首先使用的是示例,具体实现如下: 1 使用NDK中的工具将源c/c++代码编译为库的文件形式,具体的环境配置有总结。进入工程文件所在目录,命令为:$ $NDK/ndk-build ...
Android编译过程详解
delphi命令行编译 delphi命令行编译 delphi命令行编译
Android compile principle
cmd命令行 手动编译Servlet.zip
Android反编译软件 安卓反编译 Android APK反编译详解,有详细说明,简单易学!
VC命令行编译C
通过ant脚本,编译打包android工程, 编译打包android工程的ant脚本。
vs2019命令行编译的四种库Debug-32位、Release-32位、Debug64位、Release-64位。都通过VS2019控制台应用测试功能正常。
delphi 命令行编译程序实例
来自Gradle官方网站,android studio 必备编译打包工具,很强大;内含打包工具及源代码
1. 适合把qt工程,通过命令行直接编译成exe; 2. 从头开始构建项目时,命令行编译和打包qt程序;
文章《使用.NET命令行编译器编译项目(如ASP.NET、C#等)》的实例代码。http://blog.csdn.net/wonsoft/archive/2009/03/07/3966144.aspx