带有仅标头预制件的 Android AAR 原生库

问题描述

我一直在尝试创建一个带有仅标头预制件的 Android AAR 原生库,但没有成功。我们将在 Android Studio 中构建的其他原生库作为 AAR 中的预制件分发,并将它们包含在其他 Android 原生应用程序中。我们想对只有头文件的库做同样的事情。我们使用 Android Studio 和 cmake 作为原生部分。

文档明确指出:

每个依赖最多可以暴露一个 Prefab 包,它包含一个或多个模块。 Prefab 模块是单个库,可以是共享库、静态库或仅标头库。

一个明显的解决方法是构建一个虚拟库并将其包含在 AAR 中,以便 prefabPublishing 可以工作(当没有库文件时它会中断)。

另一个可能是向 AAR (zip) 添加一个手动创建的预制目录,但我在某处读到这可能是签名的问题。

另一种可能是手动创建 perfab 目录结构,这没问题,并逐字包含在 AAR 中(如果可行?)。

我们使用 Android Studio 4.1.1 和 gradle 插件 4.1 并按照下面引用的文档中的描述创建我们的 AAR。

buildFeatures {
    prefabPublishing true
}

prefab {
    mylibrary {
        headers "src/main/cpp/include"
    }
}

https://developer.android.com/studio/build/native-dependencies?buildsystem=cmake

https://google.github.io/prefab/

谢谢, /约翰

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...