首页 > 解决方案 > 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)。

我希望你能理解我的要求。请给我正确的方向。

标签: androidandroid-library

解决方案


推荐阅读