手动编译apk

手动编译apk

虽说现在安卓开发都是用Android Studio, 但是Build的时候Gradle老是需要联网下载各种依赖, 习惯了Eclipse后实在无法忍受不联网就不能编译apk的行为,于是决定手动编译apk

为了方便测试,先下载adt-bundle生成一个可运行的apk
在这里插入图片描述
1.首先在Eclipse 的adt-bundle整合包下随便创建一个项目,项目中包含一个依赖:
在这里插入图片描述编译运行,测试可用

2.在磁盘中找到这个项目, 复制到桌面, 删除无关信息,只保留以下文件夹
在这里插入图片描述

3.安装好SDK,至少包含platform-tools, tools, build-tools三个目录, 并将它们和JDK的bin目录一起写到环境变量path中
注: build-tools要到下一个文件夹
在这里插入图片描述在这里插入图片描述
4.打开项目, 在空白处右键, 打开Powershell或cmd
在这里插入图片描述

[1].aapt package -f -I D:\IT\Android\SDK\platforms\android-5.1.1\android.jar -J src -m -M AndroidManifest.xml -S res -v
Generate the source for the resource declarations. 即生成R.java
android.jar要改成自己SDK下的目录
在这里插入图片描述
[2]. javac -bootclasspath D:\IT\Android\SDK\platforms\android-5.1.1\android.jar -classpath libs\*.jar -source 1.8 -target 1.8 -d . src\com\hai\demo\*.java src\com\hai\demo\dummy\*.java
我的src下的java源文件
在这里插入图片描述
-classpath
在这里插入图片描述
1.8
这是JDK版本
.
表示当前目录
再后面两个目录是java源文件位置
在这里插入图片描述
执行后当前目录下多出了一个目录, 包含生成的class文件
在这里插入图片描述
[3]
jar -cvf classes.jar com\hai\demo\*.class com\hai\demo\dummy\*.class
将两个目录下的class文件打包成jar文件, 命名为classes.jar
在这里插入图片描述
在这里插入图片描述

[4].
D:\IT\Android\SDK\build-tools\android-9\dx --dex --output=classes.dex classes.jar libs\*.jar
使用SDK工具里的dx.bat将jar文件转成dex格式, 同时引入依赖的jar
这里的依赖是android-support-v4.jar
在这里插入图片描述
[5].
aapt package -f -F app.apkPart -I D:\IT\Android\SDK\platforms\android-5.1.1\android.jar -M AndroidManifest.xml -S res -v
java -classpath D:\IT\Android\SDK\tools\lib\sdklib.jar com.android.sdklib.build.ApkBuilderMain app.apkUnalign -d -f classes.dex -v -z app.apkPart
zipalign -f -v 4 app.apkUnalign app.apk

以上为三条命令 修改对应的SDK文件路径
在这里插入图片描述

之后大功告成
在这里插入图片描述

[3] 和 [4] 也可以合并为
D:\IT\Android\SDK\build-tools\android-9\dx --dex --no-strict --output=classes.dex com\hai\demo\ libs*.jar
直接将class文件和jar依赖包生成dex文件

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值