[使用Android Studio的Android库项目

问题描述 投票:34回答:6

此问题可能在某处已回答,但找不到合适的问题。

我想知道如何在Android Studio中创建公共实用程序库项目。我想编写一些通用的类和其中的一些通用方法以在Android应用程序项目中使用。可能就像.dll在Windows世界中的样子一样-一组可以在多个使用者之间共享的通用方法。

提前感谢。

android android-studio android-library
6个回答
27
投票

最简单的方法:

  1. 右键单击您在Android Studio中打开的项目,然后选择New > Module

    ]
  2. 在左窗格中,选择“ Android Library”,然后单击下一步。

  3. 输入所有详细信息,取消选中创建活动,主题和所有(如果不需要)。

  4. 选择与您的项目相同的API级别,然后选择Next,Next,Next。

现在您将在项目内看到另一个目录,库的build.gradle将自动为您配置。

如果您的模块/库名称是“ mylibrary”

include ':mylibrary' 

将自动添加到项目根目录中的settings.gradle文件中。

现在打开您的主模块,并将此行插入到依赖块中:

compile project(':mylibrary')

如果要在其他项目中使用相同的库,则必须使用File Explore将库模块复制到该特定项目,并必须手动配置settings.gradle和主模块的build.gradle


19
投票

[一个古老的问题,但是即使现在,对于AndroidStudio中的库来说,似乎也不是一个合适的解决方案。我一直在研究迁移步骤,这是我发现的。

我的“解决方案”

假设我们有一个包含共享代码的库(称为lib)和一个想要使用该库的代码的应用程序项目(称为app)。

键是在项目根目录(settings.gradle)的/Some/Path/MyProjects/Project/settings.gradle中定义一个项目该文件应该已经存在,并且包含类似include ':app'的内容。

我们将修改此文件以使其也包含库,并使用以下两行来定义库:

/ Some / Path / MyProjects / Project / settings.gradle

...
// tell gradle we want to include a module called 'lib'
include 'lib'
// tell gradle there is a module called 'lib', found in a specific directory
// Note the /app on the end, the project structure wraps a project around a module, you want to refer that module!
project (':lib').projectDir = new File('/Some/Path/MyProjects/Library/app')
...

还编辑项目build.gradle /Some/Path/MyProjects/Project/app/build.gradle以依赖于新添加的模块lib

/ Some / Path / MyProjects / Project / app / build.gradle`

...
dependencies {
    ...
    compile project (':lib') // we want to depend on our library
}
...

额外

[与多个开发人员一起工作或出于灵活性考虑,我在gradle.properties目录中使用了.gradle(对于通常在homedir中找到的基于* nix的系统,不确定Windows在哪里寻找它)。执行note,可能需要创建目录和文件yourself

如果需要,您可以在此文件中创建可以在整个gradle文件中使用的常量。例如,我的包含以下内容:

theconstant=/Some/Path/MyProjects/Library/app

请注意看似缺少的引号(不确定是否确实需要这样)现在我们可以替换

project (':lib').projectDir = new File('/Some/Path/MyProjects/Library/app')

with

project (':lib').projectDir = new File(theconstant)

现在,您和您的团队可以定义此常数(每台机器可能不同),并相应地更改路径。

专业人士

  • 不再复制整个库!
  • 灵活性,您可以在项目的窗口中编辑库
  • 多个从事相同项目的开发人员可以定义自己的路径
  • 在项目的编译时编译库(BuildConfig.DEBUG!]

缺点

  • 到目前为止没有]
  • 我还没有机会进行适当的测试,但这似乎是目前最优雅的解决方案!我想听听您对此的看法。


2
投票

我正在做:


1
投票

您的build.gradle应该看起来像这样


0
投票

当您在Android Studio中创建新项目时,选项之一是“标记为库”。或者,只需像创建其他项目一样创建项目。然后在其他地方使用它时,请确保在库的gradle文件中将apply-plugin "android"更改为apply-plugin "android-library",并将其作为对依赖项的添加添加到正在使用它的应用程序中。有关如何将创建的项目添加为库的更多信息,请参见here


0
投票

简单地将其创建为普通项目,如果要使用它作为库,请在要使用它的应用程序中打开project structure,并在Dependencies下添加所需的库。

© www.soinside.com 2019 - 2024. All rights reserved.