我需要使用 Android Studio 版本 3 和 Android API 23 在新的 Android 手机项目中使用来自另一个 Android 项目 (gradle) 的资源。我准备尝试使用此 IDE 中的导入选项进行导入,但该模块通过复制导入来自外部项目。在我的项目中,必须使用 require share 项目作为通过 SVN 同步的框架(它是一个模块),所以在这种情况下,我无法将我更改的内容更新到我的框架中。我需要通过仅链接到该模块而无需复制到项目中来使用该模块的解决方案。
最佳答案
我认为您正在寻找一种解决方案来开发和重用您的本地 Android 库,对吧?请按照以下步骤操作:
1- 在 android studio 中,创建新的 android 项目(文件 > 新建 > 新项目)并保存在您喜欢的任何位置。
2- 创建新模块(文件 > 新建 > 新模块 > Android 库)
例如:模块名称 = MyFirstLocalLibrary,包名称:com.example.local.library
3- 编辑位于库文件夹根目录中的 build.gradle 文件,但在已存在的其他插件下方添加 apply plugin: 'maven-publish'在应用插件:'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 Studio 右上角的 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 - 如何通过链接引用将模块导入到android studio中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46700284/