android – 恢复APK的代码

我最近删除了我的硬盘并丢失了几周的工作.尽管经常提交,我还没有将我的变化推向上游一段时间.

我已经从我的手机中提取了我的应用程序的APK,并且我一直在尝试恢复其代码.我认为它是可能的,因为它是一个测试版本(因此,没有混淆或类似的东西).

我能够实现的最好结果是使用dex2jar,但我仍然有很多像这样的代码

int i = context.getResources().getDimensionPixelSize(2131165184);
int j = context.getResources().getDimensionPixelSize(2131165184);
screenNameParams.addRule(10);
screenNameParams.addRule(1,2131034138);
screenNameParams.setMargins(paramInt,0);

甚至:

long l1 = paramLong1;
long l2 = paramLong2;
long l3 = paramLong3;
int i = paramInt;
List localList = localClient.getBetween(l1,l2,l3,i);

我对android-apktool的体验更糟糕,因为我甚至无法从中获得一些Java代码……这是预期的,因为它适用于smali调试.

我已经在这里阅读了所有相关的问题,我看到有人说“除非你是开发人员,否则很难获得apk的实际源代码”,所以有希望,因为我是开发人员.

最后,我的问题是:是否可以完全恢复APK的原始代码,考虑到它是来自eclipse的测试版本?

解决方法

简而言之,没有.看起来您的代码是通过ProGuard运行并进行模糊处理(正常情况下),因此您将无法获得原始代码.在你关于成为开发人员的报价中,那些人基本上都在说“除非你已经拥有它,否则很难获得APK的来源,因为你是开发人员”但在这种情况下,即使你是开发人员,你也是失去了源头.

我能想到的唯一可以尝试的最后一个选择是找到一个硬盘恢复程序并尽快使用它,看看你是否可以恢复你的源.也许你还没有覆盖这些领域.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...