如何解决华为AGConnectAuth电话号码认证错误:ONLY ONE String Field can be annotate as Url
我想在我的应用中使用电话认证。 当我在 android studio 中运行该应用程序时,该功能运行良好。
但是,当我从应用程序库安装已发布的应用程序时,出现此错误:“只有一个字符串字段可以注释为 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]
}
应用签名设置
项目设置
感谢所有建议。
解决方法
尝试添加以下混淆脚本可能会解决您的问题。
-keep class com.huawei.agconnect.** {*;}
-keepresourcexmlelements **
-keepresources */*
,
在 ProGuard 规则中,添加:
-keep class com.huawei.agconnect.** {*;}
这对我有用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。