近期同事的一个比较老的版本的unity项目在电脑上运行都正常,但是打包成android后安装到手机上就提示
unknown error
让我帮他排查一下问题。由于是涉密项目不能发图就简单介绍下处理过程吧!
请求的地址ssl证书过期了。
更改请求参数重新打包apk后测试
通过WWW类不传参数请求网络提示 SSL Certificate Error
传递参数请求则提示 unknown error
其实已经可以判断就是证书问题了,证书过期了。更新证书后则请求正常。
测试非http请求【补充测试】
设置AndroidManifest.xml
文件 ,该文件放置于 2017.3.1f1\Editor\Data\PlaybackEngines\AndroidPlayer\Apk
目录下,如果目录下没有则新建。
更改地址后重新编译打包成apk后测试访问http请求正常返回。
<?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"
android:versionCode="1"
android:versionName="1.0">
<network-security-config>
<base-config cleartextTrafficPermitted="true"/>
</network-security-config>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:anyDensity="true"/>
<application
android:theme="@style/UnityThemeSelector"
android:icon="@drawable/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" />
</manifest>
在此简单记录一下,供遇到类似问题小伙伴提供参考。