我目前正在开发一个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
值更改为true
来构建.aar文件。
将minifyEnabled设为true后,我无法从我的示例应用程序访问任何类(甚至是LoginHelperPublic)。
我希望你了解我的要求。请给我正确的方向。