2012-05-04 2 views
6

PhoneGap 오류 메시지 ("현재 컨텍스트가없는 OpenGL ES API에 대한 호출"로 문제가없는 것 같습니다)를 디버깅하는 동안 PhoneGap과 함께 제공되는 최신 버전의 cordova.xml 파일을 발견했습니다Phonegap의 cordova.xml은 무엇입니까?

<preference name="classicRender" value="true" /> 

아무 짓도 안 했어요 cordova.xml 내 사본을 이 라인을 추가 : 1.6가에 다음 줄을 가지고있다. 그러나 나는 또한 그 파일에서 접근 기원에 관한 주석과 다른 행을 알아 차렸다. 그리고 나는 나의 기원이 127.0.0.1로 설정된 접근 원점을 가지고 있지만 모든 코드가 원격 서버에 있다는 것을 알아 차렸다. 그리고 이것은 중요하지 않다. .

설명서를 검색했지만 찾을 수 없습니다.

그래서 cordova.xml 파일은 무엇이고, 어떤 지시문을 넣을 수 있으며, 무엇을하기로되어 있습니까?

답변

15

cordova.xml 파일은 허용 된 URL, 로그 수준 및 렌더링에 대한 설정을 지정하는 구성 파일입니다. 이 파일은 이전에 phonegap.xml로 명명되었으며, 부화를 위해 Adobe/Nitobi donated the PhoneGap codebase을 Apache Software Foundation (ASF)에 보내면 이름이 변경되었습니다.

파일에는 세 가지 설정이 있습니다.

첫 번째는 다음과 같습니다로드 할 수있는 URL이 승인 된 목록을 지정

<access origin> 

. 이 URL은 DroidGap 클래스의 허용 목록 캐시에 추가됩니다. 허용 목록의 URL 만 Cordova 웹보기 또는 새 브라우저 인스턴스에로드 할 수 있습니다.

둘째이다

안드로이드 디버깅 로그 레벨을 지정
<log level> 

. ERROR, WARN, INFO, DEBUG 또는 VERBOSE (기본값 = ERROR)로 설정할 수 있습니다.

셋째은 다음과 같습니다 DroidGap 클래스의 필드

private boolean classicRender; 

을 설정

<preference name="classicRender" /> 

. 실제로 내가 찾을 수 있습니다 무엇에 대한 유일한 참조 코르도바에 this commit에 있습니다 제대로 작동하지 않기 때문에

if(android.os.Build.VERSION.SDK_INT < 14 && this.classicRender) 
    { 
     //This hack fixes legacy PhoneGap apps 
     //We should be using real pixels, not pretend pixels 
    ... 

은 아마도 그것은 분명히 removed 인 것 알고 더 유용합니다.

cordova.xml은 loadConfiguration() 메소드에서 DroidGap 클래스에서 구문 분석 :

private void loadConfiguration() { 
    int id = getResources().getIdentifier("cordova", "xml", getPackageName()); 
    ... 
    XmlResourceParser xml = getResources().getXml(id); 
    etc... 

참조 라인 1252 전체 loadConfiguration() 메소드의 DroidGap 클래스. 세 가지 속성 모두 구문 분석되지만 위 링크 에서처럼 classicRender 설정이 작동하지 않고 무시 될 수 있습니다.