这个问题可能已在某个地方得到解答,但找不到合适的问题。
我想知道如何在Android Studio中创建通用实用程序库项目。 我想在其中编写一些常用类和一些常用方法,以便在Android应用程序项目中使用。可能就像Windows世界中的.dll一样 - 一组可以在多个消费者之间共享的常用方法。
提前致谢。
答案 0 :(得分:27)
最简单的方法:
右键点击Android Studio中已打开的项目,然后选择 New > Module
在左侧窗格中选择Android库,然后单击下一步。
输入所有详细信息,取消选中创建活动,主题和所有内容(如果不需要)。
选择与项目相同的API级别,然后选择Next,Next,Next。
现在,您将看到项目中的另一个目录,库中的build.gradle
将自动为您配置。
如果您的模块/库名称是“mylibrary”,
include ':mylibrary'
将自动添加到项目根目录下的 settings.gradle 文件中。
现在打开你的主模块并在依赖块中插入这一行:
compile project(':mylibrary')
如果要在其他项目中使用相同的库,则必须使用“文件浏览”将库模块复制到该特定项目,并且必须配置 settings.gradle 和主模块的构建。 gradle 手动。
答案 1 :(得分: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
/有些/路径/ MyProjects下/项目/应用程序/ build.gradle`
...
dependencies {
...
compile project (':lib') // we want to depend on our library
}
...
当与多个开发人员合作或为了灵活性时,我在我的gradle.properties
目录中使用.gradle
(对于通常在homedir中找到的基于* nix的系统,不确定Windows在哪里找到它) 。 注意您可能需要创建目录并自己。
在此文件中,您可以创建可在整个gradle文件中使用的常量(如果您愿意)。例如,我的内容包含以下内容:
theconstant=/Some/Path/MyProjects/Library/app
注意看似缺失的引号(不确定那是否真的需要) 现在我们可以替换
project (':lib').projectDir = new File('/Some/Path/MyProjects/Library/app')
与
project (':lib').projectDir = new File(theconstant)
现在您和您的团队可以定义此常量(可能因机器而异)并相应地更改路径。
BuildConfig.DEBUG
!)我没有找到正确测试的机会,但这似乎是目前最优雅的解决方案!我想听听你对此的看法。
答案 2 :(得分:2)
我正在做:
include '..:commons'
和
compile project(':..:commons')
在引用项目的build.gradle中
因此您可以将常用的lib放在项目之外
答案 3 :(得分:1)
你的build.gradle看起来应该是这样的
apply plugin: 'android-library'
repositories {
mavenCentral()
}
dependencies {
compile 'com.android.support:support-v4:18.0.0'
}
android {
compileSdkVersion 18
buildToolsVersion '18.1.1'
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
看第一行
答案 4 :(得分:0)
在Android Studio中创建新项目时,其中一个选项是“标记为库”。
或者,只需像任何其他项目一样创建项目。然后在其他地方使用它时,在库的gradle文件中确保将apply-plugin "android"
更改为apply-plugin "android-library"
并将其作为依赖项添加到正在使用它的应用程序中。有关如何将创建的项目添加为库的更多信息,请参阅here。
答案 5 :(得分:0)
如果您希望将其用作想要使用它的应用中的库project structure
,并在Dependencies
下添加目标库,则只需将其创建为普通项目。