腾讯Bugly应用升级使用总结

作者: 此生唯一自传 | 来源:发表于2018-09-10 15:40 被阅读2次

    前言

            最近正在新上线项目,照以往惯例复制来了以前一直在用的一套检查更新的代码,手写的升级逻辑还是很烦的,要调接口,每次复制过来还要针对新项目修修补补,今天无意间看到腾讯的bugly也有这么一个功能而且看介绍比较方便,就尝试着用了一下,跟着文档走还是比较容易集成的,不过还是把一些注意点补充一下以便日后更加方便。

    集成步骤

    一、配置相关

    0.官方文档链接:bugly官方文档

    1.依赖

    注意,如果集成更新sdk那么要注释掉原来的崩溃上报因为这个sdk已经集成了这个功能

    android {

            defaultConfig {

              ndk {

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

            }

          }

          dependencies {

              //注释掉原有bugly的仓库         

              //compile 'com.tencent.bugly:crashreport:latest.release'

              compile 'com.tencent.bugly:crashreport_upgrade:latest.release'

              compile 'com.tencent.bugly:nativecrashreport:latest.release'   

      }

    2.权限配置

    <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" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

    3.Activity配置

    <activity

    android:name="com.tencent.bugly.beta.ui.BetaActivity"

    android:configChanges="keyboardHidden|orientation|screenSize|locale"

    android:theme="@android:style/Theme.Translucent" />

    4.配置FileProvide

    这个是必须配置的 不配置安卓7.0+是用不了的

    <provider

    android:name="android.support.v4.content.FileProvider"

    android:authorities="${applicationId}.fileProvider"

    android:exported="false"

    android:grantUriPermissions="true"> 

    <meta-data android:name="android.support.FILE_PROVIDER_PATHS" 

     android:resource="@xml/provider_paths"/ >

    </provider>

    注意:如果你拥有其他也需要配置FileProvider的三方库,那么这里需要继承FileProvider来解决冲突问题

    配置清单中:

    <provider

    android:name=".utils.BuglyFileProvider"   

    android:authorities="${applicationId}.fileProvider"   

    android:exported="false"   

    android:grantUriPermissions="true"   

    tools:replace="name,authorities,exported,grantUriPermissions">

    <meta-data

    android:name="android.support.FILE_PROVIDER_PATHS"

    android:resource="@xml/provider_paths" tools:replace="name,resource"/ >

    </provider>

    新建一个继承于V4包FileProvider的空类

    packagecom.bimex.wzh.easyconsbox.base;

    importandroid.support.v4.content.FileProvider;

    /**使用bugly 自定义一个provider

     * Created by Google on 2018/4/25.

     */

    public class BuglyFileProvider extends FileProvider {

    }

    在res目录新建xml文件夹,创建provider_paths.xml文件如下

    <paths xmlns:android="http://schemas.android.com/apk/res/android">

              <external-path name="beta_external_path" path="Download/"/>

              <external-path name="beta_external_files_path" path="Android/data/"/>

    </paths>

    5.混淆配置

    -dontwarn com.tencent.bugly.**

    -keep public class com.tencent.bugly.**{*;}

    -keep class android.support.**{*;}

    二、开始使用

    1.SDK初始化

    注意:如果您之前使用过Bugly SDK,请将以下这句注释掉。

    CrashReport.initCrashReport(getApplicationContext(), "注册时申请的APPID", false);

    统一初始化方法:

    Bugly.init(getApplicationContext(), "注册时申请的APPID", false);

    相关文章

      网友评论

        本文标题:腾讯Bugly应用升级使用总结

        本文链接:https://www.haomeiwen.com/subject/mfusgftx.html