Wie debugge ich ein APK, das zur Veröffentlichung signiert ist?
Lesezeit: 6 Minuten
Adil Hussein
Ich habe eine Release-APK, die ich signiert, auf Google Play hochgeladen und auf meinem Android-Gerät installiert habe. Ich möchte dieses APK (mittels Android Studio oder Eclipse) debuggen, während es auf meinem Android-Gerät läuft. Ich habe das schon einmal gemacht und ich erinnere mich, dass es mit einem der Android-Entwicklungstools (vielleicht Dalvik Debug Monitor) war. Leider kann ich mich nicht erinnern, wie es geht, und ich konnte keine Artikel online finden. Weiß jemand wie ich das machen kann?
Anmerkungen
Ich habe gesetzt android:debuggable="true" in der Manifestdatei der App.
Ich habe USB-Debugging auf meinem Android-Gerät aktiviert.
was probierst du gerade? Wissen Sie nicht, wie Sie die Geräteansicht in Eclipse verwenden?
– Sam Dozor
31. Januar 2012 um 15:32 Uhr
Ich habe jetzt die Geräteansicht, die in Eclipse angezeigt wird. Ich kann mein Gerät in der Geräteliste sehen. Ich klicke darauf, aber die Schaltfläche „Ausgewählten Prozess debuggen“ ist deaktiviert, obwohl die Anwendung auf dem Telefon ausgeführt wird und das Quellprojekt vorhanden und im Arbeitsbereich geöffnet ist. Irgendwelche Ideen?!
– Adil Hussain
31. Januar 2012 um 15:43 Uhr
Klicken Sie auf den Paketnamen für Ihre App?
– Sam Dozor
31. Januar 2012 um 15:48 Uhr
Ja. Siehe Kommentar in Ihrer Antwort. (Danke für die Hilfe übrigens. Schätzen Sie es.)
– Adil Hussain
31. Januar 2012 um 16:12 Uhr
Manuel Loper
Ich weiß, dass dies eine alte Frage ist, aber zukünftige Referenzen. In Android Studio mit Gradle:
Als Hinweis zu dieser aktuellen Antwort würde ich selbst vermeiden, eine debugfähige Version an den Google Play Store zu senden, und Sie können dies möglicherweise nicht wie im Fall von hasnain_ahmad in der vorherigen veralteten Antwort zulassen. Es wäre weniger riskant, es nur vorübergehend zu tun, um ein Problem zu testen, das aus dem Store heruntergeladen wurde, wie z. B. die Nachverfolgung von In-App-Kaufcodes. Sie können auch versuchen, mit dem Beta-Track zu arbeiten (ich weiß nicht, ob dies möglicherweise den gleichen Fehler wie Hasnian verursacht) oder die Release-Build-APK von Ihrem Computer auf Ihr Telefon zu übertragen, um Sicherheitsprobleme zu vermeiden (der Umgang mit dem Bundle ist chaotischer ).
– Androidcoder
29. September 2019 um 13:35 Uhr
Das scheint nicht mehr zu funktionieren (wann debuggable ist eingestellt auf true, die Freigabe ist nicht unterzeichnet). stackoverflow.com/a/66622555/1720199
– cglacet
13. Juli 2022 um 8:52 Uhr
Sam Dozor
Sei sicher, dass android:debuggable="true" ist in eingestellt application Tag Ihrer Manifestdatei und dann:
Schließen Sie Ihr Telefon an Ihren Computer an und aktivieren Sie das USB-Debugging auf dem Telefon
Öffnen Sie Eclipse und einen Arbeitsbereich, der den Code für Ihre App enthält
Gehen Sie in Eclipse zu Window->Show View->Devices
Schauen Sie sich die Geräteansicht an, die jetzt sichtbar sein sollte, Sie sollten Ihr Gerät aufgelistet sehen
Wenn Ihr Gerät nicht aufgeführt ist, müssen Sie die ADB-Treiber für Ihr Telefon ausfindig machen, bevor Sie fortfahren
Wenn Sie den Code schrittweise durchlaufen möchten, legen Sie irgendwo in Ihrer App einen Haltepunkt fest
Öffnen Sie die App auf Ihrem Telefon
Erweitern Sie in der Geräteansicht den Eintrag für Ihr Telefon, falls er noch nicht erweitert ist, und suchen Sie nach dem Paketnamen Ihrer App.
Klicken Sie auf den Paketnamen, und oben rechts in der Geräteansicht sollten Sie einen grünen Fehler zusammen mit einer Reihe anderer kleiner Schaltflächen sehen. Klicken Sie auf den grünen Käfer.
Sie sollten jetzt Ihre App anhängen/debuggen.
Ich komme zu Schritt 8, aber aus irgendeinem Grund wird der Paketname meiner App nicht angezeigt, wenn ich die signierte/freigegebene APK ausführe. (Seltsamerweise wird es angezeigt, wenn ich die App (Debug apk) direkt von Eclipse aus auf meinem Telefon ausführe.) Verwirrt …
– Adil Hussain
31. Januar 2012 um 16:18 Uhr
Habe es! Ich hatte die gesetzt android:debuggable="true" Attribut in der manifest Tag statt der application Tag innerhalb des Manifests!! Mein Fehler 🙁 Vielen Dank Sam_D für deine Anleitung. Hätte es ohne dich nicht geschafft oder hätte bestenfalls verdammt lange gedauert!
– Adil Hussain
31. Januar 2012 um 16:25 Uhr
Wenn ich das debuggable Schlüsselwort in build.gradle hinzufüge und im Play Store veröffentlichen möchte, wird dieser Fehler angezeigt You uploaded a debuggable APK. For security reasons you need to disable debugging before it can be published in Google Play.
– hasnain_ahmad
23. April 2018 um 11:46 Uhr
Diese Antwort ist veraltet. Anstatt androidManifest.xml solltest du updaten build.gradle. Siehe andere Antworten.
– Antimonit
16. Januar 2019 um 12:19 Uhr
@hasnain_ahmad Konntest du dafür eine Lösung finden?
– Shashank Saxena
22. Juli 2019 um 8:05 Uhr
Neben Manuels Weg kannst du immer noch das Manifest verwenden.
In Android Studio stable müssen Sie die folgenden 2 Zeilen hinzufügen application im AndroidManifest Datei:
Der erste aktiviert das Debugging von signierten APKs und der zweite verhindert Kompilierzeitfehler.
Danach können Sie über die Schaltfläche “Debugger an Android-Prozess anhängen” an den Prozess anhängen.
@jaibatrik es muss deine apk sein und du musst den Debugger aus den Quellen anhängen. Wenn Sie beides tun und es immer noch nicht funktioniert, teilen Sie weitere Informationen mit und ich kann versuchen zu helfen
– Sandalen
19. Juni 2016 um 20:14 Uhr
Ich habe “[Fatal Error] :7:203: Das Präfix „tools“ für das Attribut „tools:ignore“, das einem Elementtyp „application“ zugeordnet ist, ist nicht gebunden.“ Ist tools:ignore=”HardcodedDebugMode” hier eine gültige Konfiguration?
– JD
28. April 2017 um 3:03 Uhr
musste ich hinzufügen lintOptions { abortOnError false } in meine app/build.grade anstatt zu verwenden tools:ignore so: android { lintOptions: { abortOnError false } }
– Yoshi Jäger
24. November 2019 um 13:33 Uhr
ich habe The prefix "tools" for attribute "tools:ignore" associated with an element type "application" is not bound. !
– Oliver D
29. November 2019 um 17:09 Uhr
Ich habe es mit folgendem versucht und es hat funktioniert:
Falls Sie sich für das Debuggen entschieden haben dein apk, die bereits auf dem Markt ist, aber nicht debugfähig ist und Sie sie nicht erneut veröffentlichen möchten. Befolgen Sie also die folgenden Schritte;
Dekompilieren Sie die Apk mit ApkTool(z.B. apktool d <APK_PATH>)
Öffnen Sie die AndroidManifest.xml aus dekompilierten Dateien
Satz android:debuggable="true" In application Schild
Kompilieren Sie die geänderte Quelle mit ApkTool (zB. apktool b <MODIFIED_PATH>)
Debuggbare APK bereit (was unsigniert bedeutet, dass der Store nicht veröffentlicht werden kann). Sie können nach Belieben debuggen.
Fügen Sie Folgendes zu Ihrer app build.gradle hinzu, wählen Sie die angegebene Release-Build-Variante aus und führen Sie sie aus
was probierst du gerade? Wissen Sie nicht, wie Sie die Geräteansicht in Eclipse verwenden?
– Sam Dozor
31. Januar 2012 um 15:32 Uhr
Ich habe jetzt die Geräteansicht, die in Eclipse angezeigt wird. Ich kann mein Gerät in der Geräteliste sehen. Ich klicke darauf, aber die Schaltfläche „Ausgewählten Prozess debuggen“ ist deaktiviert, obwohl die Anwendung auf dem Telefon ausgeführt wird und das Quellprojekt vorhanden und im Arbeitsbereich geöffnet ist. Irgendwelche Ideen?!
– Adil Hussain
31. Januar 2012 um 15:43 Uhr
Klicken Sie auf den Paketnamen für Ihre App?
– Sam Dozor
31. Januar 2012 um 15:48 Uhr
Ja. Siehe Kommentar in Ihrer Antwort. (Danke für die Hilfe übrigens. Schätzen Sie es.)
– Adil Hussain
31. Januar 2012 um 16:12 Uhr