gpt4 book ai didi

android - 一种产品口味的不同 native 库

转载 作者:行者123 更新时间:2023-11-29 01:30:34 25 4
gpt4 key购买 nike

我的项目有几个产品 flavor ,它们都共享同一个原生库,除了一个使用略有不同但名称相同的库。

考虑这是 build.gradle:

android {
...
productFlavors {
p0 {
....
}
p1 {
....
}
p2 {
....
}
p3 {
....
}
p4 {
....
}
p5 {
....
}
}
}

这是文件夹结构:

src
...main
......jnilibs
.........armeabi-v7a
............lib1.so
...p5
......jnilibs
.........armeabi-v7a
............lib1.so

当我编译 p5 风格时,它提示 lib1.so 是重复的(错误:APK 打包期间的重复文件)并且它存在于多个源中。它建议排除这个文件,虽然我不想排除但添加建议的代码不会改变任何东西。我知道我可以为其他每种风格创建不同的文件夹,并将相同的 lib1.so 放入其中的每个 jniLib 中,但这确实不是一个选项。

最佳答案

对于那些想要完成同样事情的人,到目前为止我发现最好的办法是更改共享相同库的包源集的根目录。

build.gradle 应该是这样的:

android {
...
productFlavors {
p0 {
....
}
p1 {
....
}
p2 {
....
}
p3 {
....
}
p4 {
....
}
p5 {
....
}
}
sourceSets {
p0.setRoot("src/p")
p1.setRoot("src/p")
p2.setRoot("src/p")
p3.setRoot("src/p")
p4.setRoot("src/p")
}
}

文件夹结构:

src
...main
...p
......jnilibs
.........armeabi-v7a
............lib1.so
...p5
......jnilibs
.........armeabi-v7a
............lib1.so

关于android - 一种产品口味的不同 native 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31459042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com