android – WebView.setWebContentsDebuggingEnabled(false)但我可以在安装签名APK后调试代码

前端之家收集整理的这篇文章主要介绍了android – WebView.setWebContentsDebuggingEnabled(false)但我可以在安装签名APK后调试代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图发布我用cordova创建的Android应用程序,并在发布时我遵循所有步骤,如android:debuggable =“false”甚至删除此行作为其最新建议但问题是我在我的模拟器中安装签名的构建版本我可以调试它……任何帮助?

更新: –

根据建议,我试过..

public class appname extends CordovaActivity 
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        super.init();
        super.loadUrl(Config.getStartUrl());
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
            if(0 != (getApplicationInfo().flags = ApplicationInfo.FLAG_DEBUGGABLE)){
                //Log.i("Your app","Disable web debugging");
                WebView.setWebContentsDebuggingEnabled(false);
            }
        }
    }
}

in public void onCreate(Bundle savedInstanceState){}

在CordovaWebView.java中找到了这段代码

if((appInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0 &&  
                android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT)
            {
                setWebContentsDebuggingEnabled(true); // I tried setting this false as well
            }

但它仍然无法工作……我仍然能够调试html js文件

最佳答案
您的代码中存在错误.无论应用程序是否标记为可调试,它都可以无条件地在KitKat和更新版本的所有应用程序的WebView中进行调试.

0!=(getApplicationInfo().flags = ApplicationInfo.FLAG_DEBUGGABLE)实际应该是0!=(getApplicationInfo().flags& ApplicationInfo.FLAG_DEBUGGABLE).

猜你在找的Android相关文章