`
jojol_zhou
  • 浏览: 345104 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

原: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/
  • 大小: 8.2 KB
  • 大小: 5.2 KB
  • 大小: 20.3 KB
  • 大小: 10.3 KB
  • 大小: 104.5 KB
分享到:
评论
11 楼 2006003845 2014-02-08  
ghlimbrother 写道
用这种方法怎么把so文件打包进去啊 还有第三方的jar文件 谢谢

找到解决方法了吗 ?
10 楼 2006003845 2014-02-08  
你好 请问下 如果项目中  libs/  有jar 包 有.so文件 改如何做?
9 楼 shiyanshiguize 2013-12-30  
楼主在吗?我在执行第一步:使用aapt生成R.java类文件: 时总是提示resource directory 'res' dose not exist,但是我的项目里是有这个文件夹的,这里的res文件夹是指的AndroidByread这个项目里面的res文件夹吗?还是android sdk提供的那个res文件夹呢,在platforms\android-19\data下面有一个res文件夹
8 楼 a13525177343 2013-09-29  
楼主今天查看build.xml的作用的时候,看见你的博文的,我就还是想不明白eclipse已经帮你编译好了为什么还要自己搞
7 楼 TremendousTurtle 2012-11-19  
[url] http://droidan.sinaapp.com/?p=46[/url]
6 楼 TremendousTurtle 2012-11-19  
写了一个自动打包编译apidemo的命令行小脚本 http://droidan.sinaapp.com/?p=46
5 楼 lyfi 2012-08-03  
4 楼 libo19881179 2012-08-01  
我在第三步遇个问题 不知道怎么编译所有的java文件,帮忙看下 谢谢~
http://www.iteye.com/problems/86683
3 楼 zhengyao 2012-04-28  
android create project \

--target <target_ID> \

--name <your_project_name> \

--path /path/to/your/project \

--activity <your_activity_name> \

--package <your_package_namespace>


ant  debug or relese我喜欢这样
2 楼 kongdesheng 2011-11-10  
这个第二步是干嘛的啊?
1 楼 ghlimbrother 2011-07-29  
用这种方法怎么把so文件打包进去啊 还有第三方的jar文件 谢谢

相关推荐

    Android APK反编译详解

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

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

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

    RyApkTool android渠道打包工具

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

    android apk最新反编缉工具 apktools AndroidKiller

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

    Android 环境搭建

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

    android build-tools linux 28.0.3.rar

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

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

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

    win-Android-aapt

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

    gradle-4.8-bin.zip

    《Gradle 4.8 在Android Studio中的应用与下载问题详解》 在Android开发中,Gradle是一个不可或缺的构建工具,它负责管理项目的依赖、构建过程以及打包等任务。Gradle 4.8是该工具的一个重要版本,针对Android ...

    build-tools 28.0.3.zip

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

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

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

    apktool解包打包apk

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

    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是第一代移动通信系统,采用模拟信号传输,主要用于...

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

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

    aapt工具.rar

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

    Proguard5.2.1资源&使用教程

    3. **集成到构建流程**:在Android Studio中,ProGuard会自动与Gradle构建系统集成,无需手动执行混淆过程。 **三、混淆规则详解** 1. **-keep**:指定需要保持不变的类或成员,避免混淆。例如,保留所有的注解类...

Global site tag (gtag.js) - Google Analytics