Kann nicht zum erstellen von GStreamer für Android Tutorials
Ich bin mit einer ganzen Reihe von Fragen, die versuchen zu bauen, die das GStreamer-Android-tutorials.
Meine Umgebung ist:
- Mac OS X 7
- Android SDK version 17
- Android NDK 8d
Ich bin in der Lage zu erstellen und auszuführen, die NDK-Proben sowohl in Eclipse und über die Befehlszeile.
Heruntergeladen habe ich http://cdn.gstreamer.com/android/arm/gstreamer-sdk-android-arm-debug-2012.11.tar.bz2 und fügte hinzu, die GSTREAMER_SDK_ROOT_ANDROID die environment-variable meine .bash_profile.
Wenn ich versuche android-tutorial-1 über Eclipse bekomme ich die folgende Fehlermeldung:
12:12:05 **** Incremental Build of configuration Default for project Tutorial1 ****
/apps/tools/android-ndk-r8d/ndk-build all
jni/Android.mk:13: *** GSTREAMER_SDK_ROOT_ANDROID is not defined!. Stop.
12:12:05 Build Finished (took 104ms)
Habe ich versucht, indem GSTREAMER_SDK_ROOT_ANDROID der C++ - build-Variablen in Eclispe aber es macht keinen Unterschied.
Wenn ich versuche, über die Kommandozeile bekomme ich die folgende Fehlermeldung:
/bin/sh: pkg-config: command not found
/bin/sh: pkg-config: command not found
/bin/sh: pkg-config: command not found
GStreamer : [GEN] => gst-build/gstreamer_android.c
GStreamer : [COMPILE] => gst-build/gstreamer_android.c
gst-build/gstreamer_android.c:2:21: fatal error: gst/gst.h: No such file or directory
compilation terminated.
make: *** [gst-build/gstreamer_android.o] Error 1
Was ich nicht herausfinden können, ist gst/gst.h nicht aufgelöst werden können?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier konfrontiert Sie mit zwei problem
1. GSTREAMER_SDK_ROOT_ANDROID ist nicht definiert
Kann leicht gelöst werden, indem festgelegt
GSTREAMER_SDK_ROOT_ANDROID
Umgebungsvariable (in eclipse oderAndroid.mk
- Datei) in meinem Fall habe ich dies angegeben Variablen wie dieseTARGET_ARCH_ABI
- vordefinierte variable (in meinem Fallarmeabi-v7a
)APP_OPTIM
- vordefinierte variablerelease
oderdebug
In Ihrem Fall
GSTREAMER_SDK_ROOT
wird anders sein, aber natürlich mit vordefinierten vars eine Menge helfen, wenn Sie Unterstützung benötigen mehrere archs2. Ihre
pkg-confing
ist nicht inPATH
Wie Sie sehen standardmäßig gibt es mit
sh
shellKann es nicht finden
pkg-config
weil zunächstPATH=/usr/bin:/bin:/usr/sbin:/sbin
. Im Fall, wenn Sie installiertpkg-config
durchbrew
auf OSX, es wurde aufgestellt, um/usr/local/bin
Fix
PATH
Sie können festlegen, eigene shellDies ist keine perfekte Lösung, aber es funktioniert
Update für Gradle-Benutzer
Seit
2.2.0-alpha3
gradle android-plugin-Unterstützung externe build-Systeme wie diese (fügen Sie es inbuild.gradle
innenandroid
definition)Vergessen Sie nicht Aufräumen
jni.srcDirs
weil schlechtes plugin zum ersten mal starten, um die Bereinigungjni.srcDirs
zur Laufzeit hinzufügenOfficial guide jetzt verfügbar https://gstreamer.freedesktop.org/documentation/tutorials/android/link-against-gstreamer.html
Ich das oben geschrieben Frage auf die GStreamer-Android-mailing-Liste und bekam die folgende Antwort:
Ich verwendet, homebrew zu installieren
pkg-config
und war in der Lage zu bauen, alle Android-Tutorials über die Kommandozeile mitndk-build
.Ich habe noch eine Reihe von Problemen in Eclipse:
GSTREAMER_SDK_ROOT_ANDROID
ist nicht definiert! - Ich kann nicht Eclipse zu Holen, diese variable/bin/sh: pkg-config: command not found
- pkg-config installiert ist und funktioniert über die CLIIch glaube, einige der Probleme im Zusammenhang mit Android Problem 33788 und ich haben versucht Sie zu lösen mit CDT 8.0.2 statt CDT 8.10 hat es aber nicht lösen die oben genannten Probleme.
Habe ich gearbeitet, um das problem jetzt, indem Sie Folgendes tun:
sudo port install PkgConfig
und es funktionierte Gebäude von Android Studio.für error1:
jni/Android.mk:13: * GSTREAMER_SDK_ROOT_ANDROID ist nicht definiert!. Stop.
können Sie defind GSTREAMER_SDK_ROOT_ANDROID := XXXXX(Ihre Gstreamer_Android_SDK Pfad) in Ihrem Android.mk-Dateien!
für error2:
fatal error: gst/gst.h: No such file or directory
können Sie unter anderem die (Gstreamer_Android_SDK Pfad)/include/gstreamer0.10/in den C/C++ General -> Pfade und Symbole -> inlude!
Hoffe, dass das helfen würde:)
Ich die Verwendung von ADT mit Eclipse und vielleicht können Sie festlegen, GSTREAMER_SDK_ROOT_ANDROID als Projekt-Weise die environment-variable, indem Sie die folgenden Schritte aus:
Project -> Properties -> C/C++ Build -> Environment -> Add
statt definieren Sie es in .mk-Datei.
Ich Stand vor dem gleichen problem gefunden, aber nichts klares im internet. Aber irgendwie detail-Studie des Problems, die mich dazu geführt, es zu lösen.
Um es zu lösen müssen Sie die folgenden Schritte in eclipse:
Windows->preferences->c/c++->build->Environment
Add
- Taste auf der rechten die meisten der FensterGSTREAMER_SDK_ROOT_ANDROID
"Value
Feld geben Sie den Speicherort der GStreamer-SDK. In meinem Fall war es "C:\GStreamer_SDK
". HIER IST DIE PROBLEMMMM.... müssen Sie mit Schrägstrich "/
" nicht rückwärts "\
", damit es richtig funktioniert. also meine Gstreamer-SDK-Pfad wird wie folgt Aussehen "C:/GStreamer_SDK
"Sobald Sie fertig sind. Müssen Sie einige änderungen in der
Android.mk
- Datei des Projekts.Gehen Sie zu der folgenden Zeile
und entfernen Sie die Endung Schrägstrich von der Linie der code. so wie es aussieht diese.
Speichern und Sie sind fertig!
Wenn Sie nicht entfernen Sie den Schrägstrich erzeugen, den Pfad beim build wie dieses
Doppelte Schrägstriche problem beim bauen.
Nun klicken Sie rechts auf
project->clean
ProjektJetzt bauen Sie mit der rechten Maustaste auf Ihre
project->build
Projekt.Wenn eclipse hängt beim Bau nur gehen, um den task-manager und töten die
make.exe
service zwei mal.Führen Sie Ihr Projekt auf Ihrem Gerät oder emulator.
Spaß haben!
@CAMOBAP Danke für deinen Beitrag. Es mir wirklich helfen,. Ich bin möglich zu bauen Android-Beispiels in eclipse. Hauptproblem war:
Fo GSTREAMER_SDK_ROOT_ANDROID
Hinzufügen-> Name: GSTREAMER_SDK_ROOT_ANDROID
Wert: /Users/your/Path/To/gstreamer-sdk-android-arm-release-2013.6
Hinzufügen, dass es auch für Build-Variablen.
Weiter: Sie müssen nicht entfernen die Endung Schrägstrich von der Linie der code in MAC-und Sie müssen nicht fügen Sie Umfasst in Eclipse. Diese Abhängigkeiten werden gelöst werden, automatisch nach der ersten bauen.
Werden Sie sicher, dass das Android SDK und NDK es gut läuft in Eclipse. Ich habe auch SDK und NDK Pfade:
Diese auf MAC läuft. Ich habe auch Manifest-Datei:
Für Tutorial 5 von Android Gstreamer müssen Sie die SD-Karte-Berechtigung: