命令行编译android apk_第1张图片

【详细步骤】:

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:
命令行编译android apk_第2张图片

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
命令行编译android apk_第3张图片

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

命令行编译android apk_第4张图片
例:
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}
命令行编译android apk_第5张图片
例:
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为未签名的文件。

更多相关文章

  1. Android学习笔记之mainfest文件中android属性 .
  2. 修改Android中Layout布局文件字体的大小
  3. android处理大图片内存溢出的简单办法
  4. android获取图片和视频的缩略图
  5. Android:TextView与EditText中插入表情图片
  6. Dealing with Asset Compression in Android Apps(避免asset目录
  7. android设置背景图片,去除背景图片
  8. Android 图片处理工具类封装

随机推荐

  1. Android(安卓)——游戏开发之文字冒险游
  2. WebView的使用(基本篇)
  3. flutter使用C代码库----android篇
  4. Android内存泄漏的八种可能(上)
  5. Android过滤特殊字符和emoji表情
  6. Android(安卓)Drawable之GradientDrawabl
  7. Android(安卓)shape使用笔记
  8. Android--电商首页的分页导航
  9. Android(安卓)实现button点击效果的两种
  10. android之视频播放系统VideoView和自定义