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

  • Post author:
  • Post category:其他


一、概述步骤

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.aapt package -f -m -J kingworld/gen/ -S kingworld/res/ -I /local/tools/android-sdk-linux_x86/platforms/android-10/android.jar -M kingworld/AndroidManifest.xml

2.使用android SDK提供的aidl.exe把.aidl转成.java文件(optional)

usage: aidl OPTIONS INPUT [OUTPUT]

aidl –preprocess OUTPUT INPUT

3.javac -encoding UTF-8 -target 1.6 -bootclasspath /local/tools/android-sdk-linux_x86/platforms/android-10/android.jar -d kingworld/bin kingworld/src/com/android/xhliu/*.java kingworld/gen/com/android/xhliu/R.java

4.mkdir classes

jar cvf classes/kingworld.jar kingworld/bin/com/android/xhliu/*.*

5.dx –dex –no-strict –output=classes.dex kingworkd.jar

6.aapt package -f -M AndroidManifest.xml -S res -A assets -I /local/tools/android-sdk-linux_x86/platforms/android-10/android.jar  -F bin/kingworld-res.apk

7.apkbuilder  ${output.apk.file} -u -z  ${packagedresource.file} -f  ${dex.file}  -rf  ${source.dir}  -rj  ${libraries.dir}

apkbuilder kingworld.apk -v -u -z kingworld-res.apk -f ../classes/classes.dex  -rf ../src/

8.使用jdk的jarsigner对未签名的包进行apk签名:

jarsigner  -keystore ${keystore} -storepass  ${keystore.password} -keypass ${keypass} -signedjar ${signed.apkfile} ${unsigned.apkfile} ${keyalias}

Android签名用keytool和jarsigner制作apk文件

Android程序的签名和Symbian类似都可以自签名(Self-signed),但是在Android平台中证书初期还显得形同虚设,平时开发时通过ADB接口上传的程序会自动被签有Debug权限的程序。需要签名验证在上传程序到Android Market上时大家都已经发现这个问题了。Android signed制作方法

$keytool -genkey

-v -keystore android123.keystore

-alias android123.keystore  -keyalg RSA -validity 20000



版权声明:本文为lmaritime原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。