Java 如何加密android应用程序,使客户端无法看到源代码?

Java 如何加密android应用程序,使客户端无法看到源代码?,java,android,Java,Android,我的android应用程序需要在客户端安装一个项目模板,因此一旦用户点击生成APK,它就会修改该模板并创建一个android应用程序,APK是使用ANT生成的,我担心的是,我不希望客户端能够浏览项目并看到代码,我需要一种方法,使该模板加密至少SRC文件夹,其中有类,一旦用户点击生成APK,它将在运行时解密,直到生成APK,然后它将再次加密,有没有办法实现这一点 注意:它将安装在windows操作系统中(签出:),然后尝试从您自己的apk()获取代码(签出:),然后尝试从您自己的apk()获取代码

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


注意:它将安装在windows操作系统中(签出:),然后尝试从您自己的apk()获取代码(签出:),然后尝试从您自己的apk()获取代码。您只需启用proguard:

以下是ant的一个示例:

这是一个很好的图坦卡蒙:


希望这有帮助。

您只需启用proguard:

以下是ant的一个示例:

这是一个很好的图坦卡蒙:


希望这有帮助。

您实际上无法对其进行加密,因为这意味着在运行时更改apk文件以对其进行解密。谷歌可以阻止你的应用程序。
有一件事你可以做,那就是混淆你的代码,使其更难反转。

你不能真正加密它,因为这意味着在运行时更改apk文件来解密它。谷歌可以阻止你的应用程序。
您可以做的一件事是混淆代码,使其更难反转。

启用ProGuard是释放模式

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

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

检查以下主题“启用Proguard”下的链接

一些有用的链接


启用ProGuard是释放模式

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

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

检查以下主题“启用Proguard”下的链接

一些有用的链接

ProGuard无法加密APK,但DexGuard可以

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

(充分披露:我在GuardSquare工作,这是一家开发ProGuard和DexGuard的公司。)

ProGuard无法加密APK,但DexGuard可以

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


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

在发布模式下启用ProGuard。这将使发布模式下的反向工程可编程保护变得更加困难。这将使逆向工程更加困难