Java 从APK中提取源代码

Java 从APK中提取源代码,java,android,apk,Java,Android,Apk,我需要从apk文件中提取源代码。我知道apktool,并且已经使用过很多次。这种方法的问题是提取的代码有一点变化,所有的资源加载都有静态值,就像加载布局一样。我也得到了res文件夹,但我不能确定在哪里加载哪个布局 我需要可靠的解决方案,提取完整的源代码生成的R以及。我认为这是可能的。按照你想要的方式做这件事实际上是不可能的 原因如下:.apk是链中的最后一个工件:java源代码(.java)>java字节码(.class)>dalvik字节码(.dex)>应用程序包(.apk) 您确实可以从.a

我需要从apk文件中提取源代码。我知道apktool,并且已经使用过很多次。这种方法的问题是提取的代码有一点变化,所有的资源加载都有静态值,就像加载布局一样。我也得到了res文件夹,但我不能确定在哪里加载哪个布局


我需要可靠的解决方案,提取完整的源代码生成的R以及。我认为这是可能的。

按照你想要的方式做这件事实际上是不可能的

原因如下:
.apk
是链中的最后一个工件:java源代码(
.java
)>java字节码(
.class
)>dalvik字节码(
.dex
)>应用程序包(
.apk

您确实可以从
.apk
中提取
.dex
,而不会丢失(类似于从
.jar
中提取
.class
,因为
.jar
只是zip存档),但这并不能帮助您获得完全相同的源代码,因为从
.java
.class
再到
.dex
的编译是不可逆的(一般情况下)


更新:即使是用于java字节码的现代反编译工具(如jad)有时也无法生成字节码的有效源代码(我也遇到过几次),更不用说更加“扭曲”的dalvik字节码了通过编译过程。

只要向开发人员索要源代码或下载源代码就可以了。这个问题似乎离题了,因为它可能违反了应用程序许可条款和条件。你好,Simon,我感谢您对许可条款和条件的关注。关于您的信息,这是我的应用程序。我丢失了源代码,只留下了apk文件。
我知道apktool,并多次使用过它。这表明您丢失了很多源代码,或者经常违反应用程序许可条款。