【问题标题】:Android Studio: how to add and use project as library, not as moduleAndroid Studio:如何添加和使用项目作为库,而不是作为模块
【发布时间】:2015-05-01 17:20:41
【问题描述】:

我有 2 个库:

  1. chilkat-9.5.0-android-all
  2. 简单文件选择器大师

我已将两者复制到 libs 文件夹中并将其用作库。当我尝试将这些库导入到我的 java 类中时,它们的名称上出现了红色标记。这意味着 android studio 找不到这些库。 无论如何,我已经将文件选择器作为项目添加到我的主应用程序中。但是当我首先“运行”我的应用程序时,我得到的是编译文件选择器而不是我的主应用程序。

所以我的主要问题是如何将 .zip 或 .jar 文件添加为库而不是项目或模块。

我将分享这些库下载链接:

  1. https://www.chilkatsoft.com/chilkatAndroid.asp

  2. https://github.com/ingyesid/simple-file-chooser

我知道这不是编程问题,但对于许多在 eclipse 之后开始使用 android studio 的人仍然有用。

【问题讨论】:

  • 本机库(*.so,这里是来自 Chilkat 的库)属于 jniLibs 而不是 libs,不需要额外的说明。像this那样做。
  • @EugenPechanec 谢谢。 Chilkat 图书馆问题解决了。但是我需要为文件选择器库做什么?这个库是作为 android 项目创建的。也许我需要在我的项目中实现所有 .java 文件、.xml 可绘制文件等,并将其用作我自己创建的?
  • @EugenPechanec 哎呀对不起老兄。这对我没有帮助。几秒钟后,我认为它现在又开始发芽了import com.chilkatsoft.CkZip; chilkatsoft 变红了,其他文字变灰了.. :(
  • Chilkat 还将src 中存档中的所有内容复制到您的java/src文件选择器 将其作为库模块导入或寻找可通过 maven Central(或 jcenter)获得的替代方案。
  • @EugenPechanec 我查看了我的 src/com 并且有来自 chilkat 库的所有 java 文件。还是不行:)

标签: java android android-studio libraries


【解决方案1】:

我今天在我的项目中实现了一个 .jar 库并做了以下工作:

  1. 将 .jar 文件添加到项目的 libs 文件夹中

  2. 在 build.gradle 文件中添加:compile fileTree(dir: 'libs', include: ['*.jar']) 到依赖项。

  3. 构建您的项目

  4. 现在尝试在您的类中导入对象 :)

像这样: 依赖{ 编译 fileTree(dir: 'libs', include: ['*.jar']) }

您可以尝试的其他方法是:在 Android Studio 中右键单击您的 .jar 并选择“制作模块”。 - 并再次构建。

【讨论】:

  • 我的 build.gradle 中有这样的代码 .. 所以我已经这样做了 :) dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:22.0.0' compile project(':fileChooserActivity') compile files('libs/sshj-master.jar') compile files('libs/simple-file-chooser-master.jar') compile files('libs/chilkat-9.5.0-android-all.jar') }
  • compile fileTree(dir: 'libs', include: ['*.jar']) 就足够了,你不需要像 compile files('libs/ chilkat-9.5.0-android-all.jar')。有了我给你的那一行,每个 .jar 文件都将在 libs 文件夹中编译
  • 所以试着清除你的依赖,看看它是否有效:)
  • id 不起作用。我一个月前就有了那个代码.. :) 我每天都清理和重建项目;)
  • 我的项目中没有“libs”文件夹。它应该去哪里?也许 PROJECT/src/main/libs ?或 PROJECT/src/libs ?或 PROJECT/src/main/java/libs ?
【解决方案2】:

这是我做的,它适用于大多数图书馆。由于库有自己的清单文件,因此必须使用它们。将 master-zip 解压缩到其他地方,然后仅将库文件夹复制到您的项目直接文件夹中,其中有 app 文件夹。完成后打开应用程序 settings.gradle 文件并编辑如下:

include ':app', ':mylibrary'

同步项目,然后打开应用程序的 build.gradle,然后转到依赖项并将库添加到其中,如下所示:

compile project(':mylibrary')

将 gradle 与项目同步,然后如果库 gradle 中出现任何错误,则打开它并将其与您的项目数据匹配。通常你会想要改变 compileBuildTools、sdk 和其他东西。快乐编码

【讨论】:

    猜你喜欢
    • 2022-07-01
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 1970-01-01
    • 2016-11-29
    • 2013-06-03
    相关资源
    最近更新 更多