问题标签 [apktool]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
42730 浏览

java - 将 .Java 文件转换为 .Smali 文件

我使用 APKTool 对 Android 应用程序进行了逆向工程,并获得了 .Smali 文件作为源代码输出。我将带有应用程序的 .Smali 文件转换为 .Java 文件。我能够成功编辑 .Java 文件,但现在我想将它们转换回 .Smali,以便我可以使用新的 .Smali 文件重新编译应用程序。当我将 .Java 文件留在那里时,它不会重新编译它并给出一些错误。我在 Internet 上找不到任何关于将 .Java 编译为 .Smali 的信息,所以希望你们能帮助我。

先感谢您。

0 投票
1 回答
298 浏览

aapt - 重建apk的烦恼

我一直使用apktool来反编译apk文件,你知道的,有些资源的名字看起来很奇怪,就像这样:<attr name="do" format="string" />. 当它被反编译时。

问题是:重建包含此资源文件的文件夹时,然后发生错误,错误消息如下:“错误:无效符号:'do'”或error: invalid symbol: 'if'

原因,我看了apktool的源码,发现这些错误信息不是apktool抛出的,而是aapt在执行code: OS.exec(cmd.toArray(new String[0]));in package brut.androlib.resin it's AndroidLibResources.javafile的时候抛出的。所以,我认为google忘记处理这些异常了,因为“if”和“do”这两个词也是最流行的编程语言的关键字,有没有人和我遇到同样的问题?希望您的帮助。

0 投票
1 回答
10364 浏览

android - apktool 没有生成 apk 文件

我使用了 apktool 2.0.0 rc4 版本并使用该工具解压了 CP.apk 文件,然后修改了一个文件并尝试使用“apktool b CP test.apk”命令重新打包它

输出如下,但是工作目录中没有 test.apk。

我错过了什么吗?

0 投票
1 回答
2427 浏览

android - 编辑smali。问题:低 16 位必须清零。十六进制的id错了吗?

早上好/下午/晚上好,我是 smali 语言的新手,在编译时,有一个我无法解决的问题。我希望这个问题以前没有被问过,但我检查了谷歌和 stackoverflow 上的一些线程,找不到任何解决方案,所以我认为它没有。那么,会发生什么:

我正在尝试修改我的应用程序的 C1.smali 文件,我只想更改错误的数组 id。所以我只是更换了id,我没有碰其他任何东西。

修改后的smali文件

当然,我通过检查public.xml 文件(在 res\values 中)验证了 id 是否正确。我让你自己看看:

现在,当我想重新编译时,apktool会抛出一个我无法理解的问题: C:\apktool>apktool b CC I: Using Apktool 2.0.0-RC4 I: Checking whether sources has changed... I: Smaling smali folder into classes.dex... CC\smali\com\one\aplication\C1.smali[58,4] Invalid literal value: 2131099649. Low 16 bits must be zeroed out. Exception in thread "main" brut.androlib.AndrolibException: Could not smali file : com/one/aplication/C1.smali at brut.androlib.src.SmaliBuilder.buildFile(SmaliBuilder.java:71) at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:55) at brut.androlib.src.SmaliBuilder.build(SmaliBuilder.java:41) at brut.androlib.Androlib.buildSourcesSmali(Androlib.java:354) at brut.androlib.Androlib.buildSources(Androlib.java:294) at brut.androlib.Androlib.build(Androlib.java:280) at brut.androlib.Androlib.build(Androlib.java:255) at brut.apktool.Main.cmdBuild(Main.java:225) at brut.apktool.Main.main(Main.java:84)

有人知道这个问题的原因吗?apktool 问题指向我修改的行 [58]。我真的不知道会发生什么!感谢任何愿意帮助我的人,请原谅我糟糕的英语。祝你有美好的一天!:)

0 投票
2 回答
646 浏览

java - 无法从 Java 在 shell 上运行 apktool 命令

我正在尝试使用apktool来自 Java 程序的。我正在使用它来创建 Web 服务。但是,此命令不会在 Java 程序的 shell 上运行。

该命令直接从 shell 运行得很好。

0 投票
1 回答
617 浏览

android - 更改应用程序以使用浏览器而不是 WebView

我手中有一个 Android 应用程序,我使用 Apktool 对其进行了反编译。现在,我有一些 .smali 文件,我想更改该应用程序以使用浏览器而不是 WebView 来打开 URL。我应该更改哪些代码?请帮忙。谢谢你。

0 投票
2 回答
10003 浏览

android - 由于翻译错误,Apktool 构建失败

我使用 Apktool 对一个 APK 文件进行了反编译并进行了一些更改,然后我尝试重新编译它,但出现了这个错误。

我去了我的资源文件,那里已经有翻译可用。如何修复此错误。请帮助我的最后期限很紧。非常感谢您提前

0 投票
1 回答
1376 浏览

android - Xamarin.Android 使用 ApkTool 编辑 apk 包名称导致崩溃

我需要能够更改现有 .apk 的包名称,以便同时运行我在 Visual Studio 中使用 Xamarin 创建的 Android 应用程序的实例。但是,当我需要更改此包名称时,我将无法可靠地访问具有 Xamarin 许可证的计算机,因此我不能简单地编辑清单预构建。我尝试使用 ApkTool 解压缩 apk,编辑清单,然后重新打包并重新签署 apk。但是,虽然我能够将这个新的 apk 与原始 apk 并排安装在设备上,但新的应用程序实例无法启动。我收到以下错误:

"monodroid" "在 '(null)' 或 '/storage/emulated/0/Android/data/com.newpackagename/files/. override '中找不到程序集。假设这是快速部署的一部分。正在退出..."

我认为这意味着在构建后以某种方式更改包名称已经丢失了一些到程序集的链接。但是,即使在搜索了整个解压缩的 apk(文件夹和文件内)之后,我也找不到对原始包名称的剩余引用。所以我想弄清楚如何重新获得这些程序集以允许我的应用程序运行。我知道这是非常不寻常的,它甚至可能不是正确的方法,但我需要能够在不访问 Xamarin 的情况下更改我的包名称。这似乎是最有希望的解决方案。

0 投票
1 回答
680 浏览

android - 使用 apktools 编译 snapchat 安装失败

好的,所以我在使用 apktools 反编译 apk 时遇到了问题。我目前正在尝试编辑当前版本的 snapchat,这样我就可以在没有 root 的情况下拥有无限的字幕长度。为此,我使用 apktools 反编译了 apk,编辑了所需的 smali 文件,然后重新编译它,但由于某种原因它不会安装在手机上。

然后我尝试在没有任何编辑的情况下反编译和重新编译 apk,它也没有工作。

是否需要进行一些特殊的签名才能正确构建和安装应用程序?或者也许是我在 apktools 中缺少的东西?我已经反编译了许多其他 apk,它们运行良好,但 snapchat 没有。任何帮助表示赞赏,谢谢。

0 投票
1 回答
1208 浏览

android - Apktool 因某些名为 values-mccxxxx-mncxxxx 的文件夹而崩溃

当我试图编译一些apkframework-res.apk时,或者FileExplorer.apk我总是得到同样的错误

我知道我可以修复这个错误,只用三个数字重命名文件夹,但是apk如果我编译它重命名这些文件夹,rom则不会启动。

有没有办法在apk不重命名这些文件夹的情况下构建?

谢谢。