簡體   English   中英

Android NDK錯誤。 無法構建項目

[英]Android NDK Error. Not able to build the project

我收到以下指定的錯誤,

E:\SDK\ndk-bundle\build\core\setup-app-platform.mk

錯誤:(115)*** Android NDK:正在中止。 停止。 錯誤:任務':un7zip:compileReleaseNdk'的執行失敗。

com.android.ide.common.process.ProcessException:執行進程E:\\ sdk \\ ndk-bundle \\ ndk-build.cmd時出錯,參數為{NDK_PROJECT_PATH = null APP_BUILD_SCRIPT = E:\\ appRizort \\ RizortCardboard \\ un7zip \\ build \\ intermediates \\ ndk \\ release \\ Android.mk APP_PLATFORM = android-25 NDK_OUT = E:\\ appRizort \\ RizortCardboard \\ un7zip \\ build \\ intermediates \\ ndk \\ release \\ obj NDK_LIBS_OUT = E:\\ appRizort \\ RizortCardboard \\ un7zip \\ build \\ intermediates \\ ndk \\ release \\ lib APP_ABI = armeabi-v7a,armeabi,x86,arm64-v8a}

NDK_PROJECT_PATH為空,如果項目文件夾的路徑包含空格,則可能會導致此問題。

使用NDK構建項目的本機部分時指定的APP_PLATFORM非常重要。 故事在NDK指南中詳細描述

此變量包含您要支持的最低Android平台版本。 例如, android-15的值指定您的庫使用Android 4.0.3(API級別15)以下不可用的API,並且不能在運行較低平台版本的設備上使用。 有關平台名稱和相應Android系統映像的完整列表,請參閱Android NDK Native API

您應該在模塊級build.gradle文件defaultConfigproductFlavors塊中設置minSdkVersion屬性,而不是直接更改此標志。 這樣可確保您的庫僅供運行適當版本Android的設備上安裝的應用使用。 ndk-build工具鏈使用以下邏輯根據您正在構建的ABI和您指定的minSdkVersion選擇庫的最低平台版本:

  1. 如果ABI的平台版本等於minSdkVersion ,則ndk-build使用該版本。
  2. 否則,如果存在比ABI的minSdkVersion低的平台版本,則ndk-build使用這些平台版本中最高的版本。 這是一個合理的選擇,因為缺少平台版本通常意味着自上一個可用版本以來沒有對本機平台API進行任何更改。
  3. 否則,ndk-build使用高於minSdkVersion的下一個可用平台版本。

NDK沒有單獨的android-25平台。 如果您的最小支持平台是O,您可以選擇android-24或(使用r15 beta), android-26 。如果您的minSdkVersion較少,或者如果有疑問,請選擇較低的NDK平台,因為NDK平台是向上兼容的。

暫無
暫無

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

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