2017-10-12 67 views
1

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

回答

2

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

- 在android studio中,创建新的android项目(文件>新建>新建项目),并保存在任何你喜欢的位置。

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

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

enter image description here

- 编辑的build.gradle文件,该文件是在你的库文件夹的根目录,但低于其他插件人准备好现在,添加应用插件:'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) 
        } 
       } 
      } 
     } 
    } 
} 

enter image description here

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

- 发布模块:点击Gradle按钮在你的android studio的右上角,你应该看到gradle任务名称发布

enter image description here

然后,你可以看到,有2个任务(publishLibaryPublicationToMavenLocalpublishToMavenLocal)。双击以上任务之一或右键单击上述任务之一,然后选择运行。 并等待看看您的版本是否为BUILD BUILDING CONDUCT

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

enter image description here

- 如果建立是成功的,您的图书馆应该准备好使用。现在创建一个新的android项目并更新应用程序库:在主应用程序的项目的build.gradle中添加mavenLocal()。

allprojects { 
    repositories { 
     google() 
     jcenter() 
     mavenCentral() 
     mavenLocal() 
    } 
} 

6个 - 更新应用程序依赖关系:开放的build.gradle(应用程序>的build.gradle),并加入当地的依赖性:

dependencies { 
    ..... 
    compile 'com.example.local.library:MyFirstLocalLibrary:1.0' 
} 

注意:不要忘记点击开**现在每次同步,编辑build.gradle

全部完成。希望这有帮助:)。

+0

谢谢你给的解决方案,我会测试这个。 –

+0

@BongChannarith不客气,我很乐意帮助:) – Mankeomorakort

+0

感谢您的帮助。 :) –

相关问题