首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android2.2Webview导致没有当前上下文的OpenGL ES (每个线程记录一次)

Android2.2Webview导致没有当前上下文的OpenGL ES (每个线程记录一次)
EN

Stack Overflow用户
提问于 2012-09-28 17:47:22
回答 1查看 3.5K关注 0票数 12

首先,感谢你阅读这篇文章,并提前感谢你在这件事上帮助我。我目前正在为android创建一个运行Webapps的webshell,这是在Android2.2SDK上运行的。

当我调试我的应用程序时出现了这个问题(这是在Android 4.0手机上通过usb完成的):

代码语言:javascript
运行
复制
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: android.sec.clipboard.ClipboardExManager@41a184d8
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!

这是我在主类中的代码:

代码语言:javascript
运行
复制
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;
    }  
}

最后但并非最不重要的一点是,运行的xml im:

代码语言:javascript
运行
复制
<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>

我知道这个配置对其他人有帮助:

代码语言:javascript
运行
复制
<application android:hardwareAccelerated="true" ...>

然而,这是SDK的2.3.3以上版本,我运行的SDK不支持此功能。

我真的希望你能在这件事上帮助我。

提前谢谢你,

大卫

EN

回答 1

Stack Overflow用户

发布于 2013-08-14 01:44:17

要获取android:hardwareAccelerated属性并仍然支持API8 (2.2),请将targetSdkVersion设置为11,但保留minSdkVersion原样:

代码语言:javascript
运行
复制
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="11" />
<application android:hardwareAccelerated="true" ...

当在API11之前的设备上运行时,hardwareAccelerated将被忽略。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12637584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档