微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决带有仅标头预制件的 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 举报,一经查实,本站将立刻删除。