java - android gradle 如何将构建版本传递给 android mk
问题描述
我有一个可以构建 v2、v3 版本的 android 项目
productFlavors {
v2 {
versionName "${versionMajor}.${versionMinor}.${versionBuild}"
}
v3 {
dexguard = false
}
}
我想为不同的构建版本使用两个版本的本机 jni 代码,v2,v3
所以,我想将 v2、v3 productFlavors 传递给 android.mk,我该怎么做?或者,有任何方法可以在 android.mk 中知道构建了哪个版本(v2,v3),然后它可以构建不同版本的 jni 代码
解决方案
我找到了一种方法来做到这一点
1.在 build.gradle 中定义一个全局变量version
2.version
用不同的风格分配不同的值
3.检查version
变量以使用不同的 android.mk
String version=""
productFlavors {
v2 {
versionName "${versionMajor}.${versionMinor}.${versionBuild}"
version="v2"
}
v3 {
dexguard = false
version="v3"
}
}
if (version=="v2") {
externalNativeBuild {
ndkBuild {
path "AndroidV2.mk"
}
}
}else{
externalNativeBuild {
ndkBuild {
path "AndroidV3.mk"
}
}
}
}
推荐阅读
- mysql - 获取每个用户在特定月份的所有交易的总和
- java - Selenium 断言等于 Value1 或 Value2
- c++ - 多变量的一行输入
- ios - GMSAutocompleteViewController swift [GooglePlaces]
- javascript - 以 Html 形式连接用户输入并为其分配一个 ID,以便在 JavaScript 中提交
- java - JavaFx 布局方向
- python - 在 cpp 中嵌入 python:如何获取指向 python 函数(而不是 PyObject)的 C 指针?
- java - 在运行时在 JVisualVM 中更改应用程序的标题
- php - 防止元素在 php 文档中移动 -
- angular - 带有json中自定义键的离子ngfor