`

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

 
阅读更多

Android 命令行手动编译打包过程图 
 


【详细步骤】: 

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

aapt Usage: 
 


2使用android SDK提供的aidl.exe把.aidl转成.java文件: 
usage: aidl OPTIONS INPUT [OUTPUT] 
       aidl --preprocess OUTPUT INPUT... 

OPTIONS: 
   -I<DIR>    search path for import statements. 
   -d<FILE>   generate dependency file. 
   -p<FILE>   file created by --preprocess to import. 
   -o<FOLDER> base output folder for generated files. 
   -b         fail when trying to compile a parcelable. 

INPUT: 
   An aidl interface file. 

OUTPUT: 
   The generated interface files. 



3第三步 编译.java类文件生成class文件: 
例:F:\explorer\AndroidByread>javac -encoding GB18030 -target 1.5 -bootclasspath F:\explorer\android-sdk-windows2.2\platforms\android-3\android.jar -d bin src\com\byread\reader\*.java gen\com\byread\reader\R.java 
 


4使用android SDK提供的dx.bat命令行脚本生成classes.dex文件: 
 
例: 
F:\explorer\AndroidByread>F:\explorer\android-sdk-windows2.2\platforms\android-3\tools\dx.bat --dex --output=F:\explorer\AndroidByread\bin\classes.dex f:\explorer\AndroidByread\bin\classes 
其中classes.dex为生成的目标文件,f:\explorer\AndroidByread\bin\classes为class文件所在目录 

5使用Android SDK提供的aapt.exe生成资源包文件(包括res、assets、androidmanifest.xml等): 
F:\explorer\AndroidByread>F:\explorer\android-sdk-windows2.2\platforms\android-3\tools\aapt.exe package -f -M AndroidManifest.xml -S res -A assets -I F:\explorer\android-sdk-windows2.2\platforms\android-3\android.jar -F bin\byreadreader 
将AndroidManifest.xml,res和assets文件夹中的资源文件打包生成byreadreader,用法参见1 

6第六步 生成未签名的apk安装文件: 
apkbuilder  ${output.apk.file} -u -z  ${packagedresource.file} -f  ${dex.file}  -rf  ${source.dir}  -rj  ${libraries.dir} 
 
例: 
F:\explorer\AndroidByread>f:\explorer\android-sdk-windows2.2\tools\apkbuilder.bat f:\explorer\byreadreader.apk –v -u -z f:\explorer\AndroidByread\bin\byreadreader -f f:\explorer\AndroidByread\bin\class.dex -rf F:\explorer\AndroidByread\src 
其中f:\explorer\byreadreader.apk为生成的apk ,-z f:\explorer\AndroidByread\bin\byreadreader为资源包,f:\explorer\AndroidByread\bin\class.dex为类文件包 


7使用jdk的jarsigner对未签名的包进行apk签名: 
use jarsigner 
jarsigner  -keystore ${keystore} -storepass  ${keystore.password} -keypass ${keypass} -signedjar ${signed.apkfile} ${unsigned.apkfile} ${keyalias} 
例如: 
F:\explorer\android-sdk-windows2.2\tools>jarsigner –keystore f:\explorer\eclipse3.5\bbyread.keystore -storepass byread002 -keypass byread002 -signedjar f:\explorer\byread.apk f:\explorer\byreadreader.apk byread 
其中–keystore f:\explorer\eclipse3.5\bbyread.keystore 为密钥文件  -storepass byread002为密钥文件密码 byread 为密钥别名 -keypass byread002为密钥别名密码,-signedjar f:\explorer\byread.apk为签名后生成的apk文件 f:\explorer\byreadreader.apk为未签名的文件。 

参考:http://asantoso.wordpress.com/2009/09/15/how-to-build-android-application-package-apk-from-the-command-line-using-the-sdk-tools-continuously-integrated-using-cruisecontrol/ 

 

From : http://jojol-zhou.iteye.com/blog/729254

分享到:
评论

相关推荐

    Android APK反编译详解

    反编译APK的第一步通常是使用工具如`unzip`命令行工具或7-Zip来解压APK,这会得到一个包含所有APK文件的目录。解压后,我们可以看到`res`目录下的资源文件,如图片、布局XML等,以及`classes.dex`文件,它是应用的主...

    AntiDroidV1.1 最好用的Android反编译和签名工具

    《Android应用反编译与签名:AntiDroidV1.1工具详解》 在移动应用开发领域,Android因其开源特性而备受青睐,但也因此导致安全问题频发。开发者们经常需要对APK进行反编译,以理解其内部工作原理或进行二次开发。在...

    android apk最新反编缉工具 apktools AndroidKiller

    【Android APK反编译工具详解】 在Android应用开发领域,反编译工具是开发者和安全研究人员常用的一种技术手段。它们可以用于分析APK文件的内部结构,了解代码逻辑,进行二次开发或者安全检测。"android apk最新反...

    RyApkTool android渠道打包工具

    **Android渠道打包工具RyApkTool详解** 在Android应用开发过程中,为了区分不同来源的用户,开发者通常需要为每个推广渠道制作一个特定的apk,这就是所谓的“渠道打包”。RyApkTool是一款由rydiy开发并分享的便捷...

    android build-tools linux 28.0.3.rar

    《Android Build-Tools在Linux环境下的使用详解》 在Android应用开发过程中,`build-tools`是必不可少的一个组件,它包含了构建Android应用所必需的各种工具。本文将深入探讨Android Build-Tools 28.0.3在Linux操作...

    win-Android-aapt

    **Android AAPT工具详解** Android Asset Packaging Tool(AAPT)是Android SDK中不可或缺的一部分,它主要负责处理Android应用(APK)的资源管理和打包过程。AAPT工具在开发过程中扮演着重要角色,允许开发者获取...

    android-snapshot-publisher,部署Android快照版本的Gradle插件.zip

    《Android快照版本部署:详解android-snapshot-publisher Gradle插件》 在Android应用开发过程中,快照版本(Snapshot Version)是一种常见的测试手段,它允许开发者快速分享未发布的代码变动给团队成员或测试者。...

    apktool_2.4.0.jar+包装器脚本(apktool.bat)+安装说明.zip

    **Android反编译工具Apktool详解** 在Android开发领域,有时我们需要查看或修改APK文件内部的资源和代码,这时就需要用到反编译工具。`Apktool`是其中一个广泛使用的开源工具,它允许开发者对APK进行反编译、修改和...

    apktool解包打包apk

    **Android应用逆向工程:Apktool的使用详解** 在Android开发领域,有时我们需要对APK文件进行深入研究,比如为了学习应用的工作原理、优化性能或者进行安全分析。这时,工具如Apktool就显得尤为重要。Apktool是一款...

    build-tools 28.0.3.zip

    【Android SDK Build-Tools 28.0.3详解】 Android SDK Build-Tools是Android开发者不可或缺的工具集,主要用于构建Android应用程序。版本号28.0.3代表着这个工具集的特定更新,每个版本可能包含对性能、稳定性和...

    apktool、apktool.jar、apktool.bat

    **Android反编译工具Apktool详解** 在Android应用开发领域,Apktool是一个非常重要的工具,它主要用于安卓APK应用程序的反编译与再编译。标题中的"apktool、apktool.jar、apktool.bat"分别指的是Apktool工具本身、...

    Android NDK 开发的官方文档(android ndk dev guide)

    **Android NDK 开发详解** Android NDK(Native Development Kit)是Google提供的一款工具集,允许开发者在Android应用中使用C和C++代码,从而利用原生编程语言的高性能和低级硬件控制能力。NDK的主要用途包括处理...

    DELPHI XE7 安卓条码扫描图文详解

    解决方法是取消其中一个文件的编译,并手动合并两个文件的内容。 6. **部署资源文件** 由于 ZXing 和 Embarcadero 的资源文件存在冲突,需要将 ZXing 的资源文件复制到项目目录,并通过 Delphi XE7 的部署功能将...

    Mstar安卓方案常用修改和操作方法

    1. **环境配置**:首先,你需要安装Android SDK、NDK以及必要的编译工具,如Git和Make。确保你已经设置好PATH环境变量,以便于在命令行中调用这些工具。 2. **源码获取**:从Mstar的官方仓库或者合作伙伴的公开资源...

    Android学习笔记

    ### Android学习笔记知识点详解 #### 一、移动通信技术概览 - **1.1 G-4G介绍** 移动通信技术的发展经历了从1G到4G的历程,每一代技术都有其特点和技术进步。1G是第一代移动通信系统,采用模拟信号传输,主要用于...

    aapt工具.rar

    通过这个工具,Android开发爱好者可以手动进行APK的打包过程,了解整个流程,这对于深入理解Android应用的构建机制非常有帮助。例如,你可以使用AAPT查看APK的元数据,包括资源清单、图标、权限等信息,也可以自定义...

    打造JNI_高焕堂_android_1.doc

    NDK通常包含了一系列用于编译、链接和打包本地库的工具,以及特定于Android平台的工具链。 3. **使用Android NDK** 使用NDK进行开发时,开发者可以编写C/C++代码来实现性能敏感的部分或者利用已有的C/C++库。NDK...

    Android 环境搭建

    Android SDK(Software Development Kit)是开发 Android 应用的基础工具包,包含了编译、调试和打包应用所需的各种工具。 1. **下载与安装**:将 `android-sdk-windows` 文件解压并放置于指定目录,例如 `D:\...

    build-tools_28.0.3-windows.zip.zip

    Android SDK Build-Tools是一组用于构建Android应用的命令行工具,它们负责处理编译、打包和签名等关键步骤。这些工具在构建过程中的职责包括但不限于:AAPT(Android Asset Packaging Tool)用于处理资源,DX用于...

Global site tag (gtag.js) - Google Analytics