我需要使用Android Studio版本3和Android API 23在新的Android手机项目中使用来自另一个Android项目(gradle)的资源。我准备尝试使用此IDE中的导入选项导入,但该模块通过副本导入来自外部项目。在我的项目中必须使用需要共享项目作为框架(它是一个模块),由SVN同步,所以在这种情况下,我无法更新我更改为我的框架。我需要使用该模块的解决方案,只需链接到该模块,而无需复制到项目中。
答案 0 :(得分:3)
我认为您正在寻找开发和重新使用本地Android库的解决方案,对吧?请按照以下步骤操作:
1 - 在android studio中,创建新的android项目(File> New> New Project)并保存在您喜欢的任何位置。
2 - 创建新模块(文件>新>新模块> Android库)
例如:模块名称= MyFirstLocalLibrary,包名称:com.example.local.library
3 - 编辑 build.gradle 文件,该文件位于库文件夹的根目录中,但在已存在的其他插件下方,添加apply plugin:' maven - 发布'在申请插件下:' com.android.library' 。这个插件将使您能够发布到Maven存储库,甚至是本地存储库。
apply plugin: 'maven-publish'
publishing {
publications {
library(MavenPublication) {
// Don't forget to change these
groupId 'com.example.local.library'
artifactId 'MyFirstLocalLibrary'
version '1.0'
artifact(bundleRelease)
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
configurations.compile.allDependencies.each {
if (it.group != null && (it.name != null || "unspecified".equals(it.name)) && it.version != null) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', it.group)
dependencyNode.appendNode('artifactId', it.name)
dependencyNode.appendNode('version', it.version)
}
}
}
}
}
}
注意:不要忘记每次点击**立即同步,您编辑的 build.gradle
4 - 发布模块:点击Android工作室右上角的Gradle按钮,您会看到gradle任务名称发布。
然后,您可以看到,有2个任务( publishLibaryPublicationToMavenLocal 和 publishToMavenLocal )。双击上述任务之一或右键单击上述任务之一,然后选择运行。 并等待您的构建是否构建成功。
要发布您的库,您可以检查.m2存储库,您应该看到如下截图:
5 - 如果构建成功,您的库应该可以使用了。现在创建新的android项目和更新应用程序存储库:在主应用程序的项目的build.gradle中,添加mavenLocal()。
allprojects {
repositories {
google()
jcenter()
mavenCentral()
mavenLocal()
}
}
6 - 更新应用程序依赖项:打开 build.gradle (app> build.gradle)并添加您的本地依赖项:
dependencies {
.....
compile 'com.example.local.library:MyFirstLocalLibrary:1.0'
}
注意:不要忘记每次点击**立即同步,您编辑的 build.gradle
全部完成。希望这有用:)。