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

注册Bugly帐号

bugly是腾讯开发的,能够直接使用QQ帐号便可完成注册登陆;bugly.qq.com/android

新建产品

配置项目

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

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" />
复制代码

三、Activity配置app

<activity
    android:name="com.tencent.bugly.beta.ui.BetaActivity"
    android:configChanges="keyboardHidden|orientation|screenSize|locale"
    android:theme="@android:style/Theme.Translucent" />
复制代码

四、安卓N以上兼容配置,配置FileProvideride

//此处要改成自已自定义的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>
复制代码

五、初始化 找到项目的application类,添加如下方法gradle

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

App打包

使用Android Studio打包
一、选择Build下的Create APKui

二、


此处选择APK便可,点击下一步
三、

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

加入服务

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

二、

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

上传咱们已打好的包,如已上传能够选择原上传的应用包便可; 四、

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

遇到的坑

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

相关文章
相关标签/搜索