Библиотека Android: скрытие моих классов и методов от пользователя - PullRequest
0 голосов
/ 10 мая 2018

Я сейчас занимаюсь разработкой библиотеки 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) из моего примера приложения.

Надеюсь, вы поняли мое требование.Пожалуйста, дайте мне правильное направление.

...