2017-10-27 1 views
1

링크를 클릭하면 인스턴트 앱 런처가 표시되지만 웹 버전으로 이동 한 후에 나타납니다. (Google Play 프로덕션 릴리스의 IA).인스턴트 앱이 릴리스에서 작동하지 않습니다 (알 수없는 이유로 인스턴트 앱 실행이 실패했습니다 (getInstantAppPreLaunchInfo 실패))

디버그 버전이 완벽하게 작동합니다.

내 매니페스트 파일은 google 샘플과 정확히 동일합니다. 나는 로그를보고이 라인을 찾을 수

App link

(내 링크와 사이트) :

com.google.android.instantapps.supervisor의 D/감독자 : UrlHandler com.google을 시작. android.instantapps.supervisor D/AutoManageHelper : com.google.android.instantapps.supervisor D/AutoManageHelper : onStart true {0 = com.google.android.gms.common.api.internal .zzi $ zza @ d12b8e9} com.goo gle.android.instantapps.supervisor E/OptInDirector : 인스턴트 응용 프로그램 알 수없는 이유로 실행하지 못했습니다 (getInstantAppPreLaunchInfo 실패 - 이전 logcat 확인). com /.android.instantapps.supervisor E/Supervisor : 옵트 인이 중단되었습니다. com.google.android.instantapps.supervisor 나는/PlayCommon : [38684] PlayEventLogger.uploadEventsImpl : [38684] PlayEventLogger.getAuthToken : com.google.android.instantapps.supervisor의 W/PlayCommon을 업로드하기위한 준비 로그 계정이 없습니다 인증을위한 토큰 com.google.android.instantapps.supervisor 제공 I/PlayCommon [38,684] PlayEventLogger.uploadLog : 서버에 연결 : https://play.googleapis.com/play/log?format=raw&proto_v2=true 10-27 com.google.android.instantapps.supervisor I/PlayCommon : [38684] PlayEventLogger.handleResponse : 성공적으로 개의 업로드 된 로그. com.google.android.instantapps.supervisor I/PlayCommon : [38684] PlayEventLogger.uploadEventsImpl : 업로드 할 로그 준비 com.google.android.instantapps.supervisor I/PlayCommon : [38684] PlayEventLogger.uploadEventsImpl : 파일이 준비되지 않았습니다. com.google.android.instantapps.supervisor D/Supervisor : 400ms의 기한이 만료되었으므로 로드 스크린을 표시합니다. com.google.android.instantapps.supervisor의 D/슈퍼 바이저 : UrlHandler

내가 오류가 여기에 나타납니다 생각 중지 :

인스턴트 앱 출시 (인스턴트 앱 시작 이 실패 알 수없는 이유로 실패 알 수없는 이유 (getInstantAppPreLaunchInfo 실패 - 이전 logcat 확인 실패 - 이전 logcat 확인)

옵트 인이 중단되었습니다.

+0

Proguard를 사용합니까? 릴리스 및 디버그를 위해 별도의 AndroidManifest.xml 파일이 있습니까? 릴리스 및 디버그에 다른 기호 구성을 사용합니까? – deadmoto

+0

@deadmoto 예, 저는 프로 가드를 사용합니다. 하나의 매니페스트 만 있습니다. (각 모듈에 대해). 예, 표준 키로 디버그 서명을하고 릴리스 용 내 스토리지를 만듭니다. –

+1

음, 배포를 위해 Proguard를 비활성화하고 도움이되는지 확인하십시오. 다른 Android 버전에서도 Instant Apps 런타임이 아직 안정화되지 않았으므로 사용해보십시오. – deadmoto

답변

0

이 문제의 임시 해결 방법은 각 기능 모듈에 대대적 인 "-keep"가드를 구성하는 것입니다.귀하의 응용 프로그램/proguard-rules.pro (설치 - 응용 프로그램 모듈에

  1. 추가 "클래스를 -whyareyoukeeping **"당신이 당신의 난독를 구성 할 때 유지하기 위해 어떤 클래스를 확인하려면

    , 다음을 수행하십시오)

  2. 설치된-응용 프로그램을 구축, 다음 Gradle을 콘솔을 할 수 있도록 일부 편집기 부분을 유지 여부를
  3. 사본 어떤 클래스에 대한 정보의 목록이 포함됩니다 사실
  4. 에 설치된-응용 프로그램의 minifyEnabled 설정 편집하십시오
  5. ""또는 "은 라이브러리"으로 표시되는 모든 클래스에 대해 보관할 클래스가됩니다. "- keep class some.package.class {*;}" a. 추가 최적화를 위해 구성원 수준에서이 작업을 수행 할 수 있어야합니다.
  6. 이 보관 목록을 컴파일 한 후에 각 기능의 proguard-rules.pro
  7. 에 추가 할 수 있습니다. 그 기본/proguard-rules.pro을 확인해야합니다 (또는 난처 어떻게 든 기능과 다운 스트림 매핑 전파)

이제 당신은 진정한 minifyEnabled와 인스턴트 응용 프로그램을 구축 할 수 있습니다 "-dontobfuscate"를 사용합니다.

5 단계에 유의하십시오. 편집기의 유용성에 따라 컴파일하는 것이 어려울 수 있습니다. 엔지니어가 시연 한 한 가지 방법은 awk '/^[^]/{cls = $ 1}/is (라이브러리 보관)/{print "-keep class"cls "{*; } "} '

For more detail and update can you check here.

관련 문제