使用騰訊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

相關文章
相關標籤/搜索