gpt4 book ai didi

java - 如何在我的 android 库中包含依赖项

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:10:28 24 4
gpt4 key购买 nike

我正在编写一个 android sdk,我现在想分发它,但我遇到了它的依赖项问题。我正在使用 gradle 和 android studio。

我的 sdk 依赖于 volley 和 gson,我将它们作为 jar 添加到我的 sdk 中。每当我尝试创建一个 aar 或 jar 以在单独的客户端应用程序中使用时,当我的 sdk 尝试引用 volley 时,我总是会崩溃,因为它既不包含在 aar 也不包含在 jar 中。关于我应该如何做的任何想法?我研究过制作脂肪 jar ,但没有取得太大成功。

我也尝试过使用如下所示的远程依赖项,但即使在客户端应用程序中构建 gradle 之后,volley 和 gson 仍然不包括在内。这是目前我的 sdk build.gradle 中的内容

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.mcxiaoke.volley:library-aar:1.0.0'
compile 'com.google.code.gson:gson:2.3'
}

然后在我的客户端构建gradle中

repositories {
flatDir {
dirs 'libs'
}
}


dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile(name:'mysdk-1.0.0', ext:'aar')
}

我正在使用 ./gradlew clean build 构建我的 sdk 的 aar 和 jar谁能告诉我在我自己的库中包含依赖项的正确方法?

最佳答案

如果您希望在您的客户端应用程序中包含您的库的传递依赖项,您需要创建一个包含 pom.xml 的适当的 Maven 兼容包。此 pom 将描述您的库的依赖关系,以便客户端在包含您的库时可以传递地拉取这些依赖。

请参阅本教程:http://blog.blundell-apps.com/locally-release-an-android-library-for-jcenter-or-maven-central-inclusion/

您不必在开发过程中将 Artifact 上传到任何地方,只需使用您的本地 maven 存储库作为目标,并将 mavenLocal() 作为您的客户端应用程序的存储库。这样,您就可以使用
将您的库作为标准 Maven 依赖项进行引用编译 'com.mysdk:mysdk:1.0.0'

关于java - 如何在我的 android 库中包含依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25620446/

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