0

我失去了我的 android 项目,我只是只在 google play store 上发布的 apk 文件。我的问题是任何一种公式或技巧都可以用来获取我的源代码,我正在更改包名称并上传又来了。。

4

4 回答 4

0

试试这些免费程序...

  1. http://www.xda-developers.com/android/easily-decompile-and-recompile-apks-with-android-apktool/

  2. dex2jar

于 2013-09-02T05:26:11.953 回答
0

Android .apk 文件是文件的压缩形式,仅包含 Java 类(.dex 形式)、xml 文件

要从 apk 文件中获取源代码,您可以使用类似的工具

  1. dex2jar
  2. APK工具

您可以查看链接以获取详细说明。

于 2013-09-02T05:35:32.200 回答
0

当然你可以做逆向工程,但你不会得到确切的源代码。因为谷歌宣布,每当您将 apk 上传到市场时,google play 都会在其上运行一个 proguard,所以每当有人尝试逆向工程时,没有人可以精确编码。它使您的类名与 A 类、B 类和 for 循环一样,转换为 while 循环,并将变量名更改为不可读的形式。

于 2013-09-02T05:37:24.287 回答
0

请仔细阅读它,它为您提供了应用程序的所有资源和源代码。现在您可以自由更改包名称等..

Procedure for decoding .apk files, step-by-step method:

Step 1:

创建一个新文件夹并将 .apk 文件放入其中(您要解码)。现在将此.apk文件的扩展名重命名为.zip(例如:从 filename.apk 重命名为 filename.apk.zip)并保存。

如果在转换成 .zip 时出现问题,请参考link

获得 .zip 后,现在您将获得 classes.dex 文件等。在此阶段您可以看到可绘制但看不到 xml 和 java 文件,所以继续。如果您没有看到扩展,请检查配置

Step 2:

现在在同一文件夹中提取此 zip apk 文件。现在从这里下载 dex2jarlink

并将其解压缩到同一个文件夹。现在打开命令提示符并将目录更改为该文件夹。

然后写入dex2jar classes.dex并按回车。现在您classes.dex.dex2jar在同一文件夹中获取文件。

de-compiler然后从下载java

现在双击 jd-gui 并单击打开文件。然后classes.dex.dex2jar从该文件夹中打开文件。现在你得到类文件并通过 src 名称保存所有这些类文件(单击文件然后单击 jd-gui 中的“保存所有源”)。提取该 zip 文件(classes_dex2jar.src.zip),您将获得应用程序的所有 java 文件。

在这个阶段,您获得了 java 源代码,但 xml 文件仍然无法读取,所以继续。

Step 3:

现在打开另一个新文件夹并将这些文件

  1. 放置要解码的.apk文件

  2. windows v1.x为And下载 ApktoolApktool

使用谷歌安装窗口并放在同一个文件夹中

  1. 使用 google 下载 framework-res.apk 文件并放在同一个文件夹中(并非所有 apk 文件都需要 framework-res.apk 文件)

  2. 打开命令窗口

  3. 导航到 APKtool 的根目录并键入以下命令: apktool if framework-res.apk.

上面的命令应该导致Framework installed ....

  1. apktool d "appName".apk ("appName" 表示您要解码的应用程序) 现在您在该文件夹中获得了一个文件夹,现在您也可以轻松读取 xml 文件。

Step 4: 最后我们得到了res/项目的java代码,这是我们开始时的目标。

Enjoy and happy coding

于 2013-09-02T09:00:48.043 回答