在我的android项目中使用apktool jar文件?

时间:2018-01-22 07:45:50

标签: android reverse-engineering decompiling apktool

  1. 输入要解码的.apk文件
  2. 下载最新版本的apktool和apktool安装窗口(两者都可以从同一个链接下载)并将它们放在同一个文件夹中
  3. 现在运行apktool if framework-res.apk和下一个命令 apktool d myApp.apk(其中myApp.apk表示您要解码的文件名)
  4. 我可以在android项目中执行apktool的上述步骤吗?如果有人能帮助我,请告诉我。我想创建一个类似于apkEditor的应用程序。

1 个答案:

答案 0 :(得分:1)

答案是肯定的,您可以执行提到的步骤。

我不会为您编写应用程序,但这是一些准则。首先,apktool是用Java编写的,因此您可以从here下载打包的最新版本。确保先阅读license。然后将其导入到您的Android Studio项目中。有一个称为Main的特定类,它具有负责CLI的main方法。例如:

import brut.apktool.Main;
try {
    Main.main(new String[]{"if", "/sdcard/...your_path.../framework-res.apk"});
    Main.main(new String[]{"d", "myApp.apk"});
} catch (IOException | InterruptedException | BrutException e) {
    e.printStackTrace();
}

PS:以防我误解了你的问题。如果您希望每次程序运行时从Github下载最新版本的apktool jar,则可以使用JarURLConnection来获取远程jar文件并进行反射,以使用参数器来调用Main.main()。可以在here中找到其完整示例。