2017-10-15 11 views
0

J'essaie d'exécuter les tutoriels android pour gstreamer à partir du site officiel. Le premier tutoriel a bien fonctionné car il n'utilise aucun plugin. Mais je ne pouvais pas faire fonctionner le reste d'entre eux. Au deuxième tutoriel, le problème est l'un des plugins n'est pas trouvé: autoaudiosink.
Android Studio ouvre un fichier "/home/borlea/Android/Sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/aarch64-linux-android/bin/ld.gold" mais il n'a rien intelligible, et je reçois ces erreurs:
erreur: erreur: ne peut pas trouver -lgstautoaudiosink
erreur: erreur: référence non définie à « gst_plugin_autoaudiosink_register »
erreur: erreur: commande de liaison a échoué avec le code de sortie 1 (utiliser -v pour voir l'invocation)
Erreur: référence non définie à 'gst_plugin_autoaudiosink_register'

Ceci est mon fichier Android.mk

LOCAL_PATH := $(call my-dir) 

    include $(CLEAR_VARS) 

    LOCAL_MODULE := tutorial-2 
    LOCAL_SRC_FILES := tutorial-2.c 
    LOCAL_SHARED_LIBRARIES := gstreamer_android 
    LOCAL_LDLIBS := -llog 
    include $(BUILD_SHARED_LIBRARY) 

    GSTREAMER_ROOT_ANDROID := /home/borlea/Downloads/gstreamer-1.0-android-universal-1.12.3 

    ifndef GSTREAMER_ROOT_ANDROID 
    $(error GSTREAMER_ROOT_ANDROID is not defined!) 
    endif 

    ifeq ($(TARGET_ARCH_ABI),armeabi) 
    GSTREAMER_ROOT  := $(GSTREAMER_ROOT_ANDROID)/arm 
    else ifeq ($(TARGET_ARCH_ABI),armeabi-v7a) 
    GSTREAMER_ROOT  := $(GSTREAMER_ROOT_ANDROID)/armv7 
    else ifeq ($(TARGET_ARCH_ABI),arm64-v8a) 
    GSTREAMER_ROOT  := $(GSTREAMER_ROOT_ANDROID)/arm64 
    else ifeq ($(TARGET_ARCH_ABI),x86) 
    GSTREAMER_ROOT  := $(GSTREAMER_ROOT_ANDROID)/x86 
    else ifeq ($(TARGET_ARCH_ABI),x86_64) 
    GSTREAMER_ROOT  := $(GSTREAMER_ROOT_ANDROID)/x86_64 
    else 
    $(error Target arch ABI not supported: $(TARGET_ARCH_ABI)) 
    endif 

    GSTREAMER_NDK_BUILD_PATH := $(GSTREAMER_ROOT)/share/gst-android/ndk-build/ 
    include $(GSTREAMER_NDK_BUILD_PATH)/plugins.mk 
    GSTREAMER_PLUGINS   := audiotestsrc audioconvert audioresample autoaudiosink 
    include $(GSTREAMER_NDK_BUILD_PATH)/gstreamer-1.0.mk 

Qu'ai-je fait de mal?

écran d'impression de l'erreur de construction:

This is a print screen of the error build error I get

Merci à l'avance.

Répondre

1

J'ai eu la même erreur quand j'essayais les tutoriels et si je me souviens bien le problème est la liaison entre Android Studio et Android.mk. Pour le résoudre, vous devez:
1. Faites un clic droit sur « app » dans l'onglet de navigation de gauche
2. Cliquez sur "Link C++ Projet avec Gradle"
3. Dans la nouvelle fenêtre:
- Change « Build Système "de" CMake "à" ndk-build "
- Cliquez sur" ... "et naviguez jusqu'à l'emplacement de l'Android.mk" /AndroidStudioProjects/android-studio-5/app/src/jni/Android.mk "
- Appuyez sur OK

Espérons que cela corrigera l'erreur mais d'autres erreurs apparaîtront. Le principal problème avec les tutoriels est qu'il a été fait pour eclipse. Donc, après quelques études sur la façon dont le NDK, makefile.mk GStreamer et Android Studio fonctionne, j'ai fini par faire une étape par étape sur la façon d'exécuter tous ces tutoriels sur Android Studio.
Le lien pour la réponse que j'ai donné avec les étapes à exécuter est: Gstreamer examples in Android Studio
Vous y trouverez des images (cette réponse est la deuxième étape du tutoriel).

+0

merci pour la réponse! J'ai déjà vu l'autre réponse que vous avez donnée à cette question. J'ai suivi ce que vous avez dit là-bas, et cela a résolu certaines erreurs, mais j'ai toujours les erreurs mentionnées dans la question. J'ai aussi essayé de lancer votre projet depuis GitLab mais j'ai une autre erreur. Pour autant que je sache, vous êtes le seul gars qui a posté un projet avec gstreamer dans Android Studio. Je ne suis pas à la maison en ce moment, et je ne me souviens pas de l'erreur que j'ai reçue de votre projet. Mais je serais reconnaissant varier si vous pouvez m'aider, peut-être que je peux faire votre travail sur mon pc .... Merci encore @Eduardo Fernando –

+1

Je suis heureux d'aider. Faites-moi juste savoir exactement l'erreur que vous avez essayé d'exécuter mon projet de git et je peux essayer de le résoudre pour travailler pour vous aussi. Ce sera bon pour mettre à jour mes tutoriels aussi. @AndreiDanielBorlea –

+0

J'ai réussi à faire fonctionner votre projet sur mon ordinateur, c'était un problème de studio android, ce [tutorial] (https://www.youtube.com/watch?v=1QkYd_QjEWc) m'a aidé à le résoudre. Mais j'ai toujours ces erreurs décrites dans ma question, liée au tutoriel 2 et 3. Le plugin "autoaudiosink" n'est pas trouvé Je ne sais pas pourquoi ... –