1

현재 공식 Google Cardboard 앱과 Unity 용 Google Cardboard 드라이버의 이전 버전 모두 Android 4.1 이상에서 작동합니다.Android 4.1 용 Google Cardboard 드라이버가 포함 된 APK를 컴파일하는 방법 (SDK 16)

그러나 현재 Google Cardboard for Unity 라이브러리는 Android 4.4 이상으로 설정되어 있습니다. 4.4에서 4.1로 모든 문자열 검색과 같은 설정을 변경하려고 시도했습니다 : <uses-sdk android:minSdkVersion="19"<uses-sdk android:minSdkVersion="16"으로 변경하십시오.

플레이어 설정이 16으로 변경되었습니다.

Error: [Temp/StagingArea/AndroidManifest-main.xml:14, /Users/ch/workspaces/unity_workspace/educainventions/Temp/StagingArea/android-libraries/unitygvractivity/AndroidManifest.xml:2] 
Main manifest has <uses-sdk android:minSdkVersion='16'> but library uses minSdkVersion='19' 

그리고 맞아 : /Temp/StagingArea/android-libraries/unitygvractivity/AndroidManifest.xml is set to minSdkVersion='19'

내가 너무 (16)에 해당 파일을 변경하지만, 컴파일 할 때 19로 변경하고, 같은 오류를 컴파일 할 때

불행히도 나는 다음과 같은 오류가 발생합니다 발생합니다.

파일을 19에서 16으로 변경하려면 어떻게해야합니까? 솔루션은 Android 코드를 생성 한 다음 Android Studio로 컴파일 할 수있는 솔루션이라고 생각합니다. 그러나 매번 그렇게하는 것은 매우 느려서 시간의 연속성 낭비가됩니다 ...

답변

1

대신 19으로 생성 된 파일은 Temp/StagingArea/android-libraries/unitygvractivity/AndroidM‌​anifest.xml에 생성됩니다. 그 폴더의 이름이 같은 unitygvractivity.aar, Assets/Plugins/Android/ 내의 파일을 찾을 수 있다는 것을 깨달았습니다. Google에서 검색 나는 그 파일을 압축 해제 할 수 있음을 발견했습니다. OSX에서 Unarchiver로 압축을 풉니 다. this answer에 따르면, 우리는 또한 실행할 수 있습니다 :

unzip unitygvractivity.aar -d unitygvractivity 

unziped되면, 우리는 압축을 푼 폴더 unitygvractivityAndroidM‌​anifest.xml을 찾을 수 있습니다. 해당 파일에서 1916으로 변경하고 aar 형식으로 다시 압축합니다. same answer에 따르면 우리는 실행할 수 있습니다

jar cvf unitygvractivity.aar -C unitygvractivity/ . 

마지막으로 우리는 우리가 방금 만든 새에 의해 원래 unitygvractivity.aar 파일을 변경합니다. 그것은 컴파일됩니다.

다음 질문은 입니다. Android 4.1에서 작동했다면 4.4 이상으로 설정 한 이유는 무엇입니까? 아마도 내가 사용하지 않은 라이브러리의 일부가 4.4일까요?


UPDATE : 구글의 대답 (https://github.com/googlevr/gvr-unity-sdk/issues/439는) :이 사전 19 목표 작동하도록 보장되지 않도록

우리는 우리의 SDK에 어느 정도의-19 API를 사용합니다.당신은 판지 나는 그것이 작동하지 않습니다 추측

0

안드로이드 게임을 만들 때마다 새로운 매니 페스트가 생성됩니다. Assets/Plugins/Android로 복사하십시오. 복사 한 후에, 화합은 새로운 것을 생성하는 대신이 매니페스트를 사용합니다 ... 제 경우에 대처했습니다. BTW.min sdk가 19 인 라이브러리를 사용하는 경우 16을 1로 설정하면 도움이되지 않습니다.

+0

을 위해 최소한의 대상으로 19을 설정해야하지만, 어쨌든 시도하려는 ... 불행하게도, 자산/플러그인/안드로이드/포함 AndroidManifest.xml을하고 AndroidManifest를-판지 .xml already – chelder

+0

나는 Assets/Plugins/Android/내에 unitygvractivity.aar 파일을 찾을 수 있다는 것을 깨달았습니다. 생성 된 파일은 19 대신에 Temp/StagingArea/android-libraries/unitygvractivity/AndroidManifest에서 생성됩니다. xml – chelder

+0

그것은 안드로이드 4.1에서 작동했습니다 ... (당신이 궁금한 경우 내 대답을 참조하십시오) – chelder