腾讯bugly配置

buide配置

把ndk加进去

 defaultConfig {
       
        ndk {
            // 设置支持的SO库架构
            abiFilters 'armeabi' , 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
        }
    }

加入dependencies中

implementation 'com.tencent.bugly:crashreport:latest.release' //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.1.9
    implementation 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新Bugly NDK版本号,也可以指定

App

package majunbao.bwie.com.bugly;

import android.app.Application;
import android.content.Context;
import android.text.TextUtils;

import com.tencent.bugly.crashreport.CrashReport;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class app extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Context context = getApplicationContext();
// 获取当前包名
        String packageName = context.getPackageName();
// 获取当前进程名
        String processName = getProcessName(android.os.Process.myPid());
// 设置是否为上报进程
        CrashReport.UserStrategy strategy = new CrashReport.UserStrategy(context);
        strategy.setUploadProcess(processName == null || processName.equals(packageName));
// 初始化Bugly
       // CrashReport.initCrashReport(context, "c7d0b79c52", false, strategy);
// 如果通过“AndroidManifest.xml”来配置APP信息,初始化方法如下
 CrashReport.initCrashReport(context, strategy);

        // CrashReport.initCrashReport(getApplicationContext(), "c7d0b79c52", true );
        //  CrashReport.initCrashReport(getApplicationContext());

    }

    /**
     * 获取进程号对应的进程名
     *
     * @param pid 进程号
     * @return 进程名
     */
    private static String getProcessName(int pid) {
        BufferedReader reader = null;
        try {
            reader = new BufferedReader(new FileReader("/proc/" + pid + "/cmdline"));
            String processName = reader.readLine();
            if (!TextUtils.isEmpty(processName)) {
                processName = processName.trim();
            }
            return processName;
        } catch (Throwable throwable) {
            throwable.printStackTrace();
        } finally {
            try {
                if (reader != null) {
                    reader.close();
                }
            } catch (IOException exception) {
                exception.printStackTrace();
            }
        }
        return null;
    }
}

注册清单

权限

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_LOGS" />

清单的application中

 <!-- 配置APP ID -->
        <meta-data
            android:name="BUGLY_APPID"
            android:value="产品的id" />
        <!-- 配置APP版本号 -->
        <meta-data
            android:name="BUGLY_APP_VERSION"
            android:value="1.0" />
        <!-- 配置APP渠道号 -->
        <meta-data
            android:name="BUGLY_APP_CHANNEL"
            android:value="myChannel" />
        <!-- 配置Bugly调试模式(true或者false)-->
        <meta-data
            android:name="BUGLY_ENABLE_DEBUG"
            android:value="true" />

Mainactivity制造bug运行

  public void btn(View view) {
        TextView s=null;
        s.setText("123");
        CrashReport.testJavaCrash();
    }

猜你喜欢

转载自blog.csdn.net/nideyida1/article/details/81704846
今日推荐