我已经开发了一段时间的库(aar格式),它与x86、armeabi-v7a和arm64-v8a abis兼容。该库工作正常,但为了减小最终大小,我们想开发两个不同的库:一个带有arm64-v8a abi,另一个没有它。该库依赖于openCV(在C语言中使用),我们有以下项目结构:
src
|_ main
|_ jniLibs
| | arm64-v8a
|----| armeabi-v7a
| x86
每个abi文件夹都包含libopencv_java3.so。
我已经创造了两种产品口味,每一种都带有正常工作所需的abiFilters。
flavorDimensions "default"
productFlavors {
v7a {
externalNativeBuild {
cmake {
abiFilters 'x86', 'armeabi-v7a'
}
}
}
v8a {
externalNativeBuild {
cmake {
abiFilters 'x86', 'armeabi-v7a', 'arm64-v8a'
}
}
}
}
现在我有两个构建变体可供选择,并且都编译没有错误。但是,v7a aar仍然包含arm64-v8a文件夹和库。为了解决这个问题,我在v7a风味中添加了以下内容:
packagingOptions {
exclude 'lib/arm64-v8a/libopencv_java3.so'
}
现在,v7a aar中不包含arm64-v8a文件夹,但当我选择v8a flavour时,该文件夹存在,但其中没有libopencv_java3.so!
这个选项不应该只影响v7a吗?我做错了什么?任何帮助都将不胜感激。
注:测试的gradle版本:3.1.2和3.1.4。
尝试以不同的方式分割,而不是使用产品优惠-
类似的,这个可以在arm64-v8a
上加载armeabi-v7a
程序集:
splits {
abi {
enable true
reset()
include "armeabi", "x86"
universalApk true
}
}
这需要armeabi/libopencvjava3.so
上的(32位版本)库。
< code>externalNativeBuild仅考虑正在构建的库(也称为“您的代码”)。如果您坚持使用< code>packagingOptions,您不应该全局地定义它们,而应该根据产品口味来定义。
v7a {
...
packagingOptions {
exclude 'lib/arm64-v8a/libopencv_java3.so'
}
}
我已经开始从事一个android项目,该项目有很多梯度任务。从git克隆项目后,Android Studio中没有gradle选项卡!
本文向大家介绍纯js和css实现渐变色包括静态渐变和动态渐变,包括了纯js和css实现渐变色包括静态渐变和动态渐变的使用技巧和注意事项,需要的朋友参考一下 说起“渐变色”,你会想起什么? 当我开始搜索查找这个名词的时候,才发现它实际上是有两种理解或者说是两种形式的:动态渐变和静态渐变。 所谓动态渐变,举个简单的例子:他来了,她的脸渐渐红了...渐渐的,渐渐改变的,是不断在改变的;而静态渐变,也就更
我导入了一个项目到(使用从项目本身)。它为其他人工作,但我最终会遇到这样的问题: 这里是gradle依赖的要点 https://gist.github.com/vineelya/d882bbd0885fafba785ca58f106dfc8b线程“main”java中出现异常。lang.NoSuchMethodError:com。fasterxml。杰克逊。果心杰森工厂。requireProper
我有一个Android应用程序,我已经能够用Gradle成功构建(使用Gradle0.7)。现在,我想设置Gradle来构建两个单独的.apk,一个只有ARM本机库,另一个只有Intel x86本机库。我尝试使用productFlavors,如下例所示: How to configure NDK with Android Gradle Plugin0.7 但是,在我的Gradle脚本中指定了pro
除了CCS颜色外,Canvas还支持渐变(CanvasGradient)和图案(CanvasPattern)。把strokeStyle和fillStyle属性设置为渐变或图案,就可以实现多样化的绘制效果。 渐变 在Canvas中,CanvasGradient对象表示一个颜色渐变。将画笔上下文对象的fillStyle或strokeStyle属性设置为一个CanvasGradient对象,就可以实现颜
Another hard-to-write CSS3 feature is a gradient. You have to repeat long gradient definition multiple times with different vendor prefixes. Also, if you want to cover all gradient-supported browsers,