簡體   English   中英

在NDK中將ndk-build和cmake都用於不同的庫

[英]Using ndk-build and cmake both for different libaries in NDK

我有一個包含本機代碼的android庫,並將該庫導入我的應用程序。 我已經在該庫中編寫了一些本機C / C ++代碼,並使用ndk-build設置了編譯。 這是我添加到庫的gradle文件中的代碼:

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

這工作得很好。 現在,我想包括一個外部本機C / C ++庫,該庫向我提供了有關如何使用CMake進行設置的說明。 我編寫了將這個外部庫包含到我的頂級CMakeLists.txt的代碼,並將其包含到我的gradle中,這看起來像

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

    cmake {
        // Provides a relative path to your CMake build script.
        path "CMakeLists.txt"
    }
}

當我嘗試構建它時,出現錯誤提示

指定了一個以上的externalNativeBuild路徑

有沒有一種方法可以構建它,還是我只能使用ndk-buildCMake

cmake和gnu make(屬於ndk-build)都支持自定義目標和外部工具,因此您可以從Android.mk開始cmake,反之亦然。

但這對Android Studio集成沒有幫助。 要對兩個本機子項目都具有完整的IDE支持,您可以重寫一個或另一個以使用相同的外部本機版本,或者從應用程序模塊到庫模塊中提取依賴於其中一個的部分。

暫無
暫無

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

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