###中文文档请移步 README_CN
###QQ tribe for help: 210286347
[Bugtags] for Android, reports bugs and their diagnosis information in one step, captures crashes automatically. Improve your apps anywhere, anytime.
Create a free account and invite your team to improve your apps.
Download demo app here: DEMO.apk
If you are using Eclipse for Android development, visit [SDK for Eclipse] to download SDK.
Bugtags also support iOS !
We are going to support English language in September.
- Take snapshot of bug, add tags to describe the bug.
- Automatically collect device and app context data following reporting bugs.
- Automatically capture crashes.
- Bug lifecycle management.
- Setup
buildscript dependencies
in Top-level build.gradle file:
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.2.3'
classpath 'com.bugtags.library:bugtags-gradle:latest.integration'
}
}
allprojects {
repositories {
jcenter()
mavenCentral()
}
}
- Add
plugin and dependency
in your module's build.gradle file:
android {
compileSdkVersion ...
defaultConfig {
ndk {
// setup so arch
abiFilters 'armeabi'// 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64', 'mips', 'mips64'
}
}
}
//applu Bugtags plugin
apply plugin: 'com.bugtags.library.plugin'
//Bugtags config
bugtags {
//upload mapping file
appKey "APP_KEY"
appSecret "APP_SECRET"
mappingUploadEnabled true
trackingNetworkEnabled true
}
dependencies {
...
compile 'com.bugtags.library:bugtags-lib:latest.integration'
}
- Add three callbacks in your base Activity class:
package your.package.name;
import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import com.bugtags.library.Bugtags;
public class BaseActivity extends Activity{
@Override
protected void onResume() {
super.onResume();
Bugtags.onResume(this);
}
@Override
protected void onPause() {
super.onPause();
Bugtags.onPause(this);
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
Bugtags.onDispatchTouchEvent(this, event);
return super.dispatchTouchEvent(event);
}
}
```
## Step 3:
* Create subclass of Application,initialize Bugtags in onCreate() method:
```java
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//initialize here
Bugtags.start("YOUR APPKEY", this, Bugtags.BTGInvocationEventBubble);
}
}
- Modify AndroidManifest.xml,use MyApplication:
<application
android:name=".MyApplication"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
....
</application>
# ProGuard configurations for Bugtags
-keepattributes LineNumberTable,SourceFile
-keep class com.bugtags.library.** {*;}
-dontwarn com.bugtags.library.**
-keep class io.bugtags.** {*;}
-dontwarn io.bugtags.**
-dontwarn org.apache.http.**
-dontwarn android.net.http.AndroidHttpClient
# End Bugtags
For more information about Android Studio and gradle, please visit: [Android Developer Site].
- Invoke event:
- BTGInvocationEventBubble: Show floating circle in app.
- BTGInvocationEventShake: Show floating circle by shake.
- BTGInvocationEventNone: Show no floating circle, capture crash bug only(if allow), this is recommended to be used in release build.
- Send caught exception:
- Bugtags.sendException(Throwable ex);
- Send feedback:
- Bugtags.sendFeedback(String msg);
We are offering a bleeding edge builds on canary chanel, you can enjoy the new features in the first place!
- Add repository in your project's build.gradle
buildscript {
repositories {
mavenCentral()
jcenter()
maven{
url "https://dl.bintray.com/bugtags/maven"//added
}
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.bugtags.library-canary:bugtags-gradle:latest.integration'//modify
}
}
allprojects {
repositories {
jcenter()
mavenCentral()
maven{
url "https://dl.bintray.com/bugtags/maven"//added
}
}
}
- Change your dependency in your module's build.gradle
apply plugin: 'com.bugtags.library.plugin'
dependencies {
compile 'com.bugtags.library-canary:bugtags-lib:latest.integration'//modify
}
see in releases
This demo is BSD-licensed.