发布于: 2024-8-17最后更新: 2025-4-27字数 764阅读时长 2 分钟

工具:

apktool ADT

命令:

反编译

重打包

签名使用ADT

notion image

smail语言粗略理解(其实对于修改来说, 大概熟悉就就ok)

类定义
字段定义
方法定义
Smali 使用汇编语言风格的指令,以下是一些常见指令:
加载和存储指令
算术指令
方法调用

实战

三星app移植修复

因为三星app是依赖于自身framework的, 所以移植到其他系统, 会闪退
这个类找不到
notion image
notion image
增加类
notion image
重打包签名后安装测试!
notion image
ok, 报其他类错误了, 依葫芦画瓢一一修复即可大功告成!

反编译增加dex(网上找不到资料)

三种方式:
  1. 是将dex转smail, 然后把smali合并
  1. 可以不反编译dex文件, 放入dex文件后, 再重打包 apktool反编译命令详解
3.可以在build目录放入dex后重打包
notion image
测试通过!

其他遇到的一些实战问题

新增类的方式, 可以解决NoClassDefFound 但是不能覆盖类, 如果类是在android.os中, 那么他会优先加载/system/framework/framework.jar 的dex文件, 所以通过覆盖的方式不会生效 这种情况只能修改调用方把调用的包名改为自己的包名即可

特别注意

如果发现修改包名不生效的问题, 是因为 smali编译成dex的过程,包名是smali代码中决定的, 你修改文件夹的名称, 并不能改变包名

Loading...
android rom 源码编译(使用wsl2)

android rom 源码编译(使用wsl2)


公告
 
花有重开日, 人无再少年~