Manifest准备
我们需要先在Unity中打一个Android Gradle包,再在输出的文件夹中找到AndroidManifest.xml,我们使用这个Manifest替换Android Studio工程中生成的Manifest。
首先在Unity中打开Build Settings,勾选Export Project,点击Export并指定好输出的路径。然后再在如下的路径找到AndroidManifest.xml
1 2
| E:\UnityBuilds\ResloadPrg_Gradle\launcher\src\main E:\UnityBuilds\ResloadPrg_Gradle\unityLibrary\src\main
|
其中launcher里面的Manifest属于入口,我们并不需要修改。主要修改unityLibrary的Manifest
打开这个AndroidManifest.xml,将uses-permission提到前面,并修改activity的入口。添加QQ的activity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <application android:extractNativeLibs="true"> <activity android:name="com.unity3d.player.MainActivity" android:theme="@style/UnityThemeSelector" android:screenOrientation="reverseLandscape" 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> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="unityplayer.UnityActivity" android:value="true" /> <meta-data android:name="android.notch_support" android:value="true" /> </activity> <activity android:name="com.tencent.tauth.AuthActivity" android:noHistory="true" android:launchMode="singleTask" > <intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="tencent你的AppId" /> </intent-filter> </activity> <activity android:name="com.tencent.connect.common.AssistActivity" android:configChanges="orientation|keyboardHidden" android:screenOrientation="behind" android:theme="@android:style/Theme.Translucent.NoTitleBar" /> <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="unity.allow-resizable-window" android:value="False" /> <meta-data android:name="notch.config" android:value="portrait|landscape" /> <meta-data android:name="unity.auto-report-fully-drawn" android:value="true" /> </application> <uses-feature android:glEsVersion="0x00030000" /> <uses-feature android:name="android.hardware.vulkan.version" android:required="false" /> <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> <uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="false" /> <uses-feature android:name="android.hardware.touchscreen.multitouch.distinct" android:required="false" /> </manifest>
|
修改Unity配置
打开Unity,进入Project Settings——Player,选择安卓选项卡——Publish Settings——勾选“Custom Main Manifest”
这样我们的Assets——Plugins——Android文件夹内就出现了一个AndroidManifest.xml文件,我们将上面的Manifest文件拷贝过来替换掉这个文件。