zoukankan      html  css  js  c++  java
  • 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-windowsplatform-tools和 android-sdk-windows ools 添加到CLASSPATH 环境变量中;

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

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

    2)、使用aapt生成R.java类,aapt所在路径android-sdk-windowsplatform-toolsaapt.exe。

    aapt package -f-m -J gen -S res -M AndroidManifest.xml -IF:AndroidInstallsandroid-sdk-windowsplatformsandroid-9android.jar

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

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

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

    javac -encodingutf-8 -target 1.6 -d bin -bootclasspathF:AndroidInstallsandroid-sdk-windowsplatformsandroid-9android.jargencommy otification*.java srccommy otification*.java

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

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

             dx.bat--dex --output=F:AndroidWorkspaceMyNotificationinclasses.dex F:AndroidWorkspaceMyNotificationin

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

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

             aaptpackage -f -S res -M AndroidManifest.xml -IF:AndroidInstallsandroid-sdk-windowsplatformsandroid-9android.jar -FF:AndroidWorkspaceMyNotificationin esources.ap_

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

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

             apkbuilderF:AndroidWorkspaceMyNotificationinMyNotification.apk -u -zF:AndroidWorkspaceMyNotificationin esources.ap_ -fF:AndroidWorkspaceMyNotificationinclasses.dex -rfF:AndroidWorkspaceMyNotificationsrc

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

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

    jarsigner-verbose -keystore D:my.kestore -signedjarF:AndroidWorkspaceMyNotificationinsigned.apk F:AndroidWorkspaceMyNotificationinMyNotification.apkmy.keystore

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

  • 相关阅读:
    Java 在方法和作用域内的内部类
    java 内部类和向上转型
    java 内部类使用 .this 和 .new
    java innerclasses(内部类)
    Java过滤器与SpringMVC拦截器之间的关系与区别
    Maven异常:Could not find artifact
    soapUI测试webservice(参数为xml格式的处理方式)
    maven仓库加载本地包依赖
    spring data jpa的学习总结
    Java 中常用缓存Cache机制的实现
  • 原文地址:https://www.cnblogs.com/tmlee/p/5098374.html
Copyright © 2011-2022 走看看