簡體   English   中英

禁用特定項目的Gradle NDK構建

[英]Disable NDK build in gradle for specific project

我有一個構建lib.aar人工制品的android庫項目,以及一個在構建后導入此lib.aar的應用程序項目。 lib.aar需要構建NDK 17,因為它具有一些C ++ 17代碼。 我設法成功建立.aar文件,但應用無法通過以下消息編譯: A problem occurred starting process 'command '/Users/user/Library/Android/sdk/ndk-bundle/toolchains/mips64el-linux-android-4.9/prebuilt/darwin-x86_64/bin/mips64el-linux-android-strip'' 這是因為NDK 17刪除了對MIPS的支持,並且我無法升級到使用NDK 18beta的較新版本的android studio

如果我刪除“ / Users / user / Library / Android / sdk / ndk-bundle”文件夾中的內容,刪除了NDK,則該應用程序會正確構建,並且可以在應用程序內部使用lib.aar代碼。

到目前為止,我已經嘗試過: 如何禁用Android Studio 1.0.1中的NDK構建 ,該https://gist.github.com/ph0b/9e59058ac59cac104398 將env變量ANDROID_NDK_HOME設置為虛擬文件夾即可,應用程序可以構建,但這有點黑。

有什么方法可以以編程方式禁用應用程序項目的NDK構建,而不刪除NDK文件夾嗎?

這是因為NDK 17刪除了對MIPS的支持,並且我無法升級到使用NDK 18beta的較新版本的android studio

r18也無法解決此問題; 它仍然沒有mips支持。 解決此問題的方法是將應用程序中的gradle插件版本至少升級到3.1,這是NDK r17所要求的最低要求(並且非常不幸的是,出於某種原因甚至安裝了NDK也是必需的)。

這里的另一個解決方案是將NDK r16b安裝在某個地方,然后從應用程序的local.properties指向它,然后從SDK中選擇aar。 如果您只是在本地版本上工作,那么它將起作用,但是由於不應將local.properties簽入版本控制,因此不會對其他人有太大幫助。

暫無
暫無

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

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