实践总结,解决问题,乐在分享!古月大仙荣誉出品,欢迎关注、加粉、点赞、评论、交流!
1、下载jadx。加载Apk。出现两个文件夹“源代码(Source code)”和“资源文件(Resources)”。
2、用jadx自带的全局搜索按钮,直接定位下MainActivity、Apk名字、logo等所在位置。里面有classes.dex文件。
.class →.dex:.class 是 java 虚拟机使用的可执行文件,作用是记录一个类文件的所有信息。.dex 是Android Dalvik的可执行文件,作用是记录整个工程(通常是一个Android工程)的所有类文件的信息。本质上都是一样的,都是二进制流文件格式,dex文件是从class文件演变而来的。class文件存在冗余信息,dex文件则去掉了冗余,并且整合了整个工程的类信息。
找Apk名字搜索:app_name,找Apk的logo搜索:xxx。修改apk的logo和名称
但是我们发现很多代码都是一堆数字。所以,我们要反编译再看看。
3、用jadx将classes.dex反编译得到source文件夹。再用apktool将xxx.apk反编译得到xxx文件夹(dex→smali),只取用res目录和AndroidManifest.xml文件。反编译的apk会缺少部分资源文件(res→value下的文件),只需要拷贝缺少资源,重新回编译即可。
4、现在得到了source文件夹、res文件夹、AndroidManifest.xml文件。
5、用apktool进行重打包,出现了问题。点击此链接了解详情
6、解决之后,生成APK了,但是文件大小比原来小很多,不知道哪里出问题了。
7、打包完成后,按照教程完成了签名,安装到手机提示“无法从官方渠道安装系统应用”。Notepad++ 下载