NDK CMake方式編譯二進(jìn)制可執(zhí)行文件

大部分情況下都是用CMake編譯.so庫(kù),項(xiàng)目中要編譯成二進(jìn)制可執(zhí)行文件,折騰了一陣 記錄一下。

在網(wǎng)上一陣google,找到了這篇文件:android JNI運(yùn)行NDK編譯成的可執(zhí)行文件?,試了一下是可以運(yùn)行的。使用ndkBuild方式,要自己寫(xiě)Android.mk,在module的build.gradle中配置:

externalNativeBuild { ndkBuild { path file("src/main/jni/Android.mk") }}

當(dāng)時(shí)沒(méi)看到編譯出來(lái)的二進(jìn)制文件在哪,找了一下原來(lái)在?Jnidemo-master/app/.externalNativeBuild/ndkBuild/debug/arm64-v8a/ndkBuild_build_output.txt 中找寫(xiě):NDK_OUT=XXX/Jnidemo-master/app/build/intermediates/ndkBuild/debug/obj

但是它是自己寫(xiě)Android.mk,現(xiàn)在都是CMake方式,不寫(xiě)Android.mk了。于是找到了這篇:executable binaries in Android with Android Studio 2.2 and CMake

CMakeLists.txt

app中的build.gradle中:

輸出的文件在?app/.externalNativeBuild/cmake/debug/arm64-v8a/cmake_build_command.txt中有寫(xiě):DCMAKE_LIBRARY_OUTPUT_DIRECTORY=XXX/app/build/intermediates/cmake/debug/obj/arm64-v8a

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容