Eclipse跟AS的不同

从Eclipse到AS不要带着在Eclipse中的主观色彩去在AS中使用,从项目的构成到构建是不同的,下面列举在Eclipse和AS中的一些概念的区别:

WorkSpace和Project

Eclipse的WorkSpace和AS的Project说的可以说是一个东西,也就是说你可以把在AS中的Project理解为WorkSpace。
所以你在AS中new一个Project相当于在Eclipse中重开了一个WorkSpace,注意第一个箭头,显示模式为Project,建议刚用AS时用这种,方便了解里面的文件结构。

Project和Module

跟上面一样,Eclipse中的一个个project也就是相当于AS中的一个个module。上图的module_1和module_2就是我们习惯的eclipse中的一堆project了,把显示模式换为Android之后就更为直观了:

最下面的就是AS中整个Project中所有Gradle的配置了,当然包括所有module的配置了,括号的名字就表示build.gradle对应的配置对象。

Properties和Module Setting

Eclipse中的Properties也是跟AS的Module Setting对应的

可以看到这里可以像在Eclipse的Properties中一样在这里配置一些东西,比如在Module Setting里给Module添加依赖(dependencies)信息也是可以的,并且可以直接搜maven的项目依赖。

jar

明白了上面的三点就可以很快上手了。首先就来说最简单的添加jar包。

  • 可以跟在Eclipse中一样,把jar包往Module里扔,再在jar右键add as library就可以了,然后最后在你的Module文件夹(像上面的module_1)右键make module一下就可以在代码里用jar里的东西了。
  • 也可以自己手动到module里的build.gradle里添加dependencies,上面的方法做的方法本质上就是这种。
    1
    2
    3
    4
    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile fileTree(dir: 'D:\\repositories\\libs\\java', include: ['*.jar'])
    }

dir可以是电脑上的目录文件。

library项目

有了前面跟Eclipse的比较后,类似地像在Eclipse中添加项目依赖一样,被依赖的项目得是作为library。在Eclipse中我们是进入到Properties把这个项目设置为library(as a library),所以在AS中也是类似的,我们需要把一个module作为library(这个module可以自己新建module也可以导入module,此外我们是可以把一个AS的Project导进成module的或者直接导Project里的单个module也可以),完成后到这个module(我这里是把module_2作为library)把apply plugin: 'com.android.application'改为apply plugin: 'com.android.library'再然后去掉(删除)module_2的build.gradle里的applicationId "com.example.mrzheng.as"(一个library不需要这个,不然make project或make module时会报错)。
build.gradle(module_2)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
apply plugin: 'com.android.library'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
minSdkVersion 10
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.2'
}

到这里先确认下你的project(AS)的settings.gradle里有没把module都include进去,没有的话加上:

1
include ':module_1', ':module_2'

最后就可以在module_1里就添加library依赖(module_2)了。进入module_1的build.gradle,找到dependencies加上compile project(':module_2')

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.1"
defaultConfig {
applicationId "com.example.mrzheng.as"
minSdkVersion 10
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile fileTree(dir: 'D:\\repositories\\libs\\java', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.2'
compile project(':module_2')
}

现在make module一下就可以使用依赖的项目了(module_2)。

so

之前的版本不知道怎么样,现在正式版的AS添加so打包进apk里的lib里是很简单的,我们只需要把so文件放到libs文件夹里的对应cpu文件夹里,最后在module的build.gradle里加上jni的sourceSets配置:jniLibs.srcDirs = ['libs'],完整代码看上面的build.gradle(module_1)代码片。

Android Studio Jar、so、library项目依赖的更多相关文章

  1. 【转载】Android Studio jar、so、library项目依赖,原文链接http://zhengxiaopeng.com/2014/12/13/Android-Studio-jar、so、library项目依赖/

    前言 Android Studio(以下简称AS)在13年I/O大会后放出预览版到现在放出的正式版1.0(PS.今天又更新到1.0.1了)历时一年多了,虽然Google官方推出的Android开发者的 ...

  2. Android Studio将Eclipse的项目作为module的依赖库

    情形: 我们现在有一个eclipse的项目,我们想把这个项目作为android studio的module的一个依赖库. 以前我们在eclipse的时候常常是在一个工作区里面把一个A工程 as a l ...

  3. [转][Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法

     转自:http://blog.csdn.net/qiujuer/article/details/39754517?utm_source=tuicool [Android][Android Studi ...

  4. [Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法(转)

    [Android][Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法http://blog.csdn.net/qiujuer/article/details/ ...

  5. Android Studio导入System Library步骤

    转载请注明出处:http://www.cnblogs.com/cnwutianhao/p/6242170.html 请尊重知识产权!!!  同步更新到CSDN:http://blog.csdn.net ...

  6. [转]Android Studio创建Xposed模块项目时BridgeApi的正确添加方式

    使用Android Studio创建的空项目作为Xposed Module App,对于Api Jar包的引用方式,一开始是按照傻瓜式Jar Lib的处理方式,复制XposedBridgeApi-54 ...

  7. 解决Android Studio 3.0导入module依赖后unable to merge index

    解决Android Studio 3.0导入module依赖后unable to merge index 项目需要使用im, 在项目里导入了腾讯im的几个module依赖, 项目无法编译, 报错una ...

  8. Android studio 添加引用Module项目 与 设置Module项目的Libs的Jar在主项目里使用

    前言 添加引用Module项目 设置Module项目的Libs的Jar在主项目里使用 1.在项目里添加libs包,并且加入jar 2.设置这个module项目的build.gradle depende ...

  9. [Android Studio] *.jar 与 *.aar 的生成与*.aar导入项目方法

    主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法. 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件. 分别存储位置 ...

随机推荐

  1. 异步get请求之Block方法

    #import "ViewController.h" #import "Header.h" @interface ViewController ()<NS ...

  2. cornerstone 使用

    svn 使用方法 Check Out 下载的文件会与源文件产生一个working copy与源文件关联

  3. iOS项目上传到AppStore步骤流程

    1.登录developer.apple.com 2.点击member center后 进下图 3.点击certificates Identifiers进下图 4.点击Certificates进下图,首 ...

  4. setInterval setTimeout clearInterval

    setTimeout() 只执行 code 一次.如果要多次调用,请使用 setInterval() 或者让 code 自身再次调用 setTimeout(). //第一次load的时候就先刷新一次 ...

  5. x-forwarded-for的深度挖掘

    转自:http://www.cnblogs.com/yihang/archive/2010/12/19/1910365.html 如今利用nginx做负载均衡的实例已经很多了,针对不同的应用场合,还有 ...

  6. 处理 InterruptedException——Brian Goetz

    本文转自Brian Goetz大师在IBM的developerWorks中发布的文章: 中文地址:http://www.ibm.com/developerworks/cn/java/j-jtp0523 ...

  7. jQuery实现联动下拉列表查询框

    <!DOCTaYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org ...

  8. POI教程之第一讲:创建新工作簿, Sheet 页,创建单元格

    第一讲 Poi 简介 Apache POI 是Apache 软件基金会的开放源码函数库,Poi提供API给java程序对Microsoft Office格式档案读和写的功能. 1.创建新工作簿,并给工 ...

  9. ehcache的介绍和使用

    ehcache结合spring cache主要注解使用:@Cacheable,@CacheEvict,@CachePut 在语法和配置等方面的使用  可以参考以下网站: 1.非常详细的spring m ...

  10. Linux awk

    一.简介 二.教程 1)过滤字符(对大小写很敏感) dir -l | awk '$3=="root" {print $1,$3,$4, $9;} ' cat tecmint_dea ...