簡體   English   中英

外部原生構建問題 Android Studio NDK 示例 HelloJni(構建失敗)

[英]External Native Build Issues Android Studio NDK Sample HelloJni (Build Failed)

錯誤:為 cmake C:\\Users\\PC1\\Desktop\\ndkdata\\GDNdkText\\app\\CMakeLists.txt 執行外部本機構建

構建時出錯:

錯誤圖像

我已經安裝了這里提到的 NDK、CMake、LLDP。 我是否需要安裝任何其他工具或需要設置任何環境變量?

打開終端並運行以下命令:

gradlew build --stacktrace

在此處輸入圖片說明

如果在 Linux 下運行,則需要安裝 Ninja。 sudo apt 安裝忍者構建

今天測試了。

你必須使用自制軟件安裝忍者

brew install ninja

您還需要安裝ncurses5 (對於 arch-linux,其 AUR 包 - ncurses5-compat-libs ),因為 Android Studio 2.2 上的 NDK 支持不使用可能已安裝在您的系統上的 ncurses6。

我通過檢查日志文件解決了我的問題。

./app/.cxx/cmake/commonDebug/x86/android_gradle_generate_cmake_ninja_json_x86.stderr.txt

我認為問題是 CMakelist.txt 文件的位置錯誤。

嘗試將 CMakelist.txt 文件從您的應用程序根目錄移動到 app/src/main/cpp/CMakelist.txt 目錄,然后從 gradle 文件更新位置,如下所示:

externalNativeBuild {
    cmake {
        path "src/main/cpp/CMakeLists.txt"
    }
}

如果你想讓你的項目不包含任何 C++ 文件,請確保你沒有選中在新項目開始時包含 C++ 的框

我在導入同事工作區時遇到了這個問題。 我們收到外部本機構建錯誤。 IDE 似乎忽略了很多 CMake 命令。

事實證明,問題是我沒有按照上面 ariel 帖子中的建議安裝 Ninja。 我通過運行gradlew build --stacktrace發現了這一點,並發現一行抱怨沒有安裝 Ninja。 注意:我們是在linux環境下開發的。

Ninja 是一個注重速度的構建系統,用於在有大量輸入文件的系統中替換make 忍者維基

一旦我安裝了 ninja,一切都完美無缺!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM