将体系结构信息从gradlew命令传递给cmake

瓦伦·巴蒂亚

我有一个支持4个不同体系结构armeabi-v7aarm64-v8ax86和)的android应用程序x86_64我不希望为每个内置的Android构建这些架构。我想通过gradlew命令将体系结构信息作为参数传递,以便跳过其余体系结构的构建。我知道将-DANDROID_ABI标志作为参数传递给cmake可以解决问题,但不确定如何通过gradlew命令将其作为参数传递吗?

defaultConfig {
    minSdkVersion 21
    targetSdkVersion 26

    externalNativeBuild {
        cmake {
            cppFlags "-frtti -fexceptions"
            arguments "-DANDROID_ABI=<<requested arch to built>>"
        }
    }
}

换句话说,如何将此信息从gradlew命令传递到cmake?

shizhen

技巧如下:

android {   
    ...
    defaultConfig {
        externalNativeBuild {
            cmake {
                ...

                if (project.hasProperty("armeabi-v7a")) {
                    abiFilters 'armeabi-v7a'
                } else if (project.hasProperty("arm64-v8a")) {
                    abiFilters 'arm64-v8a'
                } else if (project.hasProperty("x86")) {
                    abiFilters 'x86'
                } else if (project.hasProperty("x86_64")) {
                    abiFilters 'x86_64'
                } else {
                    abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
                }
                ...
            }
        }
    }
}

在命令行中,您可以执行以下操作,例如,仅构建abi armeabi-v7a

./gradlew externalNativeBuild -Parmeabi-v7a

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

三层体系结构-如何将业务类(例如100个属性)传递给数据访问

来自分类Dev

来自lscpu的此CPU体系结构信息是否正常?

来自分类Dev

apt-rdepends不显示多体系结构信息

来自分类Dev

如何在Onion体系结构应用程序中将连接字符串传递给DBContext?

来自分类Dev

CMake和Makefile中的多体系结构

来自分类Dev

共享数据库与消息传递体系结构

来自分类Dev

共享数据库与消息传递体系结构

来自分类Dev

跨平台消息传递应用程序的体系结构

来自分类Dev

Mac OS X体系结构和命令行

来自分类Dev

解释TitanDB 1.0.0体系结构与OrientDB体系结构?

来自分类Dev

Logstash体系结构决策

来自分类Dev

Laravel URL体系结构

来自分类Dev

CEN / XFS的体系结构

来自分类Dev

EmberJS体系结构概述

来自分类Dev

火花纱体系结构

来自分类Dev

Spring Batch体系结构

来自分类Dev

增强SQL体系结构

来自分类Dev

EmberJS体系结构概述

来自分类Dev

Logstash体系结构决策

来自分类Dev

Xcode体系结构问题

来自分类Dev

将生命传递给结构

来自分类Dev

将结构传递给线程

来自分类Dev

软件结构与软件体系结构

来自分类Dev

软件结构与软件体系结构

来自分类Dev

如何指示CMake使用构建体系结构编译器

来自分类Dev

Xcode 5命令行:体系结构“ arm64”的无效部署目标“ 3.0.0”

来自分类Dev

在ARM体系结构和程序计数器下添加命令

来自分类Dev

在体系结构+链接器命令中找不到的符号失败,退出代码为1

来自分类Dev

链接Windows C ++项目以增强命令行体系结构类型的问题