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

如何手动完成一次APK打包?----APK编译全过程 身为一个Android工程师,你是否有考虑过一个Android项目工程如何经过编译压缩变成一个APK的呢? 你又是否编写过打包工具完成多渠道打包呢?下面我们来解密如何完成一个APK的打包。 1、使用Android SDK提供的aapt.exe生成R.java类文件 2、使用Android SDK提供的aidl.exe把.aidl转成.java文件(如果没有aidl,则跳过这一步) 3、使用JDK 阅读详情


原文:http://jojol-zhou.iteye.com/blog/729254

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/ 

命令行打包最简单的android项目从零开始到最终apk文件 从下载到安装,从安装到cmd命令行步骤,最终完成apk的生成 阅读详情

相关推荐

Ant自动编译打包android项目

背景:     Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要讲应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不且实际了,这时候我们用到Ant帮我们自动编译打包了。 Ant 安装:     ant的安装比较简单,下载ant压缩包(最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Program Files\apache

如竹的技术博 7859

Unity 安卓打包

Unity打包的方式有很多种,自动打包和手动打包,今天小弟就鼓捣鼓捣unity手动打包,如果想动态打包的话,可以去看其他大佬的帖帖哈。 unity打包先配置环境,下载unity的时候可以顺道把unity的安卓包下载下来,如果忘了也没事,可以从unityhub下载,也可以去官网下,Unity实时内容开发平台 - 3D、2D、VR & AR可视化 | Unity中国官网 下载完以后点击File-->BuildSetting,左下角点击Android,刚下完以后应...

qq_52956140的博客 1万+

【深度学习-番外1】Win10系统搭建VSCode+Anaconda+Pytorch+CUDA深度学习环境和框架全过程

本文将介绍在Windows 10系统下搭建深度学习环境的完整过程,包括安装Anaconda、CUDA、NVIDIA显卡驱动以及Pytorch框架。后续本专栏的Python语言下的深度学习环境都以本篇搭建的为准。

fengzhuqiaoqiu的博客 4003

android 反编译报错,android apk 反编译,android编译错误解决方法

(一)android 反编译方法案例分析(1)apktool:编译和反编译apk,从apk中提取图片和布局资源(2)dex2jar:将classes.dex反编译为jar源码文件(3)jd-gui:查看jar源码文件Windows系统下安装反编译apktool:1. 首先确保系统安装有Java2. 下载apktool.bat脚本3. 下载最新版本的apktool.jar,并且重命名为apktoo...

weixin_42699679的博客 973

HBuilderX远程开发环境配置:Windows SSH连接实操

详细介绍如何在Windows系统中通过SSH连接远程服务器,配置HBuilderX进行高效远程开发,提升编码协作效率。全程实操演示,轻松掌握hbuilderx与远程环境的无缝对接。

weixin_35751194的博客 1192

基于Python的高考志愿辅助填报系统

在实际应用中,系统需要处理更复杂的数据,包括更多的高校和专业信息、更详细的录取规则、以及用户的历史选择等。系统需要提供用户友好的界面,让考生输入自己的信息和偏好,然后通过后端的模型计算出推荐的志愿列表。此外,系统还应该提供一些个性化的服务,如根据考生的输入动态调整推荐策略、保存用户的填报历史和偏好等。特征可能包括考生的分数、所在省份、文理科类别、专业偏好、高校的地理位置、排名、专业的就业前景等。3. **推荐逻辑**:根据用户的分数和专业偏好,结合历史录取数据,使用简单的算法来推荐可能录取的高校和专业。

coder_wwwdy的博客 1978

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

Aaronzzq的专栏 1400

NAT反向代理技术的实现(外网访问内网)

NAT反向代理技术的实现(外网访问内网)(版权所有,引用 请联系作者,注明出处) NAT技术是网络中的重要应用之一。当有一个场景:内网搭建了服务器,需要外网访问时,可以借助NAT映射来实现。如:单位建立了一个Web服务器,我们希望在员工回家之后,依然可以访问到它,那怎么实现呢? 下面的拓扑图,就用来示范这个应用反面场景的实现过程。 一、题目要求: 地址配置如图。使用静态路由: 1、配置右侧交换机2950T,实现单臂路由; 2、配置路由使网络连通; 3、配置NAT访问,实现外网对风网服务器的

joyousmime的博客 8488

Android使用Gradle手动编译打包

Android使用Gradle手动编译打包以下是在window系统中,在Cmd中进入Android项目根目录,然后执行gradlew assembleDebug 然后,等到看到 BUILD SUCCESSFUL 就代表编译打debug包成功了 其他Gradle命令gradlew -v 版本号gradlew clean 清除./app目录下的build文件夹gradlew build 检查依

朱豪凯的博客 2113

Windows 11 的C盘User(用户)文件夹下的用户文件夹名称的修改

背景介绍:由于系统重装导致Windows 11的系统用户名与C盘User(用户)文件夹下的用户名文件夹(公用文件夹旁边的文件夹)出现名称不一致,事例中系统用户名命名为“寂萧”,User(用户)文件夹下的文件夹名称却是“77555”。【QQ邮箱前五位真的真的看着很别扭】注:改名有风险,三思而后行。User(用户)文件夹下的用户名是中文在某些软件的应用场景下产生不便,导致很多软件莫名其妙报错,甚至无法使用,笔者不建议修改为中文名。//和笔者一样的强迫症除外//

2302_79084172的博客 10万+

zynq+ad9361 petalinux使用官方IIO示波器调试记录

1ad9361 iio示波器

Yetob的博客 7993

Android 项目开发填坑记 - 使用 MultiDex 解决 64K 限制

背景Android 的 classLoader 在加载 APK 的时候限制了class.dex 包含的 Java 方法数,其总数不能超过65535(64K,不要再说成 65K 了,1K = 2^10 = 1024 , 64 * 1024 = 65535),Google 官方给出的解决方案是使用 Multidex 。

他叫自己Mr.张 6544

vue3 - element-plus表格组件el-table实现鼠标拖曳排序功能,vue3 Table表格拖拽排序,表格每行使用鼠标拖动进行排序功能,表格拖拽排序实现(详细示例代码,一键复制开箱即用

vue3,elementPlus,el-table,typescript,表格组件,Table表格,表格拖动排序,表格拖曳排序,鼠标拖拽表格进行排序功能,elementplus表格如何实现拖动每行进行排序操作,表格拖动改变顺序,鼠标拖曳,表格内的数据项拖拽排序,vue3如何实现element-Plus表格组件进行表格内的数据项拖拽排序,列表拖拽排序效果,实现table动态拖拽,鼠标拖着排序,vue3 element Plus 表格拖曳拖动拖拽 排序,el-table拖拽排序实现,表格内容拖拽重新排序,树形表

✅ 精选推荐文章 1万+

安卓开发环境搭建和手动打包总结

开发环境安装 Android studio Eclipse JAVA安装 Android SDK安装 Eclipse安装 安卓工程生成 AS Eclipse 命令行生成 目录解析 手动打包过程 最近项目要求要用安卓,并且需要用手动打包,学习了下安卓的基础开发以及手动打包的过程,遇到的坑比较多,在此总结下。 开发环境安装 Android studio 目前...

新安浅滩的博客 2411

机器人轨迹规划——梯形速度轨迹(超详细)

机器人轨迹 这一系列轨迹教程将主要包括以下内容: 点到点轨迹(P2P) 五次多项式插值轨迹 三次多项式插值轨迹 梯形速度曲线轨迹 双S形速度曲线轨迹 多个自由度轨迹的时间同步 在线轨迹规划 多项式在线轨迹规划 梯形在线轨迹规划 双S形在线轨迹规划 非线性实时轨迹滤波 多点轨迹(Multi-point) 三次样条曲线(cubic spline) 贝赛尔曲线(Bezier Curve) B样条曲线(BSpline) 时间最优轨迹 三次样条时间最优轨迹 任意路径下的时间最优轨迹 时间

出门搔白首,若负平生志 1万+

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

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

原文链接: http://www.cnblogs.com/jk1001/archive/2010/08/05/1793216.html Android 命令行手动编译打包过程图 【详细步骤】:   1使用aapt生成R.java类文件: 例: E:\androidDev\android-sdk-windows2.2\tools>E:\androidDev\andr

494

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

Android 命令行手动编译打包过程图 1使用aapt生成R.java类文件: 例: E:\androidDev\android-sdk-windows2.2\tools>E:\androidDev\android-sdk-windows2.2

黑会峰 2786

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

命令行手动编译打包Android apk

Android 命令行手动编译打包过程图 【详细步骤】: Step1:使用aapt生成R.java类文件。  例: F:/explorer/android-sdk-windows2.2/tools>f:/explorer/android-sdk-windows2.2/platforms/android-3/tools/aapt.exe package -

basin9901的专栏 756

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

Android 命令行手动编译打包过程图 【详细步骤】: Step1:使用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:

liujianminghero的专栏 497

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

原文出处:http://blog.youkuaiyun.com/yangwen123/article/details/8909058 Android SDK提供了一系列命令行工具,用来进行Android应用的开发、调试、打包等工作!Eclipse能够进行Android应用开发的相关工作,也是调用了这些工具而已.只有掌握了命令下的工作方式,工作起来才会更加的得心应手.下面就抛开Eclipse集成开发工具,

随风而去 6941

android 手动打包

分类: android ndroid 命令行手动编译打包过程图 【详细步骤】:   1使用aapt生成R.java类文件:  例:  E:\androidDev\android-sdk-windows2.2\tools>E:\androidDev\android-sdk-windows2.2\platforms\android-3\tools\aapt.ex

chenghai2011的专栏 3559

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

Android APK 命令打包步骤   一、概述步骤 APK的生成需要经过以下几个步骤: 1、使用Android SDK提供的aapt.exe生成R.java类文件 2、使用Android SDK提供的aidl.exe把.aidl转成.java文件(如果没有aidl,则跳过这一步) 3、使用JDK提供的javac.exe编译.java类文件生成class文件 4、使用Android

赵旭峰专栏 1万+

Android编译,打包、签名详细教程

1.Android程序编译、打包、签名、发布的三种方式: 方式一:命令行手动编译打包 方式二:使用ant自动编译打包 方式三:使用eclipse+ADT编译打包 2.Android编译、打包的步骤: 2.1第一步 生成R.java类文件: Eclipse中会自动生成R.java,ant和命令行使用android SDK提供的aapt.ext程序生成R.java。 2.2第二步 将.aidl文件生成.java类文件: Eclipse中自动生成,ant和命令行使用android SDK提供的aidl.exe生成

weixin_42904469的博客 1036
上一篇: 收集国人不良习惯 -- 有哪些不好的习惯敬请指出,那些不能算作不好的 只能说习俗不同也请指出
下一篇: 关于书面辞职报告和试用期离职
贼船叔叔
博客等级 码龄16年 241粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值