Android studio 如何在Android Studio中创建库项目和使用库项目的应用程序项目
我是gradle build系统和IntelliJ的新手 那么,我如何创建Android库项目(例如com.myapp.lib1)和应用程序项目(例如com.myapp.app),并使构建系统在应用程序项目中包含com.myapp.lib1呢 我转到项目结构->模块->我的应用程序项目,并向lib项目添加了一个依赖项。IntelliJ现在可以在应用程序项目中使用时识别lib项目中的类,但是当我运行应用程序项目时,会出现如下错误:Android studio 如何在Android Studio中创建库项目和使用库项目的应用程序项目,android-studio,Android Studio,我是gradle build系统和IntelliJ的新手 那么,我如何创建Android库项目(例如com.myapp.lib1)和应用程序项目(例如com.myapp.app),并使构建系统在应用程序项目中包含com.myapp.lib1呢 我转到项目结构->模块->我的应用程序项目,并向lib项目添加了一个依赖项。IntelliJ现在可以在应用程序项目中使用时识别lib项目中的类,但是当我运行应用程序项目时,会出现如下错误: Gradle: error: package com.myapp.
Gradle: error: package com.myapp.lib1 does not exist
要创建库,请执行以下操作:
文件>新模块
选择Android库
要使用库,请将其作为从属项添加:
文件>项目结构>模块>依赖项
然后添加模块(android库)作为模块依赖项
运行您的项目。对于Intellij IDEA(和Android Studio),每个库都是一个模块。可以将androidstudio中的模块看作是Eclipse中的项目的等价物。Android Studio中的项目是一组模块。模块可以是可运行的应用程序或库模块
因此,为了向中添加一个新的android库项目,您需要创建一个类型为“android库”的模块。然后将此库模块添加到主模块(应用程序模块)的依赖项列表中。查看此列表
需要指出的是,请确保您的settings.gradle已更新,以引用应用程序模块和库模块
settings.gradle:include':app',':lib1',':lib2'
同时确保应用程序的build.gradle具有以下内容:
dependencies {
compile project(':libraries:lib1')
}
您应该具有以下结构:
MyProject/
| settings.gradle
+ app/
| build.gradle
+ libraries/
+ lib1/
| build.gradle
+ lib2/
| build.gradle
应用程序的build.gradle应该使用com.android.application
插件,而任何库的build.gradle应该使用com.android.library
插件
如果您能够使用此设置从命令行进行构建,Android Studio IDE应该会更新。遇到了同样的问题,并通过以下方式解决了它: 开始情况:
FrigoShare (root)
|-Modules: frigoshare, frigoShare-backend
Target:要添加名为dataformats
Java库
)设置。gradle
如下所示(通常自动):
include':frigoshare',':frigoshare后端',':dataformats'
build.gradle
文件具有以下依赖关系:
依赖项{
...
编译项目(“:数据格式”)
}
有两种最简单的方法,如果其中一种不起作用,请尝试另一种
不要忘记在
build.gradle
中使用应用插件:“com.android.library”
,而不是应用插件:'com.android.application'
我想知道为什么没有独立jar项目的例子。在eclipse中,我们只需选中项目设置对话框中的“Is库”框
在androidstudio中,我按照这个步骤得到了一个jar文件
apply plugin:'com.android.application'
->'apply plugin:com.android.library'
applicationId“com.mycompany.testproject”
aar
文件扩展名更改为zip
classes.jar
。
重命名并使用它无论如何,我不知道为什么谷歌在android studio中让jar创建如此麻烦 我创建和重用库项目的最简单方法是:
文件>新建>新建模块
(并回答用户界面问题)包括:myLibrary'
FrigoShare (root)
|-Modules: frigoshare, frigoShare-backend
依赖项{
...
编译项目(“:myLibrary”)
}
apply plugin: 'com.android.application'
android {...}
到
更多谷歌的Gradle插件推荐的配置Gradle文件以构建多个项目的方法有一些缺点如果你有多个项目依赖于一个库项目,这篇文章简要解释谷歌推荐的配置,它的缺点,并推荐一种不同的方式来配置gradle文件,以支持Android Studio中的多项目设置: 另一种方式: 事实证明,有一种更好的方法可以在Android Studio中管理多个项目。诀窍是为你的库创建单独的Android Studio项目,并告诉gradle你的应用程序所依赖的库模块是lo
include ':library1'
project(':library1').projectDir = new File('../StickyListHeader/library1')
dependencies {
...
compile project(':myandroidlib')
}
include ':app', ':myandroidlib'
project(':myandroidlib').projectDir = new File(PATH_TO_YOUR_MODULE)
flavorDimensions "version"
productFlavors {
trial{
applicationId "org.de_studio.recentappswitcher.trial"
flavorDimension "version"
}
pro{
applicationId "org.de_studio.recentappswitcher.pro"
flavorDimension "version"
}
}
include ':app', ':my-library-module'
dependencies {
compile project(":my-library-module")
}