티스토리 뷰
런타임 방식으로써 크래시발생시 acra http API 를 사용하는 방법 가이드.
테스트 환경
- com.android.tools.build:gradle:4.0.1
- ACRA Version 5.7.0
제공되는 기능
- Http: 크래시리포트를 rest api 로 송신.
- Email: 이메일주소로 크래시리포트 발송.
- Dialog: 크래시 발생시 다이얼로그 이벤트.
- Notification: 크래시 발생시 푸쉬알람.
- Toast: 크래시 발생시 토스트 메시지.
설정
- 컴파일 방식: annotation 을 이용하여 미리 설정정보를 셋팅하는 방식이다.(AndroidManifest.xml 필수)
- 런타임 방식: 모든 설정정보는 API 소스코드로 작성하는 방식이다.
예제
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("MainActivity", "onCreate");
CoreConfigurationBuilder builder = new CoreConfigurationBuilder(this);
builder.setBuildConfigClass(BuildConfig.class).setReportFormat(StringFormat.JSON);
builder.getPluginConfigurationBuilder(HttpSenderConfigurationBuilder.class)
.setUri("http://192.168.12.10:55000/send")
.setHttpMethod(HttpSender.Method.POST)
.setBasicAuthLogin("james") //backend htpasswd 설정필요
.setBasicAuthPassword("1234")
.setEnabled(true);
ACRA.DEV_LOGGING = true;
ACRA.init(getApplication(), builder);
throw new NullPointerException();
}
}
문서
acra-go 사용법
안드로이드 ACRA 을 위한 백엔드 서버.
설치
go install -v github.com/gen2brain/acra-go/acra-go
터미널에서 명령어를 진행하면 $GOPATH/bin/acra-go
에 설치가 됩니다.
(acra-go 가 사용하고 있는 써드파티 의존성 해결 필요.)
설정
Server
acra-go -bind-addr 192.168.12.10:55000 --htpasswd-frontend .htpasswd
Client
htpasswd 파일 생성
htpasswd -c .htpasswd id
Usage
명령어 정리
- -bind-addr string : Bind address (default ":55000")
- -database-dir string : Path to database directory (default ".")
- -htpasswd-backend string : Path to htpasswd file, if empty backend auth is disabled
- -htpasswd-frontend string : 이 설정을 하면 웹프론트 페이지에 아이디 비번을 걸어서 로그인화면을 띄울 수 있다. htpasswd 파일을 만들고 file path만 지정해주면 된다. 사용하지 않으면 자동 비활성화된다.
- -read-timeout int : Read timeout (seconds) (default 5)
- -write-timeout int : Write timeout (seconds) (default 15)
Pages
/
: dashboard of the crashes/send
: accepts POST and PUT requests from you app and stores report in db/view
: view all reports, returns json/view?id=9823648d-20f6-4663-b8b5-f66f9fc97f81
: view a single report, identified by report id
Screenshot
참고
'Development Note > Android' 카테고리의 다른 글
[java] Android 페이스북 로그인(Feat.PhotoUrl 얻기) (0) | 2021.05.11 |
---|---|
[mac] gpg 사용법 (0) | 2021.05.11 |
[maven 배포] jcenter 에서 maven 으로 마이그레이션 (0) | 2021.05.11 |
[java/kotlin] 안드로이드 라이브러리 프로젝트 만들기 (0) | 2021.01.04 |
[Android Java] string to enum 문자열을 열거형으로 변환 (0) | 2020.12.07 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- convert nsurl to nsstring
- 절대값함수
- dialog
- Golang
- NSUserDefaults 예제
- abs 함수
- java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line
- nsurl 에서 nsstring 변환
- tempdir
- permissionCheck
- countryName
- abs
- Locale.getDefault().getLanguage()
- Error Domain=SKErrorDomain Code=0
- iTunes Store에 연결할 수 없음
- nsurl to nsstring convert
- countryCode
- 퍼미션체크
- DeviceModel
- ioutil
- tempfile
- LanguageCode
- setCancelable vs setCanceledOnTouchOutside
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함