Integrieren Sie eine Android -App (.APK) in ein vorhandenes Android -Projekt
-
27-10-2019 - |
Frage
Hier ist der Anwendungsfall:
Ein Freund und ich bauen eine Android -App auf und möchten zusammen ein Spiel integrieren. Der Kern der App wurde in Eclipse eingebaut, aber wir suchen nach dem Erstellen des Spiels mit einem App -Erstellungswerkzeug wie Google Appinventer (http://appinventor.googlelabs.com/about/) oder Corona (http://www.anscamobile.com/corona/). Wir möchten, dass die vorhandene App, die wir erstellt haben, einen Knopf wie "Play Game" haben, das das Spiel starten wird, das wir mit einem dieser Dienstprogramme erstellen.
Als ich jedoch mit Google App Inventor herumspielte, bemerkte ich, dass ich das Projekt nur als APK exportieren konnte, bei dem es sich um Binärdateien handelt. Im Idealfall würde ich die App in Appinventor erstellen, den Quellcode exportieren und das Paket in unser vorhandenes Projekt in Eclipse hinzufügen. Nun, es ist nicht so einfach, da wir nur Zugriff auf eine .APK -Datei haben. Meine Frage ist also, kann dies getan werden? Wie?
Einige haben vorgeschlagen, eine zu verwenden APK Decompiler, aber wäre das überhaupt wert? Gibt es gute APK -Dekompiler, die uns Zugriff auf einen Quellcode (Java -Dateien, XML -Dateien, Ressourcen) ohne zu große Kopfschmerzen erhalten? Gibt es ein weiteres Tool, das den Quellcode exportieren kann? Gibt es eine andere Möglichkeit, 2 separate .APKs zu integrieren?
Oder müssen wir 2 separate Apps erstellen? :(
Lösung
Ein in App Inventor geschriebenes Projekt kann nicht in die Eclipse exportiert werden.
Die erstellte .APK -Datei ist keine binäre Datei. Es ist ein ZIP -Archiv mehrerer Dateien und Ordner, aber keiner davon ist Java -Code.
Was können getan werden, um eine App -Erfinder -App mit einer mit Android SDK erstellten App zu kombinieren, die Aktivitätsstarter -Komponente im App -Erfinder verwenden. Details dazu sind hier:http://appinventor.googlelabs.com/learn/reference/other/activitystarter.html
Beachten Sie schließlich, dass App Inventor -Apps nicht direkt auf den Markt hochgeladen werden können. Einige Benutzer haben jedoch einen Prozess erstellt, der dies ermöglicht. Dies wird als Marketisierer bezeichnet.
Wenn Sie einige Zeit damit verbringen, Beiträge aus diesem Forum zu lesen: Programming-with-App Inventor (es ist ein Google-Gruppen-Forum), können Sie noch bessere Ideen erhalten.
Andere Tipps
Sie können in Betracht ziehen, das Abhängigkeitsprojekt A als Glas zu bauen und diese Jar-Datei in den Build-Pfad Ihres abhängigen Projekts B einzuschließen. B.
Dazu sollte in Eclipse Yo klicken Export> java> jar> {Projekt auswählen und nicht ausgewählt AndroidManifest.xml}> Finish
Wenn Sie AndroidManifest.xml nicht aus Ihrem Projekt A ausschließen, erhalten Sie ein Problem, in dem es um doppelte Manifestdateien beschrieben wird hier.
Sie können auch den folgenden Fehler erhalten:
Die Konvertierung in das Dalvik -Format ist mit Fehler 1 fehlgeschlagen
Um das gerecht zu reparieren Reinigen und bauen Sie Ihr Projekt wieder auf
Ich habe das für zwei Projekte versucht, die Referenz für dieselbe Version von Android SDK haben und es funktionierte. Beachten Sie, dass Sie es auch im Manifest des Projekts B deklarieren müssen, wenn Sie Aktivität aus dem Projekt A ausführen müssen