目錄結構
Unity工程指UnityLibrary目錄下檔案;
安卓工程指app目錄下檔案;
整體指App目錄下不包括app和UnityLibrary;
1.Unity打包時勾選匯出安卓工程;
拷貝gradle.properties中:unityStreamingAssets=xxx 到整體工程的gradle.properties中
拷貝local.properites中ndk、jdk路徑到整體工程的local.properites
2.AndroidStudio創建Empty Activity工程;
整體工程的setting.gradle中添加:
include ':unityLibrary'
project(':unityLibrary').projectDir=new File('.\\unityLibrary')
安卓工程app目錄下build.gradle中添加:
dependencies{
implementation project(':unityLibrary')
implementation fileTree(dir:project(':unityLibrary').getProjectDir().toString() + ('\\libs'), include: ['*.jar'])
}
3.修改安卓工程和Unity工程Build.Gradle
targetsdk,minsdk,compilesdk,buildToolsVersion都要一致
也可在File/ProjectStructure/Modules中切換Version
4.在安卓工程MainActivity中添加切換Activity代碼
在OnCreate中添加:
Intent intent = new Intent(MainActivity.this, UnityPlayerActivity.class);
startActivity(intent);
這樣一開始就會打開Unity界面,也可以在原生工程添加按鈕跳轉;
報錯記錄
1.Gradle Version和 Gradle Plugin Version出錯
Gradle Plugin Version中包含了多個Gradle Version;根據提示選擇對應版本的GradleVersion;如果沒有對應版本,就下載新的Gradle Plugin Version;
File/ProjectStructure/Project中切換;
2.sdk、ndk、jdk版本出錯
建議使用Unity本體目錄下的sdk和jdk,同樣ProjectStructure界面選擇;
之前local.properites也配置過;
3.跳轉Unity工程閃退
安卓工程的main/res/values/string.xml中添加
<string name="game_view_content_description">Game view</string>
4.編譯程序中找不到libillcpp.so,libmain.so等問題
重新拷貝Unity匯出工程的jiniLibs檔案夾到UnityLibrary對應目錄工,洗掉buid,重新打包;
5.打包編譯il2cpp報錯
如果做了代碼熱更有可能是沒有正確生成依賴,找不到對應型別;
我使用HybridCLR熱更,可以重新生成依賴,再次匯出安卓工程;
6.兩個app圖示
注釋UnityLibray目錄中AndroidManifest.xml一下配置;
<!-- <intent-filter>-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- </intent-filter>-->
Life is too short for so much sorrow. 本博客所有文章除特別宣告外,均采用 CC BY-NC-SA 4.0 許可協議,轉載請注明來自 小紫蘇!
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/546271.html
標籤:Android