在多个Android项目工程中共享一个库模块
2016-09-09 00:29
821 查看
我们可以把库模块做成一个jar,由多个项目工程引用。不过有时我们会希望以源文件源项目的方式来引用库模块,这样可以对库模块文件临时做修改调试等等。
我们首先建立两个最简项目工程,其一叫MyProj1,其二叫MyProj2Lib,假定现在我们已经建好了,每个工程里面各有一个app模块。
接下来我们在MyProj2Lib中增加了一个mylibrary库模块,方法是File-->New-->NewModule,在弹出的对话框中选择Androidlibrary类型,一路下去就生成了一个库模块,并命名为mylibrary。我们在这个库模块的存放源代码的位置添加一个类,比如MyLibFunctions,在其中添加一个公共方法,比如myLibAdd,用来对两个整数相加并返回结果。
接下来我们设法使得MyProj2Lib中app模块可以引用MyLibFunctions中的公共方法。
首先我们注意到,在刚才添加库模块mylibrary之时,Android Studio已经自动在settings.gradle文件中做了修改:
include':app',':mylibrary'
该修改指明本工程中有app和mylibrary两个模块。
在app模块下的build.gradle文件的dependencies里面增加如下编译项:
compileproject (':mylibrary')
在gradle同步之后我们打开一个java源文件,输入:
new MyLibFunctions().myLibAdd(1, 2)
可以看到我们已经可以引用mylibrary里面的公共方法了。
自此我们在MyProj2Lib中的app模块可以引用mylibrary库模块了,接下来我们要实现在MyProj1里面的app也可以引用MyProj2Lib中的这个mylibrary库模块。
打开MyProj1里面的settings.gradle文件,将内容改为:
include ':app'
include ':mylibrary'
project(':mylibrary').projectDir= new File("../MyProj2Lib", 'mylibrary')
这是最关键的一步,由此实现了跨项目工程的库模块引用。
打开MyProj1里面app模块的build.gradle,在dependencies里面增加:
compileproject(':mylibrary')
由此实现MyProj1编译MyProj2Lib中的库模块。
打开MyProj1里面app模块的一个java文件,输入
new MyLibFunctions().myLibAdd(1, 2)
可以看到我们已经可以引用MyProj2Lib里面的mylibrary里面的公共方法了,此刻完成了库模块的跨项目工程引用。
全部demo代码:https://github.com/maxyou/Android-Refer-Library-Across-Project-Demo
我们首先建立两个最简项目工程,其一叫MyProj1,其二叫MyProj2Lib,假定现在我们已经建好了,每个工程里面各有一个app模块。
接下来我们在MyProj2Lib中增加了一个mylibrary库模块,方法是File-->New-->NewModule,在弹出的对话框中选择Androidlibrary类型,一路下去就生成了一个库模块,并命名为mylibrary。我们在这个库模块的存放源代码的位置添加一个类,比如MyLibFunctions,在其中添加一个公共方法,比如myLibAdd,用来对两个整数相加并返回结果。
接下来我们设法使得MyProj2Lib中app模块可以引用MyLibFunctions中的公共方法。
首先我们注意到,在刚才添加库模块mylibrary之时,Android Studio已经自动在settings.gradle文件中做了修改:
include':app',':mylibrary'
该修改指明本工程中有app和mylibrary两个模块。
在app模块下的build.gradle文件的dependencies里面增加如下编译项:
compileproject (':mylibrary')
在gradle同步之后我们打开一个java源文件,输入:
new MyLibFunctions().myLibAdd(1, 2)
可以看到我们已经可以引用mylibrary里面的公共方法了。
自此我们在MyProj2Lib中的app模块可以引用mylibrary库模块了,接下来我们要实现在MyProj1里面的app也可以引用MyProj2Lib中的这个mylibrary库模块。
打开MyProj1里面的settings.gradle文件,将内容改为:
include ':app'
include ':mylibrary'
project(':mylibrary').projectDir= new File("../MyProj2Lib", 'mylibrary')
这是最关键的一步,由此实现了跨项目工程的库模块引用。
打开MyProj1里面app模块的build.gradle,在dependencies里面增加:
compileproject(':mylibrary')
由此实现MyProj1编译MyProj2Lib中的库模块。
打开MyProj1里面app模块的一个java文件,输入
new MyLibFunctions().myLibAdd(1, 2)
可以看到我们已经可以引用MyProj2Lib里面的mylibrary里面的公共方法了,此刻完成了库模块的跨项目工程引用。
全部demo代码:https://github.com/maxyou/Android-Refer-Library-Across-Project-Demo
相关文章推荐
- Eclipse中在android项目中出现新建一个Activity后,出现整个工程的报错以及包导入以后无法运行等等情况分析。
- Android开发多个项目共享一个Module
- Android怎样将一个工程当做library库被引入到另一个项目中
- [快乐android1]建立一个新工程的输入项目
- 一个android工程代码多个差异化项目管理方法探讨
- android工程作为另外一个工程的模块来使用的方法
- 一个android工程代码多个差异化项目管理方法探讨
- Android Studio多项目共享一个BaseLibrary
- 为了后面自动化部署,需要整理公司项目的maven依赖关系,eclipse下maven组件的安装以及用eclipse构建maven多模块工程(即有父子依赖关系的工程)遇到一个class not fond
- android studio多工程引用同一个library项目
- 实现一个《 从下位机到蓝牙模块通讯到Android客户端 》的完整物联网项目。
- Android-Studio多个项目添加依赖同一个模块
- Android Studio多工程引用同一个library项目配置方法
- 【Android Developers Training】 1. 创建一个Android项目工程
- 吴昊品工程级别项目 Round 3(追加) —— 一个基于android的手机防盗软件的实现
- 多个项目共享 一个连接池
- 将一个完整的java web 项目中的部分模块做成Webservice服务注意事项
- 多个项目共享一个app.config 的解决办法 (转)
- 如何在一个工程中嵌入模块
- [项目管理]工程与产品开发的差异——一个老项目的经典问题