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