Wie kann ich eine Android APK aus dem Quellcode kompilieren? [geschlossen]

7

Hier finden Sie einige Tutorials oder sogar Fragen zum Erstellen einer Anwendung für Android. Aber ich habe mich gefragt, ob ich, wenn ich nur eine Anwendung aus der verfügbaren Quelle auf Github kompilieren möchte, nichts entwickeln werde. Muss ich das Android SDK, Eclipse mit ADT-Plugin und die SDK-Tools und -Plattformen installieren?

In GNU / Linux müssen Sie nur die Build-Tools und Abhängigkeitsbibliotheken installieren, nicht eine IDE, die im Allgemeinen für die Entwicklung vorgesehen ist. Wie würden Sie beim Kompilieren der APK vorgehen? Nicht, dass ich möchte, dass es wie GNU / Linux ist, aber was sind die erforderlichen Tools nur zum Kompilieren? Und muss ich meine Java-Version auf 6 herunterstufen, wenn ich für Android 4.1.2 kompiliere (wenn Java benötigt wird)?

Außerdem gibt es keine Build-Anweisungen für die Quelle, einschließlich einiger Schritte zu Ihrer Antwort. Wir würden uns sehr freuen!

Teresa e Junior
quelle

Antworten:

9

Die Mindestanforderungen für die Erstellung einer Android-App sind normalerweise das Android SDK und ant. Dann sind Sie in der Lage , die bauen Mehrheit 1 von Projekten mit den folgenden Schritten.

  • Wenn es keine gibt, build.xmlgenerieren Sie es

Android Update Projekt -p. -n $ PROJECT_NAME -s

  • Dann bauen Sie das Projekt mit

ant debug

Dadurch wird ein .apkmit Ihrem Debug-Schlüssel signiertes Objekt erstellt.

Alle anderen Abhängigkeiten reichen vom verwendeten VCS (z. B. Git) über die erforderlichen Bibliotheken von Drittanbietern bis zu anderen erforderlichen Build-Tools (z. B. Android NDK).

1 Warum habe ich die Mehrheit geschrieben ? Weil es für eine solche Frage keine endgültige Antwort gibt, da dies einfach vom verwendeten Build-System und dem gesamten Build-Setup des Projekts abhängt.

Werfen wir einen Blick auf die Metadaten von F-Droid, einer großen Datenbank mit Build-Rezepten für FOSS Android-Apps. Sie werden feststellen, dass es viele Möglichkeiten gibt, wie eine Android-App erstellt werden kann. Zum Beispiel goo.TeaTimerhat ein sehr sauberes und kurzes Build-Rezept, nämlich keines, das standardmäßig F-Droid verwendet ant debug, um das zu erstellen .apk. Auf der anderen Seite org.transdroid.fullsind einige weitere Schritte erforderlich, um .apkFolgendes zu erstellen : Zuerst muss die Transdroid-Kernbibliothek erstellt werden, dh die ant -f ../lib/build.xmlZeile prebuild, dann werden die Optionen mit dem sedBefehl deaktiviert . Jetzt kann das Finale .apkgebaut werden.

Fließen
quelle
Ich habe meine Antwort aktualisiert. Beachten Sie, dass dies prebuildF-Droid-spezifisch ist. Dies ist die Anweisung für Befehle, die in der Vorbereitungsphase ausgeführt werden.
Flow
Ihr Befehl funktioniert nicht, weil ihm ein fehlt AndroidManifest.xml, und der Fehler beim Ausführen lautet "Schlüssel kann nicht von Google Drive geladen werden, Wiederholung: null"
Teresa e Junior
Der Befehl wurde falsch gerendert. Ich habe es bearbeitet. Es ist der gleiche Befehl, den F-Droid und ich in meinem Android-Projekt zum Generieren verwenden build.xml. Ich habe mir Keepshare genauer angesehen: Es verwendet sbt (einfaches Build-Tool) und ist ein gutes Beispiel für ein Projekt, das kein antanderes Build-Tool verwendet. Daher unterscheiden sich die Befehle und Werkzeuge zum Erstellen des Projekts.
Flow
1
Ihre Antwort ist für Keepshare immer noch nicht relevant. Die eigentliche Antwort finden Sie in Kommentar 3.
Daithib8
1
Das stimmt. Ich denke, dass mehr Benutzer von einer allgemeinen Antwort profitieren als von einer bestimmten. OP hat bereits herausgefunden, dass SBT das verwendete Build-Tool ist.
Flow