apkTool反编译apk碰到的问题

Android AUmaWSsSoi 2年前 (2017-11-30) 277次浏览 0个评论

在Mac平台上反编译了某个知识付费类的app,用的weex技术。发现反编译不成功

流程如下

  1. 反编译apk
    java -jar apktool_2.3.0.jar d xxx_1.0.0_beta_offical.apk
  2. 回编译(将修改后的文件重新打包为一个apk)
    java -jar apktool_2.3.0.jar b xxx_1.0.0_beta_offical
  3. 签名后安装到手机上调试

结果发现在第二步总是不成功,找到https://github.com/iBotPeaches/Apktool/issues/1425 这个issue,发现作者提到了

Seems you might have an outdated framework. Make sure to run apktool empty-framework-dir --force to refresh those. 

完整的回答如下

➜  Bug1425 apktool d app-debug.apk 
I: Using Apktool 2.2.2 on app-debug.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /home/ibotpeaches/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
➜  Bug1425 apktool b app-debug
I: Using Apktool 2.2.2
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
I: Building apk file...
I: Copying unknown files/dir...
➜  Bug1425 

说的是framework过时了,需要在 /home/ibotpeaches/.local/share/apktool目录下(这个目录在执行第一步反编译过程中出现过,那个就是你需要重新执行的目录)重新执行apktool empty-framework-dir --force

之后重新执行这三步,完美解决问题

特地纪录一下

原文始发于:apkTool反编译apk碰到的问题


java问与答 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:http://javaexception.com/archives/12
喜欢 (1)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址