2017-10-27 10 views
1

Wenn ich auf den Link Instant App Launcher erscheint, aber nachdem es zur Web-Version navigiert. (IA in Produktionsfreigabe bei Google Play)Instant App funktioniert nicht in der Veröffentlichung (Instant App Start aus einem unbekannten Grund fehlgeschlagen (GetInstantAppPreLaunchInfo fehlgeschlagen))

Debug-Version funktioniert einwandfrei.

Meine Manifeste Datei genau das gleiche wie bei Google Probe. (Mit meinen Links und Website)

App link

ich Protokolle sah und finden Sie die folgenden Zeilen:

com.google.android.instantapps.supervisor D/Betreuer: UrlHandler com.google starten. android.instantapps.supervisor D/AutoManageHelper: Starten von AutoManage für Client 0 false null 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: Instant App Start aus einem unbekannten Grund fehlgeschlagen (getInstantAppPreLaunchInfo fehlgeschlagen - überprüfen Sie vorherige logcat) com.google.android.instantapps.supervisor E/Supervisor: Opt-in abgebrochen. com.google.android.instantapps.supervisor I/PlayCommon: [38684] PlayEventLogger.uploadEventsImpl: Vorbereiten Protokolle für das Hochladen com.google.android.instantapps.supervisor W/PlayCommon: [38684] PlayEventLogger.getAuthToken: Kein Konto für auth-Token bereitgestellt com.google.android.instantapps.supervisor I/PlayCommon: [38684] PlayEventLogger.uploadLog: Verbindung mit dem Server: https://play.googleapis.com/play/log?format=raw&proto_v2=true 10-27 com.google.android.instantapps.supervisor I/PlayCommon: [38684] PlayEventLogger.handleResponse: Erfolgreich hochgeladene Protokolle. com.google.android.instantapps.supervisor I/PlayCommon: [38684] PlayEventLogger.uploadEventsImpl: Vorbereiten Protokolle für das Hochladen von com.google.android.instantapps.supervisor I/PlayCommon: [38684] PlayEventLogger.uploadEventsImpl: Keine Datei bereit senden an com.google.android.instantapps.supervisor D/Supervisor: Erzwingt das Anzeigen des Ladescreens , weil die Frist von 400 ms abgelaufen ist. com.google.android.instantapps.supervisor D/Betreuer: UrlHandler stoppen

Ich denke, Fehler erscheint hier:

Instant-App-Start aus einem unbekannten Grund fehlgeschlagen (Instant-App-Start fehlgeschlagen für ein unbekannter Grund (getInstantAppPreLaunchInfo ist fehlgeschlagen - check previous logcat) fehlgeschlagen - überprüfen Sie die vorherige Logcat)

Opt-in abgebrochen.

+0

Haben Sie Proguard verwenden? Haben Sie separate AndroidManifest.xml-Dateien für die Veröffentlichung und das Debuggen? Verwenden Sie für die Freigabe und das Debugging unterschiedliche Signenkonfigurationen? – deadmoto

+0

@deadmoto Ja, ich benutze Proguard. Ich habe nur ein Manifest. (für jedes Modul). Ja, ich signiere Debug mit Standardschlüssel und erstelle meinen eigenen Speicher für Version –

+1

Nun, versuchen Sie, Proguard für die Freigabe zu deaktivieren und sehen, ob das hilft. Probieren Sie es auch in verschiedenen Android-Versionen aus, da die Instant-Apps-Laufzeit noch nicht stabilisiert wurde. – deadmoto

Antwort

0

Eine vorübergehende Problemumgehung für dieses Problem besteht darin, für jedes Feature-Modul ein umfangreiches "-wart" -Programm zu konfigurieren.

welche Klassen Um herauszufinden, zu halten, wenn Sie Ihre proguard konfigurieren, führen Sie bitte die folgenden Schritte aus:

  1. add „-whyareyoukeeping Klasse **“, um Ihre app/proguard-rules.pro (installiert-App-Modul)
  2. legen Sie die installierte-App minifyEnabled auf true
  3. die installierte-App bauen, dann wird die Gradle Console eine Liste von Informationen enthalten, auf die Klassen, die es gehalten oder nicht
  4. Kopie des Teils bis zu einem gewissen Editor so können Sie edit es
  5. für jede Klasse, die entweder mit einem "wird gehalten wird" oder "ist eine Bibliothek", das wird eine Klasse zu halten, dh. "- keep class some.package.class {*;}" a. Sie sollten dies auch auf Mitgliedsebene zur weiteren Optimierung tun können.
  6. Nachdem Sie die Liste dieser Aufbewahrungsorte zusammengestellt haben, fügen Sie sie zu jedem Ihrer Proguard-Regeln.pro
  7. Sie möglicherweise oder nicht müssen, dass die Basis/proguard-rules.pro überprüfen verwendet „-dontobfuscate“ (oder propagieren Verschleierung Merkmale Downstream-Karten irgendwie)

Jetzt können Sie Ihre Instant-App mit minifyEnabled wahr bauen.

Bitte beachten Sie Schritt-5, es könnte eine Herausforderung sein zu kompilieren, abhängig davon, wie gut Ihr Editor ist. Eine Möglichkeit, die der Ingenieur demonstrierte, war die Verwendung des AWK-Befehls, um den Text zu ersetzen: - awk '/^[^]/{cls = $ 1}/ist (behalten | eine Bibliothek)/{print "-wartende Klasse" cls "{*; „}}

For more detail and update can you check here.

Verwandte Themen