Ошибка аутентификации номера телефона Huawei AGConnectAuth: ТОЛЬКО ОДНО строковое поле можно аннотировать как URL
Я хочу использовать в своем приложении аутентификацию по телефону. Когда я запускаю приложение в студии Android, функция работает нормально.
Но когда я устанавливаю выпущенное приложение из галереи приложений, я получаю эту ошибку: « ТОЛЬКО ОДНО строковое поле можно аннотировать как URL ».
Это файл build.gradle:
...
signingConfigs {
config {
storeFile file('/Users/username/AndroidStudioProjects/somepath/example.jks')
storePassword 'password'
keyAlias 'foldername'
keyPassword 'password'
}
}
...
buildTypes {
debug {
minifyEnabled false
debuggable true
signingConfig signingConfigs.config
}
release {
signingConfig signingConfigs.config
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Это код запроса аутентификации телефона:
private void startPhoneNumberVerification() {
// [START start_phone_auth]
VerifyCodeSettings settings = new VerifyCodeSettings.Builder()
.action(VerifyCodeSettings.ACTION_REGISTER_LOGIN)
.locale(Locale.getDefault())
.sendInterval(30)
.build();
Task<VerifyCodeResult> task = AGConnectAuth.getInstance().requestVerifyCode(countryCode, phoneNumberWithoutCountryCode, settings);
task.addOnSuccessListener(TaskExecutors.uiThread(), new OnSuccessListener<VerifyCodeResult>() {
@Override
public void onSuccess(VerifyCodeResult verifyCodeResult) {
phoneNumberContainer.setVisibility(View.GONE);
verifyCodeContainer.setVisibility(View.VISIBLE);
}
}).addOnFailureListener(TaskExecutors.uiThread(), new OnFailureListener() {
@Override
public void onFailure(Exception e) {
Log.e(TAG, "CODE SEND ERROR : " + e.getMessage());
// Error : code: 2 message: ONLY ONE String Field can be annotated as Url
}
}
});
// [END start_phone_auth]
}
Настройки подписи приложений
Настройки проекта
Спасибо за все советы.
2 ответа
Попробуйте добавить следующие сценарии обфускации, чтобы решить вашу проблему.
-keep class com.huawei.agconnect.** {*;}
-keepresourcexmlelements **
-keepresources */*
в правилах proguard добавьте
-keep class com.huawei.agconnect.** {*;}
работал на меня