如何加密Android应用程序,以便客户端无法看到源代码?

时间:2013-06-04 07:20:39

标签: java android

我的Android应用程序需要在客户端安装项目模板,所以一旦用户点击生成APK,它就会修改该模板并创建一个Android应用程序,APK是使用ANT生成的,我担心的是我不知道希望客户端能够浏览项目并查看代码,我需要一种方法使该模板至少加密到具有类的SRC文件夹,一旦用户单击生成APK,它将在运行时解密APK生成,然后它将再次加密,有没有办法实现这一点?

注意:它将安装在Windows OS中

5 个答案:

答案 0 :(得分:2)

启用ProGuard是发布模式

要启用ProGuard以使其作为Ant或Eclipse构建的一部分运行,请在/project.properties文件中设置proguard.config属性。路径可以是绝对路径或相对于项目根目录的路径。

ProGuard工具通过删除未使用的代码并使用语义模糊的名称重命名类,字段和方法来缩小,优化和混淆代码。结果是较小的.apk文件,更难以进行逆向工程。由于ProGuard使您的应用程序更难以进行逆向工程,因此当您的应用程序使用对安全性敏感的功能时(例如,在许可您的应用程序时),使用它非常重要。

检查以下主题启用Proguard

下的链接

http://developer.android.com/tools/help/proguard.html

一些有用的链接

http://proguard.sourceforge.net/index.html#manual/examples.html

Enabling ProGuard in Eclipse for Android

ANT build for Android Proguard obfuscation

答案 1 :(得分:1)

答案 2 :(得分:1)

您实际上无法加密它,因为它意味着在运行时更改apk文件以解密它。谷歌可以阻止你的申请。 你可以做的一件事是混淆你的代码,使其更难以逆转。

答案 3 :(得分:0)

检查this :)然后尝试从您自己的apk(just for fun)获取代码

答案 4 :(得分:0)

  

ProGuard无法加密APK,但DexGuard可以加密。

它还会更彻底地混淆APK。您可以找到ProGuard和DexGuard here之间差异的概述:。

(完全披露:我在开发ProGuard和DexGuard的公司GuardSquare工作。)