MCPcopy Index your code
hub / github.com/bugtags/Bugtags-Android

github.com/bugtags/Bugtags-Android @3.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 3.0.0 ↗ · + Follow
288 symbols 698 edges 45 files 36 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Android Gems

Bugtags Android SDK

Download

中文文档请移步 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.

Features

  1. Take snapshot of bug, add tags to describe the bug.
  2. Automatically collect device and app context data following reporting bugs.
  3. Automatically capture crashes.
  4. Bug lifecycle management.

Usage

How to use

Install using gradle

Step 1:

  • 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'
    }

Step 2:

  • 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>

Step 4:ProGuard

    # 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].

There you go!

Explore

  1. Invoke event:
  2. BTGInvocationEventBubble: Show floating circle in app.
  3. BTGInvocationEventShake: Show floating circle by shake.
  4. BTGInvocationEventNone: Show no floating circle, capture crash bug only(if allow), this is recommended to be used in release build.
  5. Send caught exception:
  6. Bugtags.sendException(Throwable ex);
  7. Send feedback:
  8. Bugtags.sendFeedback(String msg);

Canary Channel

We are offering a bleeding edge builds on canary chanel, you can enjoy the new features in the first place!

Canry: https://en.wikipedia.org/wiki/Canary

  • 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

```groovy
apply plugin: 'com.bugtags.library.plugin'

dependencies {
      compile 'com.bugtags.library-canary:bugtags-lib:latest.integration'//modify
}

Change log

see in releases

License

This demo is BSD-licensed.

Extension points exported contracts — how you extend this code

Api (Interface)
Created by bugtags.com on 16/4/8.
network/src/main/java/com/bugtag/networkapp/retrofit1x/Api.java
Api (Interface)
Created by bugtags.com on 16/3/24.
network/src/main/java/com/bugtag/networkapp/retrofit/Api.java

Core symbols most depended-on inside this repo

toString
called by 21
network/src/main/java/com/bugtag/networkapp/retrofit/Model.java
run
called by 20
network/src/main/java/com/bugtag/networkapp/Async.java
put
called by 17
network/src/main/java/com/bugtag/networkapp/volley/MultipartRequestParams.java
getEntity
called by 6
network/src/main/java/com/bugtag/networkapp/volley/MultipartRequestParams.java
getContent
called by 5
network/src/main/java/com/bugtag/networkapp/volley/MultipartEntity.java
getContentType
called by 4
network/src/main/java/com/bugtag/networkapp/volley/MultipartEntity.java
getHtml
called by 3
network/src/main/java/com/bugtag/networkapp/retrofit/Api.java
getJson
called by 3
network/src/main/java/com/bugtag/networkapp/retrofit/Api.java

Shape

Method 241
Class 45
Interface 2

Languages

Java100%

Modules by API surface

network/src/main/java/com/bugtag/networkapp/volley/MultipartEntity.java14 symbols
network/src/main/java/com/bugtag/networkapp/volley/ExtendedRequest.java13 symbols
network/src/main/java/com/bugtag/networkapp/HttpURLConnectionTest.java12 symbols
network/src/main/java/com/bugtag/networkapp/MainActivity.java11 symbols
network/src/main/java/com/bugtag/networkapp/VolleyTest.java10 symbols
network/src/main/java/com/bugtag/networkapp/VolleyActivity.java9 symbols
network/src/main/java/com/bugtag/networkapp/UrlActivity.java9 symbols
network/src/main/java/com/bugtag/networkapp/RetrofitOk3Test.java9 symbols
network/src/main/java/com/bugtag/networkapp/Retrofit2Test.java9 symbols
network/src/main/java/com/bugtag/networkapp/Okhttp3Activity.java9 symbols
network/src/main/java/com/bugtag/networkapp/Okhttp2Test.java9 symbols
network/src/main/java/com/bugtag/networkapp/Okhttp2Activity.java9 symbols

For agents

$ claude mcp add Bugtags-Android \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact