如何解决创建不显示代码的Java库
我想创建一个包含视图,适配器,SQLite,库等的Java库。 但我希望用户无法访问我的图书馆的代码。 实际上看到的是方法名称的接口,仅用于调用。 我该怎么办?
解决方法
没有简单,可靠的方法来防止Java类的反编译。但是,实际上有许多Java的“混淆器”工具非常接近。
,无法完全保护您的源代码,尤其是在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中调用这些类。
第三种方法:虽然看起来很愚蠢,但确实有效。许多反编译您的代码的程序员不够认真,不足以花费大量时间来理解您的代码。因此,您可以通过使用接口,中间方法,额外的调用和许多其他创新方法,在项目/库中添加额外的样板代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。