Wie definieren v7 appcompat Abhängigkeit richtig?
Ich versuche zu bekommen (geerbt) Android-Projekt zu bauen. Ich bin mit Ant & command line tools (und IDEE).
In styles.xml gibt es Referenzen, die nicht aufgelöst werden können, wie:
<style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
Dies ist der ursprüngliche Fehler, die ich lief in:
[...]/res/values/styles.xml:8: error: Error retrieving parent for item:
No resource found that matches the given name '@style/Theme.AppCompat.Light'.
Dann bemerkte ich, dass project.properties
hat dies appcompat der Verweis defekt ist auf meiner (OS X) - Computer:
target=android-18
android.library.reference.1=../../../../adt-bundle-linux-x86_64/sdk/extras/android/support/v7/appcompat
Habe ich versucht zu beheben, indem Sie die Referenz relativ zu ${sdk.dir}
:
android.library.reference.1=${sdk.dir}/extras/android/support/v7/appcompat
So, jetzt, dass der Pfad sollte korrekt sein. Wenn ich jetzt aber laufen ant debug
:
BUILD FAILED
/opt/android-sdk-macosx/tools/ant/build.xml:573:
/opt/android-sdk-macosx/extras/android/support/v7/appcompat resolve to a
path with no project.properties file for project /Users/joka/devel/project/
So, irgendwelche Ideen? Was ist der einfachste Weg, um dieses Projekt gebaut?
(Bitte beachten Sie, dass Ecplise-spezifische Hinweise nicht für mich nützlich sein.)
Bearbeiten: Die Android-SDK-installation sieht wie folgt aus:
InformationsquelleAutor der Frage Jonik | 2013-08-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich lief in das gleiche problem, also habe ich versucht, über einen relativen Pfad und behoben das problem für mich. Wie es aussieht, werden nur relative Pfade funktionieren mit android.Bibliothek.Referenz. Ich habe eine schnelle Suche, um dies zu überprüfen, und stieß dabei auf diese stackoverflow-link was bedeutet, dass absolute Pfade arbeiten mit android.Bibliothek.Verweis auf Windows, aber nicht unter Unix oder Mac.
Frieden.
InformationsquelleAutor der Antwort Jay
Als Jay angegebennur relative Pfade unter Unix/Mac.
Für das Ant-build zu arbeiten, ich musste auch generieren
build.xml
für das appcompat Projektmit dem Befehlandroid update project -p <dir>
in meinem Fall:Die genaue config für mich war:
android.library.reference.1=../../../../../../../opt/android-sdk-macosx/extras/android/support/v7/appcompat
(Dies funktioniert auch in
local.properties
die ich denke, ist ein besserer Ort, da der gleiche Pfad funktioniert nicht für alle Entwickler.)Ich nur gefördert, meine Kommentar von 6 Monaten in eine Antwort, wie jemand vorschlug.
Durch die Art und Weise, dass ich jetzt wirklich wissen, etwas über Android Entwicklung, würde ich fordere jeden, der die chance hat, zu Graben Ant und der Blick in die die neue Gradle-basierte build-systemdie ist Total süß in comprarison. Es ist CI-friendly und macht es leicht zu automatisieren, nützliche Dinge (wie die Verwendung von verschiedenen Paket-Namen und app-icon für die verschiedenen build-Typen). Stack-Überlauf wird helfen , wenn Sie laufen in Probleme.
Mithilfe der support-Bibliotheken mit Gradle, Sie würde überspringen alle oben genannten Schwierigkeiten und einfach tun:
InformationsquelleAutor der Antwort Jonik
Ihrem Pfad scheint falsch zu sein (fehlt der 'Kompatibilität' - Teil).
Die v7-appcompat-Bibliothek ist bei
für mich (SDK Tools version 22.0.5 auf Max OS X 10.7.5)
InformationsquelleAutor der Antwort Patrick