Cordova 由于SslErrorHandler,PlayStore警告应用程序
我们使用Cordova和Ionic 3开发了一个应用程序,在将我们的应用程序的新版本更新到Play Store后,我们收到了以下警告 下面是警告的屏幕截图: 我们使用以下作为环境:Cordova 由于SslErrorHandler,PlayStore警告应用程序,cordova,ionic3,android-security,cordova-android,sslerrorhandler,Cordova,Ionic3,Android Security,Cordova Android,Sslerrorhandler,我们使用Cordova和Ionic 3开发了一个应用程序,在将我们的应用程序的新版本更新到Play Store后,我们收到了以下警告 下面是警告的屏幕截图: 我们使用以下作为环境: cordova-android: 7.1.4 cordova-cli: 8.0.0 ionic: 3.20.0 我找到的唯一相关代码是cordova引擎下的文件SystemWebViewClient.java,我们无法真正更改,也从未更改过,因为它位于生成的文件夹platforms/android/Cordova
cordova-android: 7.1.4
cordova-cli: 8.0.0
ionic: 3.20.0
我找到的唯一相关代码是cordova引擎下的文件SystemWebViewClient.java,我们无法真正更改,也从未更改过,因为它位于生成的文件夹platforms/android/CordovaLib/src/org/apache/cordova/engine/下
这是可以找到的代码:
/**
* Notify the host application that an SSL error occurred while loading a resource.
* The host application must call either handler.cancel() or handler.proceed().
* Note that the decision may be retained for use in response to future SSL errors.
* The default behavior is to cancel the load.
*
* @param view The WebView that is initiating the callback.
* @param handler An SslErrorHandler object that will handle the user's response.
* @param error The SSL error object.
*/
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
final String packageName = parentEngine.cordova.getActivity().getPackageName();
final PackageManager pm = parentEngine.cordova.getActivity().getPackageManager();
ApplicationInfo appInfo;
try {
appInfo = pm.getApplicationInfo(packageName, PackageManager.GET_META_DATA);
if ((appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
// debug = true
handler.proceed();
return;
} else {
// debug = false
super.onReceivedSslError(view, handler, error);
}
} catch (NameNotFoundException e) {
// When it doubt, lock it out!
super.onReceivedSslError(view, handler, error);
}
}
有人找到过解决方案吗?你找到了解决方案吗?@AdrianKrebs是的,我们能够找到我们使用的第三方库中的class.cf,因此他们向我们发送了一个更新版本的修复程序。我们通过对apk文件进行反向工程来发现它,并将其跟踪到第三方库,我建议至少也这样做以查明问题所在。您还可以编写一个脚本来修改适当的文件,以解决此问题。