天天看点

手动编译和签名打包apk文件

我的myeclipse不知道怎么的,android项目不能导出unsigned和signed的apk文件,一点就报occur error,什么提示都没给,没办法,只能自己手动搞了。

主要步骤:

1、生成未签名的apk

aapt package -f -S <res路径> -I <android.jar路径> -A <assert路径> -M <AndroidManifest.xml路径> -F <输出的包目录+包名>

aapt p -f -S D:\project\ironproject\res -I D:\DevelopTools\MyEclipse\soft\android-sdk-windows\platforms\android-10\android.jar -A D:\project\ironproject\assets -M D:\project\ironproject\AndroidManifest.xml -F d:\ironproject.apk

因为MyEclipse把这些文件都编译好了,这步只要把这些文件打包就行。

2、生成秘钥文件

keytool -genkey -alias bjgcdq -keypass a5673494b -keyalg RSA -keysize 1024 -validity 3650 -keystore d:\core\bjgcdqkey.keystore -storepass a5673494b

3、给apk签名

jarsigner -keystore d:\core\bjgcdqkey.keystore -storepass a5673494b -keypass a5673494b  d:\core\ironproject.apk bjgcdq

4、验证签名

jarsigner -verify -verbose <your_jar_name>

5、对齐优化apk

zipalign -v 4 demo_signed.apk final.apk

几点东西

1、jdk的版本需要1.6的版本,一开始用的1.7版本,都弄好了就是安装在手机上时老报错。

2、第一步生成的apk里面没有classes.dex文件,手动把这个文件放入apk中的。。。此时报错

INSTALL_FAILED_DEXOPT

3、这些步骤可以用ant做。

继续阅读