首页 文章

ProGuard可以将访问修改程序更改为package-private吗?

提问于
浏览
1

是否有可能使用ProGuard将所有混淆的类移动到命名包并将其公共或受保护的方法或成员变量更改为包受保护?

我知道你可以使用-repackageclasses来移动类,但似乎-allowaccessmodification将访问修饰符更改为public . 目标是防止我的库的用户能够使用除暴露的公共API之外的任何东西 . 任何帮助表示赞赏 .

编辑:我的意思是package-private不受包保护 .

1 回答

  • 0

    我不认为你应该这样做 . 当编译类并且代码获胜时,会改变访问模式;换句话说,如果限定符更改为 public ,则成功调用 protected 方法/对象的对象仍然可以访问它 . 相反的情况并非如此;转换 protected 的对象/方法可能会突然变为对调用对象不可见/不可访问 - 呈现编译错误的代码 . 我之前使用过ProGuard,但我的回答是基于逻辑而不是实验 .

相关问题