使用腾讯bugly更新服务遇到的坑

注册Bugly账号

bugly是腾讯开发的,可以直接使用QQ账号即可完成注册登录;bugly.qq.com/

新建产品

配置项目

新建产品后那么可以对项目进行配置,目前APP添加的强制更新,未加入热修复;
1.导入jar文件

apply plugin: 'com.android.application'
android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.qing.appcar"
        minSdkVersion 22
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        ndk {
            //设置支持的SO库架构
            abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
        }
    }
    // 本地集成aar需要此配置
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    //以下为bugly更新要导入的jar文件
    implementation 'com.tencent.bugly:crashreport_upgrade:latest.release'//其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.2.0
    implementation 'com.tencent.bugly:nativecrashreport:latest.release' //其中latest.release指代最新版本号,也可以指定明确的版本号,例如2.2.0

}
复制代码

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、安卓N以上兼容配置,配置FileProvider

//此处要改为自已自定义的FileProvider,使用安卓自带的会抛出异常,未查找原因
 <provider
            android:name="com.qing.appcar.CarFileProvider"
            android:authorities="com.qing.appcar.fileProvider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths"/>
        </provider>
复制代码

5、初始化 找到项目的application类,添加以下方法

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

App打包

使用Android Studio打包
1、选择Build下的Create APK

2、


此处选择APK即可,点击下一步
3、

存储路径自定义,passwod、alias(别名)自已输入
4、
选择release,V1点击Finish即可完成打包;

加入服务

打完包后回到Bugly新建的产品,选择设置
1、

2、

点击应用升级,选择全面更新,发部新版本
3、

上传我们已打好的包,如已上传可以选择原上传的应用包即可; 4、

创建自己的更新策略,此外的版本号如何来确认或新版本如何来更新,其实在导入Jar时的build.gradle文件中

遇到的坑

1、FileProvider 使用安卓自带抛出异常
此处只能自己定义类,并继承FileProvider,才可以,使用官方暂时不清楚原因;
2、配置好,但是自动更新并不声效?
正常来讲,配置后并没有太大的问题,不生效可能原因在于未初始化调用,在本程序中原因就是Application未调用Oncreate方法,原因在于AndroidManifest.xml中的Application标签未添加android:name属性,如下图

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值