jar转成dex文件 dex文件转化为smali文件 java转化为class 打包/dx/d8 apksigner签名

jar转成dex文件

dx

可以利用android studio中的dx工具。
在这里插入图片描述
可以看到android的tool安装位置:
在此路径下的如下目录有dx.bat,这个正是我们需要使用的工具。

D:\sdk\build-tools\30.0.3

在这里插入图片描述
将dx.bat添加到环境变量

基本指令

> dx  --dex --output 输出路径 待转化的jar包
 C:\Users\liyd\Desktop\快手> dx --dex --output dex1.dex .\com.gsc.pub-r-classes.jar

此时如果jar包的方法数过多,可能会报如下错误。

trouble writing output: Too many field references to fit in one dex file: 98482; max is 65536.
You may try using multi-dex. If multi-dex is enabled then the list of classes for the main dex list is too large.

方法数超过65535时的处理,分包

在现有dx编译指令上添加

–multi-dex

dx --dex --multi-dex --output ./dex .\com.gsc.pub-r-classes.jar
dx --dex --multi-dex --output dex编译后的路径  待编译的jar包或者文件夹
dx --dex --multi-dex --main-dex-list=multidex-keep.txt --minimal-main-dex --output ../release ../release

限制每个dex包的最大方法数

在分包的基础上添加

--set-max-idx-number=48000

设置每个dex包的最大方法数为48000

dx --dex --multi-dex --set-max-idx-number=48000 --output . .\com.gsc.pub-r-classes.jar

指定SDK最小版本

dx --dex --multi-dex --set-max-idx-number=48000 --min-sdk-version >= 26 --output .\dex .\jar\*.jar

最小版本问题

dx编译时,可能存在的问题。

Uncaught translation error: com.android.dx.cf.code.SimEx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学知识拯救世界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值