现在的位置: 首页 > 综合 > 正文

Android 命令行手动编译打包详解

2013年09月19日 ⁄ 综合 ⁄ 共 1579字 ⁄ 字号 评论关闭

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

例: 
C:\Snake>aapt
p -f -m -J gen -S res -I android.jar -M AndroidManifest.xml

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

 

2.使用android
SDK提供的aidl.exe把.aidl转成.java文件(如无aidl接口文件可省略):

 

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

 

C:\Snake>javac -classpath android.jar -d bin src\com\example\android\snake\*.java gen\com\example\android\snake\R.java

 

-classpath android.jar 指定使用的android类包,-d bin指定生成的类文件的位置 ,后面的两个都是源文件.

 

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

C:\Snake>dx --dex --output=c:\snake\bin\classes.dex c:\snake\bin

 

第一个参数是生成的目标文件,第二个是class文件所在的目录(必须使用绝对路径)

 

5.生成应用程序apk文件:

C:\Snake>aapt p -f -F snake.apk -v -u -z -M AndroidManifest.xml -S res -A assets -I android.jar

用法同步骤1.

 

6.把前面生成的classes.dex文件压缩到apk文件,最终生成可运行的apk应用程序

C:\Snake>aapt add snake.apk bin\classes.dex

 

7.Android Apk 签名

Apk签名首先要有一个keystore的签名用的文件 。

keystore是由jdk自带的工具keytool生成的。

具体生成方式参考:

开始->运行 ->cmd->cd到你安装的jdk的目录里,我的是C:\Program Files\Java \jdk1.6.0_10\bin

然后输入:

keytool -genkey -alias asaiAndroid.keystore -keyalg RSA -validity 20000 -keystore asaiAndroid.keystore

-alias 后面跟的是别名这里是 asaiAndroid.store

-keyalg 是加密方式这里是RSA

-validity 是有效期 这里是20000

-keystore 就是要生成的keystore的名称 这里是asiAndroid.keystore

然后按回车键

按回车后首先会提示你输入的密码:这个在签名时要用的,要记住

然后会再确认你的密码。

之后会依次叫你输入姓名、组织单位、组织名称、城市区域、省份名称、国家代码 (CN)等。


开始签名。

在 C:\Program Files\Java\jdk1.6.0_10\bin 还提供一个工具 jarsigner.exe

运行命令给APK签名:

jarsigner -verbose -keystore asaiAndroid.keystore -signedjar Lotteryonline_signed.apk LotteryOnline.apk asaiAndroid.keystore

-keystore: keystore的名称

LotteryOnline_signed.apk: 签名后的APK

LotteryOnline.apk: 签名前的APK

然后按回车:会要求输入刚才设置 的密码,输入后按回车就开始签名了。

抱歉!评论已关闭.