2017-12-03 279 views
0

我試圖在Android Studio中編譯OPUS。 當我從命令行調用ndk-build時,一切正常。 當我從Android Studio構建它時,它失敗。Android Studio ndk-build找不到文件

我app.gradle:

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

Android.mk有一些包括:

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空?如何在調用ndk-build之前告訴Android Studio設置當前目錄?

最佳,

+0

'NDK_PROJECT_PATH = null'看起來很正常。什麼是實際的錯誤? – Michael

+0

它無法編譯,因爲它無法找到MK文件。我通過將完整路徑放在包含語句中來暫時解決它。 – Michael

回答

1

你可能跟着this或類似的解決方案,爲Android編譯準備鉅著。像

include celt_sources.mk 

的語句是不是一個好的做法,因爲他們迫使你在同一目錄Android.mk文件運行ndk-build。這還不算苦逼的Android工作室以這種方式工作,以下塊添加到您的的build.gradle

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

但它是乾淨多了遵循許多其他版本之一Android.mk對於可以在WWW上找到的作品,例如this one它採用

include $(LOCAL_PATH)/celt_sources.mk 

這種方式,構建不依賴於爲ndk-build命令工作目錄。

相關問題