如何通过 link referent 将模块导入 android studio?
How to import module into android studio by link referent?
我需要在新的 android phone 项目中使用来自另一个 android 项目 (gradle) 的资源,方法是使用 Android Studio 版本 3 和 Android API 23. 我准备尝试在这个 IDE 中使用导入选项导入,但是该模块是通过从外部项目复制导入的。在我的项目中,必须使用 require share project 作为框架(它是一个模块),由 SVN 同步,所以在这种情况下,我无法将我更改的内容更新到我的框架中。我需要通过 link 使用该模块而不复制到项目中的解决方案。
我认为您正在寻找开发和重新使用本地 Android 库的解决方案,对吧?所以请按照我的以下步骤操作:
1- 在 android 工作室中,创建新的 android 项目(文件 > 新建 > 新建项目)并保存在您喜欢的任何位置。
2- 创建新模块(文件 > 新建 > 新模块 > Android 库)
例如:模块名称=MyFirstLocalLibrary,包名称:com.example.local.library
3- 编辑 build.gradle 文件,该文件位于库文件夹的根目录中,但在其他已存在的插件下方,在apply plugin:'com.android.library'下添加apply plugin:'maven-publish'。此插件将使您能够发布到 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
全部完成。希望这对您有所帮助 :).
我需要在新的 android phone 项目中使用来自另一个 android 项目 (gradle) 的资源,方法是使用 Android Studio 版本 3 和 Android API 23. 我准备尝试在这个 IDE 中使用导入选项导入,但是该模块是通过从外部项目复制导入的。在我的项目中,必须使用 require share project 作为框架(它是一个模块),由 SVN 同步,所以在这种情况下,我无法将我更改的内容更新到我的框架中。我需要通过 link 使用该模块而不复制到项目中的解决方案。
我认为您正在寻找开发和重新使用本地 Android 库的解决方案,对吧?所以请按照我的以下步骤操作:
1- 在 android 工作室中,创建新的 android 项目(文件 > 新建 > 新建项目)并保存在您喜欢的任何位置。
2- 创建新模块(文件 > 新建 > 新模块 > Android 库)
例如:模块名称=MyFirstLocalLibrary,包名称:com.example.local.library
3- 编辑 build.gradle 文件,该文件位于库文件夹的根目录中,但在其他已存在的插件下方,在apply plugin:'com.android.library'下添加apply plugin:'maven-publish'。此插件将使您能够发布到 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
全部完成。希望这对您有所帮助 :).