1

現在の公式Google CardboardアプリとUnity用Google Cardboardドライバの両方がAndroid 4.1以降で動作します。Android 4.1用Google Cardboardドライバ(SDK 16)を含むAPKをコンパイルする方法

しかし、現在のバージョンの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

16の代わりに19の生成ファイルが作成されます。Temp/StagingArea/android-libraries/unitygvractivity/AndroidM‌​anifest.xml。私は、そのフォルダの名前が同じunitygvractivity.aarAssets/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で動作していた場合、なぜGoogleが4.4以上に設定したのですか?私が使用しなかったライブラリの一部に、4.4が必要なのかもしれません。


UPDATE:グーグルの回答(https://github.com/googlevr/gvr-unity-sdk/issues/439):

前19の対象と を動作することが保証されていないように、我々は我々のSDKのいくつかのレベル-19 APIを使用しています。あなたが、私はそれが動作しませんと思いますが、私はとにかく試してみたい 段ボール

0

Androidゲームをビルドするたびに、新しいマニフェストを生成します。それをAssets/Plugins/Androidにコピーしてください。 コピーした後、ユニティは新しいマニフェストを生成するのではなく、このマニフェストを使用します。 私のケースで働いていました。 BTW.min sdkが19のライブラリを使用している場合、16を1に設定することは役に立ちません。

+0

のためのあなたの最低限の目標として19を設定する必要があります...残念ながら、資産/プラグイン/アンドロイド/が含まれていますAndroidManifest.xmlをとAndroidManifest-段ボールを.xmlはすでに – chelder

+0

私は、ファイル/ Unix/Library/Android /内のファイルunitygvractivity.aarを見つけることができることに気付きました...そして、代わりに16で生成されたファイルは、Temp/StagingArea/android-libraries/unitygvractivity/AndroidManifestで作成されます。 xml – chelder

+0

これはAndroid 4.1で動作しています...(あなたが興味があれば私の答えを見てください) – chelder

関連する問題