Пакет Java не является общедоступным и недоступен вне пакета

Привет, я не профессиональный Java-разработчик, но я пытаюсь написать собственный компонент Android для собственного реагирования, но я сталкиваюсь со следующим журналом ошибок при написании.

/Users/waqas.bhatti/Projects/es-tracker/mobile/tracker/custom_modules/custom-react-native-app-auth/android/src/main/java/com/reactlibrary/RNCustomAppAuthModule.java:27: error: AdditionalParamsProcessor is not public in net.openid.appauth; cannot be accessed from outside package
import static net.openid.appauth.AdditionalParamsProcessor.builtInParams;
                                ^
/Users/waqas.bhatti/Projects/es-tracker/mobile/tracker/custom_modules/custom-react-native-app-auth/android/src/main/java/com/reactlibrary/RNCustomAppAuthModule.java:27: error: static import only from classes and interfaces
import static net.openid.appauth.AdditionalParamsProcessor.builtInParams;
^
/Users/waqas.bhatti/Projects/es-tracker/mobile/tracker/custom_modules/custom-react-native-app-auth/android/src/main/java/com/reactlibrary/RNCustomAppAuthModule.java:28: error: AdditionalParamsProcessor is not public in net.openid.appauth; cannot be accessed from outside package
import static net.openid.appauth.AdditionalParamsProcessor.checkAdditionalParams;
                                ^
/Users/waqas.bhatti/Projects/es-tracker/mobile/tracker/custom_modules/custom-react-native-app-auth/android/src/main/java/com/reactlibrary/RNCustomAppAuthModule.java:28: error: static import only from classes and interfaces
import static net.openid.appauth.AdditionalParamsProcessor.checkAdditionalParams;
^
/Users/waqas.bhatti/Projects/es-tracker/mobile/tracker/custom_modules/custom-react-native-app-auth/android/src/main/java/com/reactlibrary/RNCustomAppAuthModule.java:106: error: cannot find symbol
                                .setCodeVerifier(CodeVerifierUtil.generateRandomCodeVerifier())
                                                 ^
  symbol: variable CodeVerifierUtil
5 errors

Любая идея, как я могу импортировать это? или есть работа вокруг?

Многие из вас проверяют эту библиотеку по следующему URL: https://github.com/openid/AppAuth-Android/blob/master/library/java/net/openid/appauth/AuthorizationServiceConfiguration.java#L102

1 ответ

Один уродливый обходной путь для вызова методов, защищенных пакетом, состоит в том, чтобы поместить собственный класс в этот пакет с помощью открытого метода, который перенаправляет вызов метода.

Например:

public class net.openid.appauth.PublicWorkarround {
    public static Set<String> buildInParams(Set<String> params) {
        return net.openid.appauth.AdditionalParamsProcessor.builtInParams(params);
    }
} 
Другие вопросы по тегам