- 获取App ID:登录Bugly平台,新建产品。
- 获取Bugly SDK:在SDK下载页面下载“Unity Plugin”,在使用指南页面可以获取SDK包相关信息。
- 将SDK包中的bugly_unity.unitypackage导入进Unity工程,创建以下脚本。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BuglyScripts : MonoBehaviour {
private const string BuglyAppIDForiOS = "IOS AppID";
private const string BuglyAppIDForAndroid = "Android AppID";
// Use this for initialization
void Start()
{
initBugly();
}
private void initBugly()
{
BuglyAgent.ConfigDebugMode(true);//如果上架的话需要设置成false
#if UNITY_IPHONE||UNITY_IOS
BuglyAgent.InitWithAppId(BuglyAppIDForiOS);
#elif UNITY_ANDROID
BuglyAgent.InitWithAppId(BuglyAppIDForAndroid);
#endif
BuglyAgent.EnableExceptionHandler();
Debug.Log("init over");
}
private void OnGUI()
{
if (GUI.Button(new Rect(100, 100, 100, 50), "数组超范围"))
{
Debug.Log("数组超范围");
byte[] byteArr = new byte[20];
byteArr[21] = 0x11;
}
if (GUI.Button(new Rect(100, 200, 100, 50), "Null"))
{
Debug.Log("空指针");
GameObject obj = null;
obj.transform.SetParent(this.transform);
}
}
}
- 修改Android工程的AndroidManifest文件:(有以下两种方法)
- 在Android Studio中创建项目,生成jar包,注意包名和Unity工程的包名一致。由于我的项目中某些功能需要Android原生开发,所以已经实现了Android与Unity的交互,此时直接修改AndroidManifest文件即可(如果你接入了第三方SDK,Plugins\Android目录下已经有AndroidManifest文件,那么你也可以直接修改)
- 将Unity工程发布为可二次开发的项目,用Android Studio打开,修改AndroidManifest文件,再打包成APK即可。
AndroidManifest文件中需要包含以下几个权限的申请:
<!-- 网络通信-->
<uses-permission android:name= "android.permission.INTERNET" />
<!-- 获取网络状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 获取MAC地址-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 获取设备信息 -->
<uses-permission android:name= "android.permission.READ_PHONE_STATE" />
<!-- 可选的权限: -->
<!-- 获取logcat日志 -->
<uses-permission android:name="android.permission.READ_LOGS" />
- 发布apk后,在手机端运行,点击两个按钮,即可触发异常和崩溃。异常崩溃信息可以在bugly后台看到。
- 此时虽然可以看到异常信息,但是并不能准确定位异常出现在哪个脚本哪一行,这时可以上传so符号表文件:将生成的apk文件更改后缀为.zip文件,解压后可以在lib\armeabi-v7a下获取这些so文件(注意:我将解压后的文件放到了D:\fcj\bugly\ARProgram0420文件夹下):
- 下载符号表工具3.0,如下图,我将其解压在了D:\fcj\bugly\Bugly文件夹下:
- 在命令提示符中输入以下命令:(红色部分:进入符号表工具3.0文件中buglySymbolAndroid.jar所在文件夹下;绿色部分:buglySymbolAndroid.jar文件;蓝色部分:apk解压后so文件所在的文件夹)
此部分内容可以参考《符号表工具Android版-使用指南.pdf》文档 2.3.1 Debug SO的符号表生成和上传:
- 上传so符号表文件:可以通过命令进行自动上传,也可以手动上传。我这边选择手动上传:在apk解压后的lib文件夹下,可以看到生成的so符号表文件,将其进行上传即可。