2017-05-23 11 views
25

Google Play 콘솔에서 새로운 기능을 분석하고 해결 방법을 찾고자하는 상황을 공유하고자합니다.Google Play 콘솔이 출시되지 않은 애플리케이션에서 크래시가보고 됨

많은 사람들이 이미 알고있는 것처럼 Google은 Google Play 콘솔에서 업데이트를 출시했으며 Android vitals을 소개했습니다. 좋은 특징 중 하나는 세션 ANR & 충돌로 인해 사용자가 휴대 전화의 첫 번째 설정에서 자동으로 사용 및 진단 데이터를 공유하도록 선택한 Android 기기에서 수집 된 모든 ANR & 충돌이 표시된다는 것입니다.

그러나 출시되지 않은 응용 프로그램의 오류 보고서가 표시됩니다. 즉, 아직 게시되지 않은 개발자 버전입니다. 또한이 충돌 보고서는 프로덕션 키가 아닌 android-debug 키로 서명 된 응용 프로그램에서 가져온 것입니다. 사용 가능한 문서를 조사했지만 이러한 보고서 필터링에 대한 세부 정보를 찾을 수 없습니다.

누구나 코드를 간단히 작성하고 더미 스택 트레이스를 사용하여 특정 응용 프로그램 패키지 이름을 범람시킬 수 있으므로 서명 검증없이 소득 데이터를 사용하는 것이 위험하고 잘못되었습니다.

이 도구가 정상적으로 작동하는지 알고 있습니까?

+0

나는 또한 이것을 경험했습니다. 내 장치에서 사용한 디버그 버전의 모든 충돌 보고서를 봅니다. Google은 적절하게 서명 된 응용 프로그램에서만 충돌 보고서를 표시하기 위해 일종의 필터링을 추가해야한다고 생각합니다. – banguru

+5

같은 문제가 발생했습니다. Google의 문제 추적기에 문제가 발생했습니다. https://issuetracker.google.com/issues/64929012 Google에서 더 많은 관심을 받기 원할 경우 문제에 별표를 표시 할 수 있습니다. – ipanag

+0

@ipanag 공유 주셔서 감사합니다. – Rafael

답변

11

은 충돌 보고서를 엉망으로 제거하는 게시 된 버전 번호 (알파, 베타 또는 프로덕션 중 하나)에서 다운됩니다.

그래서 내 솔루션은 매우 간단합니다 :

  1. 새 버전을 게시 한 후, 내가 제일 먼저 매니페스트에서 versionCode를 증가이다. 그리고 개발하는 동안에 만이 버전 번호를 사용합니다. 이렇게하면 콘솔에 크래시가 전송되지 않습니다.
  2. 그런 다음 다시 게시 할 준비가되면 versionCode를 한 번 더 늘립니다. 이 방법으로 새 ​​충돌이 게시 된 버전에서만 발생하는지 확인합니다.

편집 : 게시되지 않은 버전의

충돌은 여전히 ​​'모든 버전'옵션에서 콘솔에 나타납니다. 따라서 이러한 해답을 로깅되지 않도록 방지하고 그러한 충돌을 식별하고 필터링하는 방법으로 생각하십시오.

+1

안녕하세요, 제발 나를 도울 수 있습니까, 나는 또한 콘솔에서 충돌 보고서를 받고 있습니다. applicationIdSuffix ".dev"를 추가 할 때 "패키지 이름이 'my.app.package.dev'인 일치하는 클라이언트가 없습니다." –

+0

안녕하십니까 @DemoMail, 늦은 답변을 드려 죄송합니다. 그 메시지는 언제 어디서 보셨습니까? 이 applicationIdSuffix ".dev"가있는 공간을 게시 한 동일한 공간에 게시 된 응용 프로그램을 얻으려고합니까? – Rafael

+2

@Rafael 이것은 좋은 해결책이지만 applicationId로 구성된 라이브러리를 사용할 때 문제를 일으킬 수 있습니다. 예를 들어이 접근법을 사용합니다. 더 이상 내 앱의 앱 청구서에서 테스트 할 수 없습니다. –

0

나는 또한 동일한 문제에 직면했다.
은 내가 모든 응용 프로그램에 갈 때 충돌 보고서를 보여줍니다 -> -> 대시 보드 ->은

을 충돌하지만 안드로이드 바이탈로 직접 이동하는 경우 -> ANR 수 &는 아무것도 보여 나던 충돌합니다.

첫 번째 경우 '세부 정보보기'를 클릭하고보고 된 각 유형의 충돌에 대한 드롭 다운 메뉴에서 '숨기기'를 선택할 수 있습니다.

이것은 임시 수정일 뿐이지 만 Google이 적절한 수정 프로그램을 제공해야한다고 생각합니다.

./build.gradle :

android { 
    ... 
    defaultConfig { 
     applicationId "my.app.package" 
     ... 
    } 
    ... 
    buildTypes { 
     release { 
      ... 
     } 
     debug { 
      ... 
      applicationIdSuffix ".dev" 
     } 
    } 
... 
} 
0

개발자 콘솔 보고서에만, 우리는 전략 아래 채택 할 수있다, 우리는 릴리스 응용 프로그램을 게시에 관심이있는 것처럼