1

我一直在尝试创建一个只有标头预制的 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/

谢谢,/约翰

4

0 回答 0