2012-09-28 12 views
12

सबसे पहले, इस पोस्ट को पढ़ने के लिए धन्यवाद और इस मामले में मेरी सहायता के लिए अग्रिम धन्यवाद। मैं वर्तमान में वेबपैस चलाने के लिए एंड्रॉइड के लिए एक वेबशेल बना रहा हूं, यह एंड्रॉइड 2.2 एसडीके पर चल रहा है।एंड्रॉइड 2.2 वेबव्यू ओपनजीएल ईएस एपीआई का कारण नहीं है जिसमें कोई मौजूदा संदर्भ नहीं है (प्रति थ्रेड में एक बार लॉग किया गया है)

समस्या प्रकट होता है जब मैं अपने आवेदन (यह USB के माध्यम से एक Android 4.0 फ़ोन पर किया जाता है) डिबग:

package com.android_api8_webshell; 

import android.os.Bundle; 
import android.app.Activity; 
import android.util.Log; 
import android.view.Menu; 
import android.webkit.WebView; 
import android.webkit.WebSettings; 

public class Main extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     WebView myWebView = (WebView) findViewById(R.id.webView1); 

     WebSettings webSettings = myWebView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 

     Log.v("StringUrl", "String: " + getResources().getText(R.string.url)); 

     myWebView.loadUrl(getResources().getText(R.string.url).toString()); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 
} 

और आखिरी:

09-28 11:32:32.415: D/dalvikvm(25629): Debugger has detached; object registry had 576 entries 
09-28 11:32:36.355: W/ActivityThread(25764): Application com.android_api8_webshell is waiting for the debugger on port 8100... 
09-28 11:32:36.375: I/System.out(25764): Sending WAIT chunk 
09-28 11:32:36.380: I/dalvikvm(25764): Debugger is active 
09-28 11:32:36.575: I/System.out(25764): Debugger has connected 
09-28 11:32:36.575: I/System.out(25764): waiting for debugger to settle... 
09-28 11:32:36.775: I/System.out(25764): waiting for debugger to settle... 
09-28 11:32:36.975: I/System.out(25764): waiting for debugger to settle... 
09-28 11:32:37.175: I/System.out(25764): waiting for debugger to settle... 
09-28 11:32:37.375: I/System.out(25764): waiting for debugger to settle... 
09-28 11:32:37.575: I/System.out(25764): waiting for debugger to settle... 
09-28 11:32:37.780: I/System.out(25764): waiting for debugger to settle... 
09-28 11:32:37.980: I/System.out(25764): waiting for debugger to settle... 
09-28 11:32:38.180: I/System.out(25764): waiting for debugger to settle... 
09-28 11:32:38.385: I/System.out(25764): waiting for debugger to settle... 
09-28 11:32:38.585: I/System.out(25764): debugger has settled (1497) 
09-28 11:32:38.710: I/webclipboard(25764): clipservice: [email protected] 
09-28 11:32:38.765: V/StringUrl(25764): String: http://www.cidesign.nl 
09-28 11:32:38.785: D/WML_SISO(25764): InitPasteboardJni 
09-28 11:32:38.795: V/(25764): NotificationPresenterImpl::setSettingsValue 0 
09-28 11:32:38.795: V/(25764): NotificationPresenterImpl::setSettingsValue 0 
09-28 11:32:38.800: D/webkit(25764): Firewall not null 
09-28 11:32:38.800: D/webkit(25764): euler: isUrlBlocked = false 
09-28 11:32:38.930: D/CLIPBOARD(25764): Hide Clipboard dialog at Starting input: finished by someone else... ! 
09-28 11:32:42.440: I/GATE(25764): <GATE-M>DEV_ACTION_COMPLETED</GATE-M> 
09-28 11:32:42.455: E/libEGL(25764): call to OpenGL ES API with no current context (logged once per thread) 
09-28 11:32:42.455: D/ShaderProgram(25764): couldn't load the vertex shader! 
09-28 11:32:42.455: E/libEGL(25764): call to OpenGL ES API with no current context (logged once per thread) 
09-28 11:32:42.455: D/ShaderProgram(25764): couldn't load the vertex shader! 
09-28 11:32:42.455: E/libEGL(25764): call to OpenGL ES API with no current context (logged once per thread) 
09-28 11:32:42.455: D/ShaderProgram(25764): couldn't load the vertex shader! 
09-28 11:32:42.455: E/libEGL(25764): call to OpenGL ES API with no current context (logged once per thread) 
09-28 11:32:42.455: D/ShaderProgram(25764): couldn't load the vertex shader! 
09-28 11:32:42.455: E/libEGL(25764): call to OpenGL ES API with no current context (logged once per thread) 
09-28 11:32:42.455: D/ShaderProgram(25764): couldn't load the vertex shader! 

यह मेरा मुख्य वर्ग में अपने कोड है

<resources> 
    <string name="title_activity_main">Main</string> 
    <string name="url">http://www.cidesign.nl</string> 
    <string name="app_name">Android_API8_WebShell</string> 
    <string name="menu_settings">Settings</string> 
</resources> 

मैं इस विन्यास कि othe मदद की के बारे में पता कर रहा हूँ: लेकिन कम से कम नहीं, एक्सएमएल im के साथ चल रहा है रु:

<application android:hardwareAccelerated="true" ...> 

इस SDK के 2.3.3 से ऊपर, एसडीके मैं समर्थन नहीं करता इस सुविधा के साथ चल रहा हूँ के लिए तथापि है।

मुझे उम्मीद है कि आप इस मामले के साथ मेरी मदद कर सकते हैं।

अग्रिम धन्यवाद,

डेविड

+0

यदि कोई नया एसडीके उपयोग करने का कोई तरीका है, तो आप हमेशा setLayerType (View.LAYER_TYPE_SOFTWARE, null) का प्रयास कर सकते हैं; –

+0

आप प्रतिबिंब का उपयोग कर सॉफ्टवेयर परत में बदल सकते हैं ताकि यह अभी भी पुराने उपकरणों पर काम करेगा। मैंने वर्णन किया कि यहां कैसे: http://stackoverflow.com/questions/7781655/android-setlayertype-webview/11145961#11145961 –

+0

क्या आपके लिए एसडीके 2.2 का उपयोग करना अनिवार्य है या आप हाल ही में एसडीके का उपयोग कर सकते हैं (मान लें 4.2। 2) लेकिन समर्थन एपीआई के माध्यम से 2.2 डिवाइस का समर्थन? – rockeye

उत्तर

2

android:hardwareAccelerated संपत्ति प्राप्त करने के लिए और अभी भी एपीआई 8 (2.2) का समर्थन, 11 करने के लिए targetSdkVersion सेट लेकिन minSdkVersion वैसा ही छोड़ दें:

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11" /> 
<application android:hardwareAccelerated="true" ... 

जब रन प्री-एपीआई 11 डिवाइस पर, hardwareAccelerated को अभी अनदेखा कर दिया जाएगा।

+0

मैं 2.2 से 4.2 पर चल रहा हूं तो कोई समाधान? – PankajAndroid

+0

यह ठीक है। क्या यह आपके लिए काम नहीं करता है? बस targetSdkVersion को 17 पर सेट करें - यह 4.2 –

+0

के लिए एक है क्षमा करें यह काम कर रहा है – PankajAndroid