简介
腾讯Bugly,为移动开发者提供专业的异常上报,运营统计和内测分发解决方案,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。
包含4大模块:异常管理 +运营统计 + 内测分发 + 应用升级。
第一大模块:异常管理
第二大模块:运营统计
第三大模块:内测分发
第四大模块:应用升级
简介
注意:应用升级中包含了异常管理
友盟更新停止使用后,可以用这个代替。有2种方式:gradle中配置 + 手动导入jar。
升级功能是专为App的灰度升级而开发的组件,在bugly内测页面配置好App的更新策略,策略指定的老版本App在启动时会自动检测更新并提示升级,为团队的应用分发,灰度内测提供一站式解决方案。
步骤:
- 配置Gradle
- 配置AndroidMainfest.xml
Step1:配置Gradle
图:
android {
...
defaultConfig {
...
//bugly
ndk {
//设置支持的SO库架构
abiFilters 'armeabi' //, 'x86', 'armeabi-v7a', 'x86_64', 'arm64-v8a'
}
}
...
}
dependencies {
...
//其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.0.0
compile 'com.tencent.bugly:crashreport_upgrade:latest.release'
}
Step2:配置AndroidMainfest.xml
<!--bugly 权限 start-->
<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"/>
<!--bugly 权限 end-->
<!--bugly Activity配置 必须 start-->
<activity
android:name="com.tencent.bugly.beta.ui.BetaActivity"
android:theme="@android:style/Theme.Translucent"/>
<!--bugly Activity配置 必须 end-->
<!--配置FileProvider(Android N之后配置) -->
<!--android:authorities="com.cqc.demo.fileProvider" 都可以 -->
<!--android:authorities="${applicationId}.fileProvider"-->
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.cqc.demo.fileProvider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths"/>
</provider>
注意:配置FileProvider: 如果您的工程targetSdkVersion为N或者以后的版本,必须要在AndroidManifest.xml文件中配置FileProvider来访问共享路径的文件。如果您暂时不需要适配Android 7.0以上的设备,将targetSdkVersion修改为低于24即可。
${applicationId}请替换为您的包名,例如com.bugly.upgrade.demo。这里要注意一下,FileProvider类是在support-v4包中的,检查你的工程是否引入该类库。
Step3: 新建xml文件夹
在res目录新建xml文件夹,创建provider_paths.xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<!-- /storage/emulated/0/Download/${applicationId}/.beta/apk-->
<external-path name="beta_external_path" path="Download/"/>
<!--/storage/emulated/0/Android/data/${applicationId}/files/apk/-->
<external-path name="beta_external_files_path" path="Android/data/"/>
</paths>
Step4: SDK初始化
统一初始化方法:
Bugly.init(getApplicationContext(), "注册时申请的APPID", false);
参数解析:
参数1:上下文对象
参数2:注册时申请的APPID
参数3:是否开启debug模式,true表示打开debug模式,false表示关闭调试模式
Step5:发布新版本
Step5-1新建产品
Step5-2创建升级策略
Step5-3修改APPID
//统一初始化方法
Bugly.init(getApplicationContext(), "注册时申请的APPID", false);
Step5-4启动
混淆配置
为了避免混淆SDK,在Proguard混淆文件中增加以下配置:
-keep public class com.tencent.bugly.**{*;}
第三方SDK:蒲公英
第三方SDK : Bugly:异常管理 +运营统计 + 内测分发 + 应用升级
App开发:强制更新app