Android APK 手动命令编译、打包、签名步骤

转:http://blog.csdn.net/xmobile/article/details/7979210

一、概述步骤

APK的生成需要经过以下几个步骤:

1、使用Android SDK提供的aapt.exe生成R.java类文件

2、使用Android SDK提供的aidl.exe把.aidl转成.java文件(如果没有aidl,则跳过这一步)

3、使用JDK提供的javac.exe编译.java类文件生成class文件

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

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

6、使用Android SDK提供的apkbuilder.bat生成未签名的apk安装文件

7、使用jdk的jarsigner.exe对未签名的包进行apk签名

 

 

二、详细步骤

1)、准备工作

         A、安装好JDK,配置环境变量;

         B、将android-sdk-windows\platform-tools和 android-sdk-windows\tools 添加到CLASSPATH 环境变量中;

         C、打CMD命令行界面,将当前目录切换到工程所在目录;

         D、准备一个目录,以下例子是以MyNotification项目;

 

 

2)、使用aapt生成R.java类,aapt所在路径android-sdk-windows\platform-tools\aapt.exe。

aapt package -f-m -J gen -S res -M AndroidManifest.xml -IF:\Android\Installs\android-sdk-windows\platforms\android-9\android.jar

说明:-J后面跟的是生成目录;-S后面跟的是资源目录;-M后面跟的是AndroidManifest.xml;-I后面跟的是使用的AndroidAPI的jar

 

 

 

3)、使用aidl把.aidl转成.java文件(如果没有aidl,则跳过这一步),aidl所在路径android-sdk-windows\platform-tools\aidl.exe。

 

 

 

4)、javac.exe编译.java类文件生成class文件,javac所在路径jdk1.6.0_33\bin\javac.exe。

javac -encodingutf-8 -target 1.6 -d bin -bootclasspathF:\Android\Installs\android-sdk-windows\platforms\android-9\android.jargen\com\my\notification\*.java src\com\my\notification\*.java

         说明:-target:生成特定 VM 版本的类文件;-d:指定存放生成的类文件的位置;-bootclasspath:覆盖引导类文件的位置;

 

 

 

5)、使用dx.bat命令行脚本生成classes.dex文件,dx.bat所在路径android-sdk-windows\platform-tools\dx.bat。

         dx.bat--dex --output=F:\Android\Workspace\MyNotification\bin\classes.dex F:\Android\Workspace\MyNotification\bin\

         说明:--output:生成的dex文件;最后带上class文件所在目录;

 

 

 

6)、使用aapt.exe生成资源包文件,aapt.exe所在路径android-sdk-windows\platform-tools\aapt.exe。

         aaptpackage -f -S res -M AndroidManifest.xml -IF:\Android\Installs\android-sdk-windows\platforms\android-9\android.jar -FF:\Android\Workspace\MyNotification\bin\resources.ap_

         说明:-S:资源目录;-M:AndroidManifest.xml文件;-I:导入用的jar文件;-F:生成的资源文件;

 

 

 

7)、使用apkbuilder.bat生成未签名的apk安装文件,apkbuilder.bat所在路径android-sdk-windows\tools\apkbuilder.bat。(使用该命令时:会提示该工具已过时,Google不推荐使用。而推荐使用的是:com.android.ant.ApkBuilderTask)

         apkbuilderF:\Android\Workspace\MyNotification\bin\MyNotification.apk -u -zF:\Android\Workspace\MyNotification\bin\resources.ap_ -fF:\Android\Workspace\MyNotification\bin\classes.dex -rfF:\Android\Workspace\MyNotification\src\

         说明:-z:资源打包文件;-f:类打包文件;-rf:源代码目录;

 

 

 

8)、使用jarsigner.exe对未签名的包进行apk签名,jarsigner.exe所在路径jdk1.6.0_33\bin\jarsigner.exe。

jarsigner-verbose -keystore D:\my.kestore -signedjarF:\Android\Workspace\MyNotification\bin\signed.apk F:\Android\Workspace\MyNotification\bin\MyNotification.apkmy.keystore

说明:-keystore:keystore文件;-signedjar:签名后的文件;后面还有未签名文件和key的alias

 

posted @ 2016-01-04 12:17  nick_leeli  阅读(2268)  评论(0编辑  收藏  举报