当前位置: 首页 > 知识库问答 >
问题:

gradle+ndkbuild+android Studio2.2如何设置支持的ABI?

谷梁迪
2023-03-14

我想使用android studio与NDKBuild集成。

APP_ABI := armeabi-v7a-hard x86
externalNativeBuild {
    ndkBuild {
        path 'src/lib/jni/Android.mk'
    }
}

但由于某种原因,Gradle build尝试使用App_abi=Armeabi生成本机代码,但失败了,因为我的代码只能使用Armeabi-v7a-hard生成。

那么我如何告诉gradle只为armeabi-v7a-hardx86构建代码,或者不忽略app_abi中的application.mk行呢?

我尝试了这样的变体:

defaultConfig {
    ndk {
      abiFilters 'x86', 'armeabi-v7a-hard'
    }
}

但是gradle失败,出现以下消息:

ABIs[armeabi-v7a-hard]不能用于平台,将被排除在构建和封装之外。可用的ABI有[armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,mips,mips64]。

注意,我使用的是ndk 10,而不是last one(ndk 13),其中有armeabi-v7a-hardlocal.properties中的ndk.dir来右值。

共有1个答案

后安民
2023-03-14

由@Titan提供的链接是您设置ABI所需的全部。

它可能无法工作的原因是因为armeabi-v7a-hard在2015年被弃用,所以针对它导致了这个问题。您应该以armeabi-v7a为目标

 类似资料:
  • 我正在使用这个插件: 如何指定不是项目/文件夹名称的artifactId? 我已经用了这个: 但这不是插件使用的。

  • 问题内容: 我一直在努力建立我的cordova插件项目。主要由于以下事实: 插件需要位于远离主项目的单独文件夹中 例如,当我使用它来构建项目时,cordova从我的插件文件夹中复制java文件并将其放入文件夹中。 因此,我不应该在Android项目中手动修改插件的.java文件,而必须在插件文件夹中编写代码。 但是我无法将插件文件夹导入到IDE项目中,因此我没有代码完成功能。 没有IDE支持,基本

  • log4j.properties文件(在src/main/resources/中):

  • 在上个月发生log4j shell问题之前,我使用的是“org”。springframework。启动:spring启动程序日志记录:1.5.22。版本”,其内部依赖于ch.qos。logback:logback classic:1.1.11和ch.qos。回写:回写核心:分别为1.1.11个JAR。 在发生log4j shell问题之后,我将两个jar升级到ch.qos版本。logback:lo

  • 我试图做的是设置一个透支限额,即-150。如果用户余额为-150,则用户不能再提取。我的代码如下: 撤回方法 它们都属于同一类,即“Account”,现在发生的情况是,消息确实出现了-(“您已经超过了透支限额,您现在将返回菜单”)并返回菜单,但当我去检查余额时,钱仍然被扣除,并显示超过-150的余额,例如-190。我如何才能确定-150是限额,并且不再扣除。希望问题被理解。

  • 问题内容: 我是Android的新手。 我正在为Android应用程序(位于现有的多模块项目中)设置一个maven模块,该模块使用Google支持库(v4,v7,v13)。使它与Maven一起使用的最合适的方法是什么。 我希望我的项目能够使用Jenkins(Maven)进行构建,因此我无法链接任何特定于IDE的项目或任何非Maven依赖项的方式。 在Jenkins中组合maven / gradle