这可以保护我们的apk在android中反编译吗?
Posted
技术标签:
【中文标题】这可以保护我们的apk在android中反编译吗?【英文标题】:Is this possible to protect our apk to decompile in android? 【发布时间】:2017-01-19 14:17:48 【问题描述】:我创建了一个 android 应用程序,但在该应用程序中我使用的是 url,所以我想保护该 url,因为当我反编译我的 apk 时,java 类 url 内的内容是原样的。
所以我想问一下这是否可以保护该网址?
【问题讨论】:
你可以加密网址。 了解proguard 【参考方案1】:不,没有办法阻止人们看到您包含在 apk 中的任何数据。您不应该在代码中包含秘密数据。混淆几乎没有帮助 - 它只会给你一种虚假的安全感。
【讨论】:
【参考方案2】:将 url 存储在 Native lib 文件中 并到达你想要的地方,这样做你需要NDK
【讨论】:
【参考方案3】:只需在 buildTypes 发布模式的 build gradle 文件中将 minifyEnabled 标记为 true。它会使apk无法查看源代码和decomile。
示例:在 gradle 文件中添加以下行:
buildTypes
release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
//added by me
debug
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
【讨论】:
您必须补充一点,仅添加 proguard 并不是一个完整的证明方法,即使 APK 被混淆,也有一些工具可以反编译。 添加 ProGuard 不会阻止对 apk 的反编译。如果您想防止这种情况并在应用程序中加密字符串,您应该检查 DexGuard,ProGuard 的商业变体。以上是关于这可以保护我们的apk在android中反编译吗?的主要内容,如果未能解决你的问题,请参考以下文章