有没有人知道/发现 Android 库是如何在 Android Studio 中工作的?
我还没有找到任何关于这方面的文档(Android 开发者网站上的文档非常简陋),我观察到根据我创建库项目的方式,我会得到完全不同的结果。
如果我从 Eclipse 导入一个库(按照网站上的建议首先导出到 Gradle),我最终会得到一个包含该库项目的新项目 + 模块。这似乎不太正确(一个 intellij 项目 = eclipse 工作区),并且尝试在 intellij 中编译/制作它会导致许多错误(库项目找不到 android 支持库)。
如果我使用库模块从头开始创建一个新项目,那么我会得到一个带有 build.gradle 文件的 android 库项目。
如果我从项目中创建一个新模块(使用右键单击项目),那么我会得到一个使用 Ant 构建的 Android 库。这编译得很好,但看起来很奇怪。当然,我们不应该在 android Studio 中将 Ant 用于 Android 库吗?顺便说一句,使用 File > New Module 创建一个新的库模块似乎不起作用。它只是创建一个新的应用程序。
有没有人收集到任何信息来理解这一点?我还没有找到可以指定哪些库应该在哪些应用程序模块中使用的任何位置。我知道这是一个预览版,但我很难相信像 Android 库这样的核心功能得到如此糟糕的支持。我错过了什么?
2014 年 4 月 9 日更新:
因此,本周我对 Android Studio 进行了新一轮测试。虽然现在的问题与我最初写这篇文章时不同,但这 - 非常令人难以置信 - 仍然是一个大问题。我仍然没有找到在 AS 的多个项目中使用 Android 库的很好解释(包括嵌套库)。我看到的一些建议建议将代码复制到多个位置——这完全违背了拥有一个库的目的。
我只是不明白 Google 对 Android Studio 的想法...很遗憾,因为它似乎是一个很棒的工具,但是缺乏直观的处理诸如代码重用这样基本的东西对我来说是一个大问题(与不断改进的跨平台开发工具相比,专为 Android 编写代码的吸引力越来越小)。
最佳答案
如果您想在 Android Studio 项目中使用其他库:
- 将 .jar 库复制到项目中的 libs 文件夹中
- 右键单击库并选择“添加为库”
在
build.gradle
替换编译文件('libs/android-support-v4.jar')
与
compile fileTree(dir: 'libs', include: '*.jar')
如果仍然无法正常工作,请使用我们的终端导航到项目的根文件夹并运行 gradlew clean
命令。
关于Android Studio 中的 Android 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16588389/