如何通过链接引用将模块导入android studio?

时间:2017-10-12 02:06:20

标签: android android-studio svn module

我需要使用Android Studio版本3和Android API 23在新的Android手机项目中使用来自另一个Android项目(gradle)的资源。我准备尝试使用此IDE中的导入选项导入,但该模块通过副本导入来自外部项目。在我的项目中必须使用需要共享项目作为框架(它是一个模块),由SVN同步,所以在这种情况下,我无法更新我更改为我的框架。我需要使用该模块的解决方案,只需链接到该模块,而无需复制到项目中。

1 个答案:

答案 0 :(得分:3)

我认为您正在寻找开发和重新使用本地Android库的解决方案,对吧?请按照以下步骤操作:

1 - 在android studio中,创建新的android项目(File> New> New Project)并保存在您喜欢的任何位置。

2 - 创建新模块(文件>新>新模块> Android库)

例如:模块名称= MyFirstLocalLibrary,包名称:com.example.local.library

enter image description here

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)
                    }
                }
            }
        }
    }
}

enter image description here

注意:不要忘记每次点击**立即同步,您编辑的 build.gradle

4 - 发布模块:点击Android工作室右上角的Gradle按钮,您会看到gradle任务名称发布

enter image description here

然后,您可以看到,有2个任务( publishLibaryPublicationToMavenLocal publishToMavenLocal )。双击上述任务之一或右键单击上述任务之一,然后选择运行。 并等待您的构建是否构建成功

要发布您的库,您可以检查.m2存储库,您应该看到如下截图:

enter image description here

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

全部完成。希望这有用:)。