2017-12-03 9 views
0

AndroidスタジオでOPUSをコンパイルしようとしています。 コマンドラインからndk-buildを呼び出すと、すべて正常に動作します。 Android Studioからビルドすると失敗します。Android Studio ndk-buildでファイルが見つかりません

マイapp.gradle:

include celt_sources.mk 

エラー:

Error while executing process G:\ASDK\ndk-bundle\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=F:\TP2\ram\android\app\src\main\jni\Android.mk NDK_APPLICATION_MK=F:\TP2\ram\android\app\src\main\jni\Application.mk APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=0 APP_PLATFORM=android-19 NDK_OUT=F:/TP2/ram/android/app/build/intermediates/ndkBuild/release/obj NDK_LIBS_OUT=F:\TP2\ram\android\app\build\intermediates\ndkBuild\release\lib APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n} 

なぜNDK_PROJECT_PATHのヌルを

externalNativeBuild { 
    ndkBuild { 
     path 'src/main/jni/Android.mk' 
    } 
} 

Android.mkは一部が含まれていますか? ndk-buildを呼び出す前に現在のディレクトリを設定するようにAndroid Studioに指示するにはどうすればよいですか?ベスト

+0

'NDK_PROJECT_PATH = null'は正常です。実際のエラーとは何ですか? – Michael

+0

MKファイルが見つからないため、コンパイルに失敗します。私は一時的にインクルードステートメントに完全なパスを入れて解決しました。 – Michael

答えて

1

おそらくAndroidのビルドのための作品を準備するためにthisまたは同様のソリューションを追いました。彼らはAndroid.mkファイルと同じディレクトリにndk-buildを実行するように強制するため

include celt_sources.mk 

のような文は、良い習慣ではありません。それはあなたのbuild.gradleに次のブロックを追加し、このように動作Androidのメーカーを強制的にあまりにも難しいことではありません。

android { 
    defaultConfig { 
     externalNativeBuild { 
      ndkBuild { 
       arguments '-C src/main/jni' 
      } 
     } 
    } 
} 

しかし、他の多くのバージョンのいずれかに従うことをAndroid.mk多くのクリーナーですopusのためのWWW上で見つけることができる、例えば

include $(LOCAL_PATH)/celt_sources.mk 

この方法を使用していますthis one、ビルドはndk-buildコマンドの作業ディレクトリに依存しません。

関連する問題