2014-11-07 2 views
4

PhoneGap/Cordova 앱에서 일부 WebGL을 렌더링하려하지만 운이 없습니다.WebGL이 PhoneGap에서 작동하지 않습니다. KitKat

var canvas = document.createElement('canvas'); 
var gl = canvas.getContext("webgl") || canvas.getContext("experimental-webgl"); 
if (!gl) { 
    console.log('WebGL not supported'); 
} 

gl 변수는 항상 null입니다.

내가 원 플러스 원과 크롬 38

동일한 코드가 iOS8의와 바탕 화면에 잘 작동 모두 안드로이드 킷캣의 v4.4.4이다 넥서스 5 시도했습니다.

코드는 해당 장치의 크롬에로드 된 일반 웹 페이지에서 작동합니다. 그래도

CCA을 사용해 보았는데, 횡단 보도를 사용하여 Chrome을 앱에 포함 시켰습니다.

인터넷 검색을 시도했습니다. 기기에서 문제가 발생했을 때 문제가 발생했습니다 (iOS < v8 및 Android < v4.4).

빌드 체인에서 사용할 수 있어야한다고 생각합니다.

미리 감사드립니다.

글렌

답변

8

help 그것을 알아 냈어요.

크롬 38이 설치되어 있어도 WebView는 실제로 설치된 크롬 버전을 사용하지 않고 OS와 함께 제공되는 다른 버전을 자동으로 업데이트하지 않습니다.

WebView는 실제로 Chrome33 doesn't support WebGL입니다.

Android L이 출시되면 WebView에서 WebGL을 지원하며 자동으로 업데이트됩니다.

CCA 버전과 관련하여 WebGL을 지원하는 Chrome 37이 번들로 제공됩니다. blacklisted GPUs이없는 기기에서 작동합니다. these instructions을 따르면 블랙리스트를 무시하고 모든 장치에서 실행할 수 있지만 불안정한 결과가 발생할 수 있음을 알립니다.

+1

웹 뷰는 기기의 브라우저와 관련이 없으며 SDK와 함께 제공됩니다. –

+0

@DawsonLoudon 네 말이 맞아. 나는 나쁜 가정을했다. Android L의 WebView는 Play 스토어에서 업데이트 할 수 있습니다. – Garrows

+0

예, 읽었습니다. 그들은 업데이트 될 수 있도록 SDK의 더 많은 부분을 재생 서비스에 묶기 시작했습니다. Google의 대처 –

1

Android 4.0 이상에서 WebGL을 사용하려는 경우 Ludei (http://ludei.com)에는 Android에서 최신 Chromium 프로젝트를 사용할 수있는 WebView +라는 프로젝트가 있습니다. 단점은 최종 APK에 15MB가 추가된다는 것입니다. CocoonJS Launcher App : https://play.google.com/store/apps/details?id=com.ideateca.cocoonjslauncher&hl=es을 사용하여 URL을 가리킬 수 있으며 (QRCode를 사용하기 때문에 모바일 장치에 전체 URL을 입력 할 필요가 없음) 테스트 할 프로젝트와 함께 전체 ZIP 파일을 업로드 할 수도 있습니다 그것은 오프 라인.

관련 문제