Die Antworten sind bereits veraltet oder nicht vollständig. Dies funktioniert möglicherweise für nicht geschützte Apks (kein Proguard), aber heutzutage stellt niemand eine ungeschützte Apk bereit. Die Art und Weise, wie ich eine (meine) gut geschützte apk (Proguard, Sicherheitsüberprüfung, die nach "Hacking-Tools" sucht, Sicherheitsüberprüfung, die prüft, ob die App im Debug-Modus neu gepackt wurde, ...) ändern konnte, erfolgt über apktool as bereits von anderen hier erwähnt. Aber niemand hat erklärt, dass man die App erneut signieren muss.
apktool d app.apk
apktool b [folder name] -o modified.apk
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/.android/debug.keystore modified.apk androiddebugkey
In meinem Test hatte die ursprüngliche Version apk keine Protokollierung. Nachdem ich mit apktool dekompiliert hatte, tauschte ich eine vollständige Bytecodedatei ohne Protokollierung durch eine vollständige Bytecodedatei mit Protokollierung aus, kompilierte sie neu und signierte sie und konnte sie auf meinem Gerät installieren. Danach konnte ich die Protokolle in Android Studio sehen, als ich die App damit verband.
Meiner Meinung nach ist das Dekompilieren mit dex2jar
und JD-GUI
nur hilfreich, um besser zu verstehen, was die Klassen tun, nur zu Lesezwecken. Aber da alles sicher ist, bin ich mir nicht sicher, ob Sie diesen halbgebackenen Java-Code jemals zu einer funktionierenden apk neu kompilieren können. Wenn ja, lassen Sie es mich bitte wissen. Ich denke, die einzige Möglichkeit besteht darin, den Bytecode selbst zu manipulieren, wie in diesem Beispiel erwähnt.