gpt4 book ai didi

java - 将库 (Smack) 添加到 Android Studio 项目

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:13:51 24 4
gpt4 key购买 nike

因为我需要对 Smack 进行一些更改库,我想将 Smack 作为库添加到我的 Android Studio 项目中。我已经从 Smack Github repository 下载了 ZIP 文件,并执行了以下步骤——正如我在搜索解决方案时发现的那样

(1) 在我的项目根文件夹中创建一个新文件夹libs,并将提取并重命名的文件夹/Smack 复制到libs 中。所以它现在是以下结构:

root/libs/Smack/

(2) 我将根文件夹中的 settings.gradle 编辑为

include ':app'
include ':libs:Smack'

(3) 通过 File -> Project Structure -> Modules app -> Dependencies,我添加了 :libs:Smack 作为模块依赖

(4) 我已将以下行添加到 root/app/build.gradle

compile project(':libs:Smack')

根据我在网上找到的大多数资料,应该是这样。但是,我收到一个错误,提示 Gradle project sync failed。更详细的我得到:

/path-to-root/libs/Smack/build.gradle
Error:(42, 0) Project with path ':smack-integration-test' could not be found in project ':libs:Smack'.

当我查看文件并在行中显示 project(':smack-integration-test')。不知怎的,这找不到。但是,有一个文件夹 libs/Smack/smack-integration-test。看起来很简单,但我似乎错过了一些关键的东西。

编辑:Android Studio 实际上支持导入 Gradle 项目:File -> New -> New Module 打开一个对话窗口,我在其中选择 Import Gradle Project 我必须在这里选择 Smack 的源目录。这样做会在 settings.gradle 中生成所有正确的 include 语句。

但是,不,我得到了错误:

Error:(386, 0) Could not get unknown property 'clirr' for project ':smack-integration-test' of type org.gradle.api.Project.

由于我对 Gradle 不够熟悉,我不知道这可能意味着什么,而且我的 Google 搜索也没有让我进步。

最佳答案

我不会以这种方式添加项目,您可以将其作为项目文件夹结构之外的单独项目,您可以修改并构建它。最简单的方法是将构建 jar 文件复制到您的项目中并将其包含到 gradle 中:

对于 jar,在你的项目中创建 libs 文件夹并将文件复制到那里,gradle 包括这样的工作:

compile fileTree(dir: 'libs', include: ['*.jar']) // for all of the jars in the libs folder
compile files('libs/xyz.jar') // for a specific file

特别是对于 Smack 项目,您可以使用

gradle assemble

在它的根目录

输出 jar(s) 在每个特定的文件夹中,我看到的每个 android 示例:

smack-android\build\libs\

smack-android-extensions\build\libs\

关于java - 将库 (Smack) 添加到 Android Studio 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40884029/

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