Android Studio多工程引用同一个library项目配置的解决方法
作者:--水之心-- 发布时间:2022-04-07 16:39:40
在使用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项目配置方法网站的支持!
来源:http://blog.csdn.net/xiaogang107/article/details/61916081


猜你喜欢
- 简介本文用示例介绍使用MyBatis-Plus进行多表查询的方法,包括静态查询和动态查询。代码controllerpackage com.e
- 本文实例为大家分享了android实现点击图片全屏展示的具体代码,供大家参考,具体内容如下MainActivity:public class
- Activity非异常情况下的生命周期是指,用户正常参与UI交互的情况下,Activity所经过的生命周期的改变;一般情况下,Activit
- 这段C#代码主要是验证身份证的开头和身份证的格式和长度是否正确,没有按照身份证的编码规则进行严格验证/// <summary>
- 1、包装类型是什么?Java 为每一个基本数据类型都引入了对应的包装类型,int 的包装类就是 Integer,从 Java 5 开始引入了
- 前言Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expe
- 前言:图片加载涉及到图片的缓存、图片的处理、图片的显示等。四种常用的图片加载框架,分别是Fresco、ImageLoader、 Picass
- 以前的Android(4.1之前的版本)中,SDcard跟路径通过“/sdcard”或者“/mnt/sdcard”来表示存储卡,而在Jell
- 属性CascadeType.REFRESH:级联刷新,当多个用户同时作操作一个实体,为了用户取到的数据是实时的,在用实体中的数据之前就可以调
- 1 问题引入1.1 网络架构模型网络架构模型主要有OSI参考模型和TCP/IP五层模型1.1.1 OSI参考模型OSI(Open Syste
- 使用注解的形式,装配在id字段,自动调用fegin赋值给目标字段。使用效果1.先给vo类中字段添加注解 2.调用feignData
- 一个activity就好比一个网页,此文章讲解怎样创建一个activity并且实现跳转!一、学习创建Activity1、新建一个java类,
- 本文实例为大家分享了OpenCV Java实现人脸识别和裁剪的具体代码,供大家参考,具体内容如下安装及配置1.首先安装OpenCV,地址这里
- java中javaBean与Bean的深入理解JavaBean 是Java中的一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点
- mybatis实体类字段大小写问题 字段获取不到值由于前期设计问题,项目中需要用到的一个字段 rootpath,所以我再实体层加了这么一个字
- 前言以前用到要对数字格式的地方,都是直接到网上搜一下。拿过来能用就行。因为平时用的不多。但是最近的项目对这个用的多了。网上拿来的不够用了。自
- 1.新建控制台应用程序2.新建类 EncryptHelper.cspublic static class EncryptHelper{ &n
- ListView在实际实用中,一般都会有下新刷新和上拉加载的动态效果,今天要学的就是如何自定义带下拉刷新的ListView。原理解析:一般将
- 前言在计算机内存中,数据的存储方式都是以0和1的形式存储,也就是二进制的形式,数据是如何向内存写入的呢?整形数据以补码的形式存储,浮点型的存
- 一、前言开发中经常要处理用户一些文字的提交,所以涉及到了敏感词过滤的功能,参考资料中DFA有穷状态机算法的实现,创建有向图。完成了对敏感词、