2017-10-15 27 views
0

gstreamerのアンドロイドチュートリアルを公式サイトから実行しようとしています。最初のチュートリアルでは、プラグインを使用していないため正常に機能しました。しかし、私は残りの部分を動かすことができませんでした。 2番目のチュートリアルでは、プラグインの1つが見つかりません:autoaudiosinkです。
Androidスタジオは "/home/borlea/Android/Sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/aarch64-linux-android/bin/ld.gold"というファイルを開きます。それはそれで分かりやすい何かを持っていない、と私はこれらのエラーを取得:
エラー:エラー:
エラー「gst_plugin_autoaudiosink_register」に未定義の参照:エラー:リンカコマンドは終了コードで失敗しましたエラー:-lgstautoaudiosink
エラーを見つけることができませんこれは私のAndroid.mkがエラー: 'gst_plugin_autoaudiosink_register'への未定義の参照

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 
を提出された1

を(呼び出しを参照するには、-vを使用)

どうしたのですか?ビルドエラーの

印刷画面:事前に

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

感謝。

答えて

1

私はチュートリアルを試していたときと同じエラーが発生しましたが、正しく覚えていれば、Android StudioとAndroid.mkの間のリンクが問題です。変更「を構築 -
:それを解決するためにあなたが持っている:
1.右、左のナビゲーション「のGradleとリンクC++プロジェクト」のタブ
2. [新しいウィンドウで
3で「アプリ」でクリックしてくださいシステム "を" CMake "から" ndk-build "に変更
- " ... "をクリックし、Android.mkの場所「/AndroidStudioProjects/android-studio-5/app/src/jni/Android.mk」を参照してください。
- ヒットOK

うまくいけば、それはエラーを修正するが、別のエラーが表示されます。チュートリアルの主な問題は、それが日食のために作られたことです。そこで、NDK、makefile.mk GStreamer、Android Studioがどのように動作するかについてのいくつかの調査の後、私はAndroidスタジオでこれらのチュートリアルをすべて実行する方法を段階的に説明しました。
私が実行するステップで与えた答えのリンクは次のとおりです。Gstreamer examples in Android Studio
ここに画像があります(このanwserはチュートリアルの第2ステップです)。

+0

答えに感謝します!私はすでにあなたがその質問で与えた他の答えを見てきました。私はあなたが言ったことに続き、いくつかのエラーを解決しましたが、私はまだ質問に記載されたエラーを受け取ります。私もGitLabからプロジェクトを実行しようとしましたが、別のエラーが発生します。あなたが知っている限り、あなたはAndroid Studioにgstreamerでプロジェクトを投稿した唯一の人です。私は今家にいません。私はあなたのプロジェクトから得たエラーを覚えていません。しかし、私はあなたが私を助けることができれば多分感謝しています、多分私はあなたの仕事を私のPCで作ることができます...。もう一度おねがいします@Eduardo Fernando –

+1

私は助けてうれしいです。ちょうどあなたが私のプロジェクトをgitから実行しようとしているというエラーを正確に知らせてください。私はそれをあなたのために働かせるように解決することもできます。私のチュートリアルも更新すると良いでしょう。 @AndreiDanielBorlea –

+0

私はあなたのプロジェクトを自分のコンピュータ上で動作させることができました。それはアンドロイドスタジオの問題でした。この[チュートリアル](https://www.youtube.com/watch?v=1QkYd_QjEWc)は私を解決するのを助けました。しかし、私はまだチュートリアル2と3に関連する私の質問に記載されているそれらのエラーがあります。 "autoaudiosink"プラグインが見つかりませんでした私はなぜ... –

関連する問題