【问题标题】:create java library that don't display code [closed]创建不显示代码的java库[关闭]
【发布时间】:2020-12-31 07:17:32
【问题描述】:

我想创建一个包含视图、适配器、SQLite、库等的 java 库... 但我希望用户无法访问我图书馆的代码。 实际上看到一个方法名称的接口只是为了调用。 我该怎么做?

【问题讨论】:

  • 是否关注您的源代码?就像您想保护您的源代码不被泄露一样?
  • @Sajjad 是的,我想保护代码泄露

标签: java android android-studio interface


【解决方案1】:

没有办法完全保护您的源代码,尤其是在 Java 中。您可以让其他人难以获取您的源代码。

第一种方法:一种主要技术是使用Proguard 等工具进行代码混淆。您可以通过将属性 minifyEnabled true 添加到您的 gradle 来启用它:

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

使用这种技术,您必须排除用户需要与之交互的类。在 proguard 配置文件中:

-keep class com.example.myapp.ThisParticularClass

第二种方法:您可以使用的另一种技术是在您的库中添加一些 C/C++ 代码。您可以执行一些特定任务,例如在 C/C++ 类中构建字符串、特殊字符、存储键和数字,然后在您的 java 中调用这些类。

第三种方法:虽然看起来很笨,但确实有效。很多反编译你的代码的程序员不够认真,不会花很多时间去理解你的代码。因此,您可以通过使用接口、中间方法、额外调用和一系列其他创新方法向您的项目/库添加额外的样板代码。

【讨论】:

    【解决方案2】:

    没有简单、可靠的方法来防止反编译 Java 类。但是,有许多 Java 的“混淆器”工具在实践中非常接近。

    【讨论】:

      猜你喜欢
      • 2013-03-10
      • 1970-01-01
      • 2013-06-02
      • 2013-09-11
      • 1970-01-01
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多