2014-08-28 11 views
5

इंस्टॉल करने के बाद कोड को डीबग करने में सक्षम हूं। मैं अपने एंड्रॉइड ऐप को कॉर्डोवा के साथ प्रकाशित करने की कोशिश कर रहा हूं और प्रकाशन के दौरान मैंने एंड्रॉइड जैसे सभी चरणों का पालन किया: debuggable = "false" या यहां तक ​​कि इस लाइन को नवीनतम सुझाव के रूप में हटा रहा है लेकिन समस्या यह है कि जब मैं अपने एमुलेटर में हस्ताक्षरित निर्माण संस्करण स्थापित करता हूं तो मैं इसे डीबग करने में सक्षम हूं ... कोई मदद?WebView.setWebContentsDebuggingEnabled (false) लेकिन मैं हस्ताक्षरित एपीके

अपडेट: -

प्रति सुझाव मैंने कोशिश के रूप में .. सार्वजनिक शून्य OnCreate (बंडल savedInstanceState) {} में

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); 
      } 
     } 
    } 
} 

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 
      } 

लेकिन यह अभी भी काम नहीं कर रहा है ... अभी भी एचटीएमएल जेएस फाइल डीबग करने में सक्षम हूं es

+0

आप टूर कोड कैसे डिबगजिन कर रहे हैं? –

+0

क्रोम डिवाइस उपकरण – Luckyy

उत्तर

0

आपको अपना वेबव्यू डिबगबल करने योग्य नहीं है: WebView.setWebContentsDebuggingEnabled(false)। मैं जाँच की है:

public class HTML5Application extends CordovaActivity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     //webView.setWebChromeClient(new WebChromeClient()); 
     super.onCreate(savedInstanceState); 
     super.init(); 
     // Set by <content src="index.html" /> in config.xml 
     super.loadUrl(Config.getStartUrl()); 
     //super.loadUrl("file:///android_asset/www/index.html") 

     if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){ 
      Log.i("xxxxxx", "Enabling web debugging"); 
      OnlyForKitKat.enableWebViewDebugging(); 
     } 

     appView.setOnKeyListener(new OnKeyListener() { 
      @Override 
      public boolean onKey(View v, int keyCode, KeyEvent event) { 
       if (keyCode == KeyEvent.KEYCODE_BACK) return true; 
       return false; 
      } 
     }); 
    } 

और

@SuppressLint("NewApi") 
public class OnlyForKitKat { 

    public static void enableWebViewDebugging() { 
     WebView.setWebContentsDebuggingEnabled(false); 
    } 

} 

enter image description here

+1

के माध्यम से ऊपर की कोशिश की .... मैंने पूरे कोड चिपकाया, यह काम नहीं कर रहा है – Luckyy

+0

क्रोम :: // निरीक्षण डीबग पेज नहीं दिखाता है। क्या आप स्थिति को अक्षम कर सकते हैं यदि (0! = (GetAplicationInfo()। Flags = ApplicationInfo.FLAG_DEBUGGABLE)) {? –

+0

बहुत धन्यवाद ... लेकिन बस इस स्थिति को अक्षम करने से डीबग समस्या – Luckyy

1

वहाँ अपने कोड में एक बग है। यह बिना शर्त रूप से किटकैट और नए पर आपके सभी ऐप के वेब व्यू में डिबगिंग को सक्षम बनाता है, इस पर ध्यान दिए बिना कि ऐप को डिबग्रेबल के रूप में चिह्नित किया गया है या नहीं।

0 != (getApplicationInfo().flags = ApplicationInfo.FLAG_DEBUGGABLE) वास्तव में 0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) होना चाहिए।

संबंधित मुद्दे