UnityWebRequest Android UnknownError

用UnityWebRequest发送请求时,用编辑器发送正常,打出Android包再请求就报出UnknownError,
查了下是因为Android 28以后不允许直接发送明文,网上查了下有几种解决方案,这里记录一下
1、右击unity软件-打开文件所在位置-\Data\PlaybackEngines\AndroidPlayer\Apk、找到AndroidManifest.xml的文件位置
需要在清单文件中更新此行android:usesCleartextTraffic =“ true”。
<?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" android:installLocation="preferExternal">
    <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
    <application android:theme="@style/UnityThemeSelector" android:icon="@mipmap/app_icon" android:label="@string/app_name" android:usesCleartextTraffic="true">
        <activity android:name="com.unity3d.player.UnityPlayerActivity" android:label="@string/app_name">
            <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" />
        </activity>
    </application>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

2、通过将目标API级别更改为27,可以绕过此问题

3、切换到HTTPS
posted @ 2022-08-03 22:54  MrZivChu  阅读(266)  评论(0编辑  收藏  举报
分享按钮