Unity导出原生AAR嵌入原生
Unity原生接入
为了更好的适应跨平台的开发需求,需要Unity结合原生开发
- 环境 Unity 2022.3.21f1f1
Unity导出设置
切换当前平台到对应平台,这里用安卓平台举例
切换当前平台到对应安卓平台,如果未安装安卓插件去 Unityhub/Installs/your Editor/Add moudles
进入项目设置

具体目标平台根据项目需求选择,ScriptingBackend 选择IL2CPP
使用Android studio 打开(软件安装等不赘述)
原生项目设置
原生项目结构
launcher:
manifest:
res:
mipmap:
values:
unityLibrary:
manifests:
java:
- 需要把launcher/res/minmap 拷贝到 unityLibrary/res 路径下
- 需要把launcher/res/values/string.xml 拷贝到 unityLibrary/res 路径下
注释掉入口代码
<application android:extractNativeLibs="true">
<meta-data android:name="unity.splash-mode" android:value="0" />
<meta-data android:name="unity.splash-enable" android:value="True" />
<meta-data android:name="unity.launch-fullscreen" android:value="True" />
<meta-data android:name="notch.config" android:value="portrait|landscape" />
<meta-data android:name="unity.auto-report-fully-drawn" android:value="true" />
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@style/UnityThemeSelector" android:screenOrientation="fullUser" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale|layoutDirection|density" android:resizeableActivity="false" android:hardwareAccelerated="false">
<!-- <intent-filter>-->
<!-- <category android:name="android.intent.category.LAUNCHER" />-->
<!-- <action android:name="android.intent.action.MAIN" />-->
<!-- </intent-filter>-->
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
<meta-data android:name="notch_support" android:value="true" />
</activity>
Gradle 导出
根据自己项目设置使用Gradle导出AAR包,提供给原生接入