android重新打包步骤
1.java2smali插件安装
将java代码转化为smali代码,用来修改smali代码,如果熟悉smali代码跳过。
2.下载apktool.jar工具
最好增加一个apktool的包裹类,可以简化操作:java -jar apktool.jar
./apktool d base.apk -o dist-dir
3.下载jadx工具
能直接查看apk内容,以smali方式
4.下载jd-gui工具
能直接查看class文件
5.反编译
使用apktool d xx.apk反编译apk成为一个文件夹
6.编辑smail
使用安装了smalidea工具的idea工具对smali进行编辑
7.重新打包
保存后使用 apktool b app-dir -o app-release1.apk 重新打包成apk
8.签名
使用命令"jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore 签名文件名 -storepass 签名密码 待签名的APK文件名 签名的别名" 来给apk签名
9.对齐
使用系统的对齐工具将签名的apk进行对齐操作:zipalign 4 app-release1.apk app-release-align.apk
android调试正式包步骤
1.可调式模式开启
反编译apk为清单文件夹,修改清单文件AndroidManifest.xml,在application tag加入android:debuggable="true",重新编译即可。
2.可调试源码生成
2.1下载smali和baksmali相关工具,百度网盘下载
2.2运行 baksmali d xxx.apk -o src 将smali文件输出到文件夹中
3.IDEA打开
将上一步生成的src目录设置为AS或者IDEA的源码目录。
Studio可以 File >New >import project 选择search目录(打开项目后选择项目视图为Project模式)
IDEA可以直接File >New >Create project from existing sources
4.远程调试
通过monitor查看应用端口号,配置Remote debug,设置为上一步获取的端口号