android - Android 库:对用户隐藏我的类和方法
问题描述
我目前正在开发一个 Android 库。我不想向用户展示我的内部类和方法。我在互联网上找到的解决方案是使用package private
访问修饰符。
我已经实现了一些示例类来测试它。这是三个库类。
第一类 - LoginLister.java
public interface LoginListener {
void Login(String username, String password);
}
第二类 - LoginHelper.java
class LoginHelper implements LoginListener{
@Override
public void Login(String username, String password) {
//The login functionality will implement here. I don't want this code to be visible to the user.
}
}
第三类 - LoginHerperPublic
public class LoginHerperPublic extends LoginHelper {
public LoginHerperPublic(){
}
@Override
public void Login(String username, String password) {
super.Login(username, password);
}
}
这种方法的目的是只向用户显示LoginHelperPublic。
实现此代码后,我创建了 .aar 文件并在另一个示例项目中使用了 .aar 文件。
添加 .aar 作为新模块后,我可以调用 loginHelperPublic.login() 方法。通过这种方法,我可以遍历库的所有代码。
我再次上网寻求解决方案。找到minifyEnabled true
可以解决问题。然后我通过将false
值更改为 .aar 文件来构建 .aar 文件true
。
将 minifyEnabled 设为 true 后,我无法从示例应用程序访问任何类(甚至 LoginHelperPublic)。
我希望你能理解我的要求。请给我正确的方向。
解决方案
推荐阅读
- bash - Bash / Shell:在 bash 脚本中解析 CSV 文件并跳过第一行
- r - 如何使用现有列中的信息在 R 中添加列?
- r-markdown - 使 ioslides 表的第一列不加粗
- javascript - 获取 ng 模型不是 Angular 中输入的已知属性
- google-bigquery - BigQuery 警报,用于查找谁在扫描更多字节
- redhat - 如何在 RH8 上安装 Xvfb?
- vlc - libvlc.dll / libvlccore.dll 是否支持打开和读取超时?
- c# - 如何循环遍历 n 维稀疏矩阵(由自己的类创建)?
- omnet++ - 如何在主机 [] 中使用变量
- python - 如果给定行/列中存在键,则迭代键列表并添加到 Pandas DF