Android库:对用户隐藏我的类和方法
我目前正在开发一个Android库。我不想向用户显示我的内部类和方法。我在互联网上找到的解决方案是使用Android库:对用户隐藏我的类和方法,android,android-library,Android,Android Library,我目前正在开发一个Android库。我不想向用户显示我的内部类和方法。我在互联网上找到的解决方案是使用package privateaccess修饰符 我已经实现了一些示例类来测试它。这是三个图书馆课程 第一类-LoginLister.java public interface LoginListener { void Login(String username, String password); } class LoginHelper implements LoginListen
package private
access修饰符
我已经实现了一些示例类来测试它。这是三个图书馆课程
第一类-LoginLister.java
public interface LoginListener {
void Login(String username, String password);
}
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.
}
第二类-LoginHelper.java
public interface LoginListener {
void Login(String username, String password);
}
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.
}
}
第三类-登录或公开
public class LoginHerperPublic extends LoginHelper {
public LoginHerperPublic(){
}
@Override
public void Login(String username, String password) {
super.Login(username, password);
}
}
这种方法的目的是只向用户显示LoginHelperPublic
在实现了这段代码之后,我创建了.aar文件,并在另一个示例项目中使用了.aar文件
在添加.aar作为一个新模块后,我能够调用LoginHelpPublic.login()方法。通过这种方法,我可以遍历库中的所有代码
我再次上网寻求解决办法。发现minifyEnabled true
将解决此问题。然后通过将false
值更改为true
来构建.aar文件
将minifyEnabled设置为true后,我无法从示例应用程序中访问任何类(甚至是LoginHelpPublic)
我希望你能理解我的要求。请给我正确的方向。使用public、private和protected,您应该能够解决您想要向使用api的开发人员显示(第一种情况)/隐藏的内容。我只能限制访问。使用访问修饰符。他们仍然可以看到内部方法,即使它是受保护的或私有的。minifyEnabled会激活Proguard,它会屏蔽输出并删除它认为您不使用的代码。您需要对其进行配置,使其不会删除您需要的类。不过,这会扰乱apk,但不会阻止开发人员使用您宣布公开的内容。谢谢Juan,我会检查它。@SunSun您有什么解决方案吗?