`

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

 
阅读更多

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

【详细步骤】:

1使用aapt生成R.java类文件:
例:
E:/androidDev/android-sdk-windows2.2/tools>E:/androidDev/android-sdk-windows2.2/platforms/android-3/tools/aapt.exe package -f -m -J E:/androidDev/AndroidByread/gen -S res -I E:/androidDev/android-sdk-windows2.2/platforms/android-3/android.jar -M AndroidManifest.xml
其中 -f -m -J E:/androidDev/AndroidByread/gen 代表按覆盖的形式在gen目录下生成带包路径的R.java,-S res指定资源文件 ,-I E:/androidDev/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文件:
例:E:/Androiddev/AndroidByread>javac -encoding GB18030 -target 1.5 -bootclasspath E:/Androiddev/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文件:

例:
E:/Androiddev/AndroidByread>E:/Androiddev/r/android-sdk-windows2.2/platforms/android-3/tools/dx.bat –dex –output=E:/Androiddev/AndroidByread/bin/classes.dex E:/Androiddev/AndroidByread/bin/classes
其中classes.dex为生成的目标文件,

E:/Androiddev/AndroidByread/bin/classes为class文件所在目录

5使用Android SDK提供的aapt.exe生成资源包文件(包括res、assets、androidmanifest.xml等):
E:/Andorid/AndroidByread>E:/Androiddev/android-sdk-windows2.2/platforms/android-3/tools/aapt.exe package -f -M AndroidManifest.xml -S res -A assets -I E:/Androiddev/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}

例:E:/Adnroiddev/AndroidByread>E:/Adnroiddev/android-sdk-windows2.2/tools/apkbuilder.bat E:/Adnroiddev/byreadreader.apk –v -u -z E:/Adnroiddev/AndroidByread/bin/byreadreader -f E:/Adnroiddev/AndroidByread/bin/class.dex -rf E:/Adnroiddev/AndroidByread/src其中E:/Adnroiddev/byreadreader.apk为生成的apk ,-z E:/Adnroiddev/AndroidByread/bin/byreadreader为资源包,E:/Adnroiddev/AndroidByread/bin/class.dex为类文件包

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

原文作者:沈伟

原文链接:http://www.cnblogs.com/jk1001/archive/2010/08/05/1793216.html

分享到:
评论

相关推荐

    Android APK反编译详解

    在Android开发领域,APK反编译是一种常见技术,它涉及到对APK文件进行解包、解析和逆向工程,以获取应用的源代码、资源文件、字符串常量等信息。这一过程通常用于安全分析、漏洞挖掘、学习借鉴他人的编程技巧,以及...

    android apk最新反编缉工具 apktools AndroidKiller

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

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

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

    android build-tools linux 28.0.3.rar

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

    RyApkTool android渠道打包工具

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

    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)是一种常见的测试手段,它允许开发者快速分享未发布的代码变动给团队成员或测试者。...

    build-tools 28.0.3.zip

    总结,Android SDK Build-Tools 28.0.3是构建Android应用的关键组成部分,它包含了一系列用于资源处理、代码编译、调试和优化的工具。了解和掌握其功能和使用方法,对于高效、稳定的Android开发至关重要。在使用过程...

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

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

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

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

    Android 环境搭建

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

    打造JNI_高焕堂_android_1.doc

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

    build-tools_28.0.3-windows.zip.zip

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

    Android学习笔记

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

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

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

    apktool解包打包apk

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

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

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

    aapt工具.rar

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

    build-tools

    `build-tools`是Android SDK的一个子目录,它提供了各种命令行工具,这些工具在构建过程的各个阶段中起到关键作用,包括编译、资源处理、打包APK等。这些工具独立于Android SDK的其他部分,可以单独更新,以确保...

Global site tag (gtag.js) - Google Analytics