热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

AndroidStudio多工程引用同一个library项目配置的解决方法

大家在使用androidstudio的时候,会遇到多个项目引用相同的library这篇文章主要介绍了AndroidStudio多工程引用同一个library项目配置方法,需要的朋友可以参考下

在使用Android Studio开发的时候,如遇到多个项目引用同一个library的情况时,会遇到在每个项目中都要有一套library的代码的情况,对于还在开发和维护中的Library需要频繁的修改,这对同步就很麻烦,为了解决这个问题,出现了下面的解决方案。

首先:新建一个类库工程,工程名为AppLibs.Dev。

在该类库中包含一个公共的类库appLibs的Module,Module下面的build.gradle配置如下:

/** 声明是Android类库 */ 
apply plugin: 'com.android.library' 
android { 
 /** 为了能够支持该库中的包 */ 
 useLibrary 'org.apache.http.legacy' 
 /** 编译SDK的版本 */ 
 compileSdkVersion 25 
 /** build tools的版本 */ 
 buildToolsVersion "25.0.2" 
 defaultConfig { 
  minSdkVersion 9 
  targetSdkVersion 25 
  versionCode 100 
  versionName "1.0.0" 
  testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
 } 
 buildTypes { 
  debug { 
   // debug模式 
  } 
  release { 
   // 是否进行混淆 
   minifyEnabled false 
   // 混淆文件的位置 
   proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
  } 
 } 
 /** 移除lint检查的error */ 
 lintOptions { 
  abortOnError false 
 } 
} 
dependencies { 
 /** compile fileTree将libs文件夹中所有的jar文件全部编译。该方式和compile files方式选一种即可。 */ 
 // compile fileTree(include: ['*.jar'], dir: 'libs') 
 /** compile files将libs文件夹中单一的jar文件编译 */ 
 compile files('libs/jsch-0.1.53.jar') 
 compile files('libs/commons-net-3.3.jar') 
 compile files('libs/okhttp-3.2.0.jar') 
 compile files('libs/okio-1.6.0.jar') 
 /** 测试编译 */ 
 androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
  exclude group: 'com.android.support', module: 'support-annotations' 
 }) 
 /** 编译指定包名下面模块 */ 
 compile 'com.android.support:appcompat-v7:25.2.0' 
 compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7' 
 /** 单元测试编译 */ 
 testCompile 'junit:junit:4.12' 
} 

这样一个类库工程就建好了,接下来就是引用包含该类库的工程。

其次:引用该类库工程。通过Android Studio新建一个TestProject的工程,如下图。

在该工程中需要做以下三件事:

1、在project的settings.gradle里面增加红框圈住部分的代码。

2、在module的build.gradle文件中增加红框圈住部分的代码:

如果该类库工程中包含多个module,那么在settings.gradle文件中原有代码后面增加下面的代码即可:

include ':AppLibs.Dev:moduleName'

同时在APP module中build.gradle增加相应的模块代码即可:

compile project(':AppLibs.Dev:moduleName')

3、点击Android Studio的菜单中的Build->Clean Project,完成Clean以后就看到如下图。

完成如上图所示以后,表示类库工程已经被APP工程引用进去了,这样以后再修改类库工程中的源码,其他引用该类库的工程中源码也就同步修改了。

总结

以上所述是小编给大家介绍的Android Studio多工程引用同一个library项目配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ... [详细]
  • 标题: ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
author-avatar
暴力的西红柿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有