导入一个AndroidStudio工程作为一个Library Module
尊重劳动成果,转载请注明出处:http://blog.csdn.net/growth58/article/details/47441245
关注新浪微博:@于卫国
邮箱:yuweiguocn@gmail.com
在我们有两个Android Studio工程的情况时,我们想使用一个作为library工程导入到另一个工程作为一个module。我们可以使用Android Studio很容易的做到。
让我们假设我们有两个工程:MyApplication和MyLibrary,我们想导入MyLibrary到MyApplication作为一个module。
首先我们需要从MyLibrary工程中找到module中的build.gradle文件,它通常在app目录下,除非你修改了module的名称。
注意builde.gradle文件的plugin是‘com.android.application’。为了使用这个工程作为一个library工程,我们需要修改为 ‘com.android.library’。文件的内容就像这样:
试着sync一下工程,会出现一个错误: Library projects cannot set applicationId(类工程不能设置applicationId)。
我们可以删除gradle文件中的applicationId这行,在defaultConfig 括号里面。
MyLibrary 工程就修改完了。
然后我们在MyApplication 工程中导入
MyLibrary 作为一个module。
在MyApplication 工程中, 点击File -> New -> Import Module。
出现一个对话框
从MyLibrary工程中找到你想要导入的Module目录。通常它是app module除非你给了它另一个名称。
如果在MyApplication工程中Module使用相同的名称将会出现错误。为了从一个library工程导入一个修改的Module,我们可以给它一个版本号在Module名称设置框。
修改Module的名称为my-library,导入成功。
到这一步差不多已经完成,最后一步是在MyApplication 工程中修改依赖。
很多人会忘了做这一步。
打开工程结构对话框,选择app Module(可以有别的名称),在右侧点击依赖标签。
找到加号并点击它,从弹出菜单中选择module依赖。
然后选择我们刚从MyLibrary工程中导入的library module。
点击OK,就完成了。
IDE会在MyApplication/app/build/gradle file文件添加好依赖。
依赖部分就像下面的一样:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.2.0'
compile project(':my-library')
}
它可能工作的挺好,但这有一个很重要的问题,MyLibrary工程有它自己的依赖。例如,MyApplication和MyLibrary使用support libraries,这有可能会发生冲突。
我们可以在gradle中通过transitive配置依赖避免这个问题。
我们可以修改这行
compile project(':my-library')
为
compile(project(':my-library')){
transitive=false;
}
这个问题就可以避免。Done!
That’s all. Happy coding!
导入一个AndroidStudio工程作为一个Library Module的更多相关文章
- 如何把一个java工程打成一个jar包(转载)
1.jar包有入口(即有main()函数) 选中要打包的工程--->右键选择Export---->java----->Runnable java file----->next- ...
- 创建一个cocos2d-x工程添加一个自定义Scene并显示
#include "cocos2d.h" class RunScene :public cocos2d::CCLayer { public: virtual bool init() ...
- 将Eclipse代码导入到AndroidStudio的两种方式
版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/4183553.html 说到使用AndroidStudio,除 ...
- 转: 将Eclipse代码导入到AndroidStudio的两种方式 ,测试了方法2,成功。
蛋疼,不知道为什么我的eclipse的logcat总是莫名其妙的显示一堆黄色字体的字,看不懂的那种,如下图: 然后查了一下资料,说可能是adt版本太低,手机系统太高. 然后本来想升级adt,但是各种折 ...
- 转: 将Eclipse代码导入到AndroidStudio的两种方式
评注: 讲解的非常之详细 转自: http://www.cnblogs.com/ct2011/p/4183553.html 说到使用AndroidStudio,除了新建的项目,我们都会面临的问题 ...
- 怎样从一个DLL中导出一个C++类
原文作者:Alex Blekhman 翻译:朱金灿 原文来源: http://www.codeproject.com/KB/cpp/howto_export_cpp_classes.aspx 译 ...
- 1.Maven+SpringMVC+Eclipse软件安装配置,Maven报插件错误,Eclipse总是卡死的解决办法,导入一个maven工程后 一直显示importing maven project
使用Maven+SpringMVC+Eclipse软件安装配置过程中的问题: 1.Eclipse总是卡死的解决办法: 一:内存不足所以会卡死,配置一下eclipse.ini修改这几个值就好了-X ...
- Windows下一个AndroidStudio 正在使用Git(AndroidStudio工程GitHub关联)
前提条件 : 1. 设备 Git client 下载链接 2. 有着 GitHub 账号 (假设你已经有了一些git基础, 假设还一点都不会, 请去找其它加成学习) AndroidStudio项目公布 ...
- Eclipse中一个Maven工程的目录结构
在之前的javaSE开发中,没有很关注Eclipse工程目录下的环境,总是看见一个src就点进去新建一个包再写一个class.以后的日子中也没有机会注意到一个工程到底是怎么组织的这种问题,跟不要说自己 ...
随机推荐
- CoreGraphics --- 翻转坐标系
1. 由于CoreGraphics 的坐标系与手机屏幕坐标系的Y轴是相反的, 所以在我们开发的时候, 需要翻转坐标系; - (void)drawRect:(CGRect)rect { CGContex ...
- UIImage拉伸显示
下面张图片,是设计来做按钮背景的: button.png,尺寸为:24x60 现在我们把它用作为按钮背景,按钮尺寸是150x50,以下是没有经过技术性拉伸处理的情况: // 得到view的尺寸 ...
- iOS 常用基础框架
框架名称 功能 Foundation 提供OC的基础类(像NSObject).基本数据类型等 UIKit 创建和管理应用程序的用户界面 QuartzCore 提供动画特效以及通过硬件进行渲染的能力 C ...
- ubuntu maven 安装 设置
http://blog.csdn.net/tiefanhe/article/details/9774189 1.安装 maven ,下载地址:http://maven.apache.org/downl ...
- Gabor变换
Gabor变换 Gabor变换属于加窗傅立叶变换,Gabor函数可以在频域不同尺度.不同方向上提取相关的特征.另外Gabor函数与人眼的生物作用相仿,所以经常用作纹理识别上,并取得了较好的效果.Gab ...
- 在ubuntu 10.04下编译ffmpeg
最近准备研究ffmpeg-2.0.1. 那得先运行起来看看效果吧. 首先去官网下载源码: 然后 解压=> ./configure => make OK . 1. 编译好后,发现没有ffp ...
- iOS开发控制器之间传值的几种小方法
在IOS开发中或面试中,经常会遇到,两个或者多个控制器之间传值的问题 ,总结的集中方法仅供参考! 问题 :将B控制器中的textField 输入内容,传到A控制器中的label上显示出来,如何传值? ...
- [topcoder]BinaryCards
现在觉得有空时可以刷一下topcoder的DIV 2的Lvl 3的题目.感觉和刷LeetCode和WikiOi都是不一样的. http://community.topcoder.com/stat?c= ...
- 【HDOJ】1969 Pie
二分. #include <stdio.h> #include <math.h> ; ]; int main() { int case_n, n, f, m; double r ...
- 【转】Android 4.2蓝牙介绍
原文网址:http://blog.csdn.net/innost/article/details/9187199 Tieto公司某蓝牙大牛写得<程序员>投稿文章 Android 4.2蓝牙 ...