java - 如何使用 ProGuard(或任何其他方式)隐藏库 Jar 中的公共(public)类?

标签 java android proguard

我想构建一个库,但我不希望某些类暴露给开发人员,但我确实希望它们能暴露给我的库代码并轻松测试。

有没有办法使用 ProGuard 或任何其他方式(如 Android SDK 中使用的 @hide 符号)隐藏特定的公共(public)类?

最佳答案

obfuscatin 的全部意义在于它为外部人员隐藏了方法,但更新了库中的引用。通常,您会有一个

void myMethodWithAVeryExplicitName() {
    // Do Stuff
}

void otherMethod() {
    // Call the first method
    myMethodWithAVeryExplicitName();
}

它将被混淆为:

void a() {
    // Do Stuff
}

void b() {
    // Call the first method
    a();
}

然后 Proguard 有很多选项可以混淆或保留公共(public)类、扩展特定类的类、成员......

关于java - 如何使用 ProGuard(或任何其他方式)隐藏库 Jar 中的公共(public)类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658672/

相关文章:

java - proguard 没有正确混淆

java - 如何通过 NSIS 脚本使 prunsvr 工作

java - Android 应用程序中出现奇怪的 NetworkOnMainThreadException?

java - Google Analytics SDK 中的 Android StringIndexOutOfBoundsException

android - 在 Android 上获取完全自定义的 Facebook 登录按钮

Android multidex 不支持混淆器

Java数组赋值多个值保留初始数组

java - 能够获取 Box 文件夹项目,但无法使用 API 从 Box 下载文件

java - 如何使用 Selenium 监视网页并知道何时出现新的 html 元素?

android - Gradle 构建失败 java.io.IOException : The output jar is empty