Android
오류보고 도구
수색…
비고
가장 완벽한 위키는 github 에서 사용할 수 있습니다.
Fabric - 크래시 틱스
Fabric 은 응용 프로그램을 빌드하기 위해 혼합 할 수있는 유용한 키트를 제공하는 모듈 식 모바일 플랫폼입니다. Crashlytics 는 Fabric에서 제공하는 충돌 및 문제보고 도구로, 응용 프로그램을 자세히 추적하고 모니터링 할 수 있습니다.
Fabric-Crashlytics 구성 방법
1 단계 : build.gradle
변경 :
플러그인 repo 및 gradle 플러그인을 추가하십시오.
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
// The Fabric Gradle plugin uses an open ended version to react
// quickly to Android tooling updates
classpath 'io.fabric.tools:gradle:1.+'
}
}
플러그인 적용 :
apply plugin: 'com.android.application'
//Put Fabric plugin after Android plugin
apply plugin: 'io.fabric'
패브릭 repo 추가 :
repositories {
maven { url 'https://maven.fabric.io/public' }
}
Crashlyrics 키트 추가 :
dependencies {
compile('com.crashlytics.sdk.android:crashlytics:2.6.6@aar') {
transitive = true;
}
}
2 단계 : AndroidManifest.xml
API 키 와 인터넷 권한 추가
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
... >
<meta-data
android:name="io.fabric.ApiKey"
android:value="25eeca3bb31cd41577e097cabd1ab9eee9da151d"
/>
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>
3 단계 : 코드에서 런타임에 키트 초기화 (예 :
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Init the KIT
Fabric.with(this, new Crashlytics());
setContentView(R.layout.activity_main);
}
}
4 단계 : 프로젝트를 빌드합니다. 빌드하고 실행하려면 다음을 수행하십시오.
Fabric IDE 플러그인 사용
키트는 이 링크를 따라 Android Studio 또는 IntelliJ 용 Fabric IDE 플러그인을 사용하여 설치할 수 있습니다.
플러그인을 설치 한 후, 안드로이드 스튜디오를 다시 시작하고 안드로이드 Studio를 사용하여 계정에 로그인합니다.
(단축키> CTRL + L
)
그런 다음 당신이 가지고있는 프로젝트 / 열어 본 프로젝트를 보여줄 것이며, 필요한 프로젝트를 선택하고 다음을 클릭하십시오.
추가 할 키트를 선택하십시오. 예를 들면 Crashlytics입니다 .
그런 다음 Install
누르 Install
. 이번에 수동으로 추가 할 필요가 없습니다. 대신에 gradle 플러그인 을 사용하십시오.
끝난!
ACRA로 충돌보고
1 단계 : 최신 ACRA AAR의 종속성을 응용 프로그램 gradle (build.gradle)에 추가합니다.
2 단계 : 응용 프로그램 클래스 (응용 프로그램을 확장하는 클래스, 그렇지 않은 경우) @ReportsCrashes
주석을 추가하고 attachBaseContext()
메서드를 재정의합니다.
3 단계 : 응용 프로그램 클래스에서 ACRA 클래스 초기화
@ReportsCrashes(
formUri = "Your choice of backend",
reportType = REPORT_TYPES(JSON/FORM),
httpMethod = HTTP_METHOD(POST/PUT),
formUriBasicAuthLogin = "AUTH_USERNAME",
formUriBasicAuthPassword = "AUTH_PASSWORD,
customReportContent = {
ReportField.USER_APP_START_DATE,
ReportField.USER_CRASH_DATE,
ReportField.APP_VERSION_CODE,
ReportField.APP_VERSION_NAME,
ReportField.ANDROID_VERSION,
ReportField.DEVICE_ID,
ReportField.BUILD,
ReportField.BRAND,
ReportField.DEVICE_FEATURES,
ReportField.PACKAGE_NAME,
ReportField.REPORT_ID,
ReportField.STACK_TRACE,
},
mode = NOTIFICATION_TYPE(TOAST,DIALOG,NOTIFICATION)
resToastText = R.string.crash_text_toast)
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
// Initialization of ACRA
ACRA.init(this);
}
}
AUTH_USERNAME 및 AUTH_PASSWORD는 원하는 백엔드 의 자격 증명입니다.
4 단계 : AndroidManifest.xml에서 Application 클래스 정의
<application
android:name=".MyApplication">
<service></service>
<activity></activity>
<receiver></receiver>
</application>
5 단계 : 충돌 한 응용 프로그램에서 보고서를받을 수있는 internet
권한이 있는지 확인하십시오.
<uses-permission android:name="android.permission.INTERNET"/>
백엔드에 침묵하는 보고서를 보내고 싶다면 아래의 방법을 사용하십시오.
ACRA.getErrorReporter().handleSilentException(e);
패브릭으로 테스트 크래시 강제 실행
크래시를 발생시킬 수있는 버튼을 추가하십시오. 버튼을 표시하려는 레이아웃에이 코드를 붙여 넣으십시오.
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="Force Crash!"
android:onClick="forceCrash"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
RuntimeException를 던집니다.
public void forceCrash(View view) {
throw new RuntimeException("This is a crash");
}
앱을 실행하고 새 버튼을 탭하면 충돌이 발생합니다. 1-2 분 안에 Crashlytics 대시 보드에서 충돌을 볼 수있을뿐만 아니라 메일을받을 수 있습니다.
셜록을 사용하여 크래시 캡처
셜록 은 모든 충돌을 포착하여 알림으로보고합니다. 알림을 누르면 장치 및 응용 프로그램 정보와 함께 모든 충돌 세부 정보가 포함 된 활동이 열립니다
Sherlock을 응용 프로그램과 통합하는 방법은 무엇입니까?
프로젝트에 gradle 종속성을 추가하기 만하면됩니다.
dependencies {
compile('com.github.ajitsing:sherlock:1.0.1@aar') {
transitive = true
}
}
Android 스튜디오를 동기화 한 후 응용 프로그램 클래스에서 Sherlock을 초기화하십시오.
package com.singhajit.login;
import android.app.Application;
import com.singhajit.sherlock.core.Sherlock;
public class SampleApp extends Application {
@Override
public void onCreate() {
super.onCreate();
Sherlock.init(this);
}
}
그게 전부 당신이해야 할. 또한 Sherlock은 충돌을보고하는 것 이상을 수행합니다. 모든 기능을 체크 아웃하려면이 기사를 살펴보십시오.
데모