Я сейчас занимаюсь разработкой библиотеки 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
решит проблему.Затем я создаю файл .aar, изменив значение false
на true
.
После того как minifyEnabled имеет значение true, я не могу получить доступ ни к одному классу (даже к LoginHelperPublic) из моего примера приложения.
Надеюсь, вы поняли мое требование.Пожалуйста, дайте мне правильное направление.