kal*_*ehv 34 android android-library android-studio
这个问题可能已在某处得到解答,但找不到合适的问题.
我想知道如何在Android Studio中创建一个通用的实用程序库项目.我想在其中编写一些常用类和一些常用方法,以便在Android应用程序项目中使用.可能就像Windows世界中的.dll一样 - 一组可以在多个消费者之间共享的常用方法.
提前致谢.
pyu*_*s13 27
最简单的方法:
在Android Studio中右键单击您打开的项目,然后选择 New > Module
在左侧窗格中选择Android库,然后单击下一步.
输入所有详细信息,取消选中创建活动,主题和所有(如果不需要).
选择与项目相同的API级别,然后选择Next,Next,Next.
现在,您将在项目中看到另一个目录,build.gradle因为库将自动为您配置.
如果您的模块/库名称是"mylibrary",
include ':mylibrary'
Run Code Online (Sandbox Code Playgroud)
将自动添加到项目根目录下的settings.gradle文件中.
现在打开主模块并在依赖块中插入此行:
compile project(':mylibrary')
Run Code Online (Sandbox Code Playgroud)
如果要在其他项目中使用相同的库,则必须使用"文件浏览"将库模块复制到该特定项目,并且必须手动配置settings.gradle和main模块的build.gradle.
jus*_*vdk 19
一个老问题,但即使是现在似乎也不是AndroidStudio中的库的支持者解决方案.我一直在考虑将迁移步骤推进一段时间,这就是我发现的.
假设我们有一个包含共享代码的库(称为lib)和一个想要使用所述库代码的Application项目(称为app).
关键是settings.gradle在Project的根目录中定义一个项目(/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')
...Run Code Online (Sandbox Code Playgroud)
还要编辑项目build.gradle /Some/Path/MyProjects/Project/app/build.gradle以依赖新添加的模块lib
/一些/路径/ MyProjects下/项目/应用/ build.gradle`
...
dependencies {
...
compile project (':lib') // we want to depend on our library
}
...Run Code Online (Sandbox Code Playgroud)
当与多个开发人员合作时或为了灵活性,我gradle.properties在我的.gradle目录中使用my (对于通常在homedir中找到的基于*nix的系统,不确定Windows在哪里查找它).请注意,您可能需要创建的目录和文件自己.
在此文件中,您可以创建可在整个gradle文件中使用的常量(如果您愿意).例如,我的包含如下内容:
theconstant=/Some/Path/MyProjects/Library/appRun Code Online (Sandbox Code Playgroud)
注意看似缺失的引号(不确定那是否真的需要)现在我们可以替换
project (':lib').projectDir = new File('/Some/Path/MyProjects/Library/app')Run Code Online (Sandbox Code Playgroud)
同
project (':lib').projectDir = new File(theconstant)Run Code Online (Sandbox Code Playgroud)
现在,您和您的团队可以定义此常量(可能因机器而异)并相应地更改路径.
BuildConfig.DEBUG!)我没有找到机会正确测试这个,但这似乎是目前最优雅的解决方案!我想听听你对此的看法.
| 归档时间: |
|
| 查看次数: |
21488 次 |
| 最近记录: |