文档章节

AndroidStudio中的包管理

k
 kim366
发布于 2016/05/13 19:17
字数 833
阅读 14
收藏 0

AndroidStudio中导入第三方包的方法

方法一第一种是打开工程所在Project Structure,然后选择Dependencies,点击那个加号选择File Dependency ,然后再Libs文件夹中选择要导入的jar包。

方法二:第一种是打开工程所在Project Structure,然后选择Dependencies,点击那个加号选择File Dependency ,然后再Libs文件夹中选择要导入的jar包, 这样也可以导入成功。


其他与包管理相关的知识点:

Gradle 项目可以依赖于其它组件。这些组件可以是外部二进制包,或者是其它的 Gradle 项目。
在本例中, app/build.gradle 中有以下内容:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile project(':library')
compile 'com.nineoldandroids:library:2.4.0'
}


Local packages(本地包)
compile fileTree(dir: 'libs', include: ['*.jar'])
引用 libs 目录下的所有的 .jar 文件。如果你指向引用 libs 目录下中一个指定的 jar ,你可以这么设置:
compile files('libs/xx.jar')


Remote artifacts(远程文件)
compile 'com.android.support:appcompat-v7:21.0.3'
引用 21.0.3 版本的 appcompat-v7 。


在 Android Studio中,使用 android support ,需要在 SDK 中下载 Android Support Repository ,且项目中使用的版本不能大于 SDK 中的版本。当你的 SDK 中已经下载指定版本的 Android Support Repository ,即使没有联网,你也是可以在 Android Studio 中依赖对应的文件。如果你的 SDK 没有下载指定版本的 Android Support Repository ,即使你现在连着网,也会出错。


compile 'com.nineoldandroids:library:2.4.0'
引用 2.4.0 版本的 NineOldAndroids 。需要联网下载。


代码仓库管理
使用 maven 和 ivy(Apache Ivy is a popular dependency manager focusing on flexibility and simplicity)时需要在 build.gradle 中将仓库添加到列表中。
buildscript {
    repositories {
        jcenter()
    }
}
allprojects {
    repositories {
        jcenter()
    }
}

mavenCentral() :表示依赖从 Central Maven 2 仓库中获取。
jcenter() :表示依赖从 Bintary’s JCenter Maven 仓库中获取。
mavenLocal() :表示依赖从本地的Maven仓库中获取。


Library Project(库项目)
compile project(':library')
引用名称为 library 的 module 。需要注意的是,被引用的 module 需要在 {@projectName}/settings.gradle 文件中进行注册。
我们可以观察到,library/build.gradle 中使用的 apply plugin 为 'com.android.library'。用以标记这是一个Android Library Project 。


当然,你也可以依赖一个 Java Project ,apply plugin 为 'java'。
补充内容
关于依赖更多的补充内容如下:
dependencies {
    // 引入 jar 包。
    // 引用某一个特定的jar。
    compile files('libs/xx.jar')
    // 引用libs文件夹下除xx.jar以外所有的jar。
    compile fileTree(dir: 'libs', include: ['*.jar'], exclude: ['xx.jar'])
    // so包在0.8版本的Android Studio中的目录更改为@{ModuleName}/src/main/jniLibs。且可以不用在此处配置so了。
    // 从 maven 库中引入。
    //compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:0.9.2'
    // 引用 lib 工程。
    compile project(':moduleName')


    // 引用users-library。users-library作用是,在编译时使用,但是jar不会打包到apk中,由Android或Android上安装的服务提供需要的内容。
    // 使用场景:
    // 1. 使用Android的framework-classes.jar中的一些隐藏的API。
    // 2. Google的服务框架或者其他服务框架。需要在AndroidMainFest.xml中配合uses-library使用。
    provided files('libs/xx.jar')
    provided 'aaa:bbb:x.x.x'


    // 在测试环境下引用依赖。
    // 引用jar文件。
    androidTestCompile files('libs/xx.jar')
    // 引用Maven。
    androidTestCompile 'junit:junit:4.11'


    // 在baidu productFlavors分支下引用依赖。
    // 引用jar文件。 
    baiduCompile files('libs/xx.jar')
    // 引用Maven。
    baiduCompile 'aaa:bbb:x.x.x'


    // 在release buildTypes分支下引用依赖。
    // 引用jar文件。
    releaseCompile files('libs/xx.jar')
    // 引用Maven。
    releaseCompile 'aaa:bbb:x.x.x'
}

本文转载自:http://blog.csdn.net/oyangyujun/article/details/46935031

共有 人打赏支持
k
粉丝 1
博文 129
码字总数 0
作品 0
朝阳
私信 提问
AndroidStudio使用问题记录

问题: Gradle sync failed: Connection timed out: connect Consult IDE log for more details (Help | Show Log) (23 s 591 ms) 问题原因: Androidstudio的网络通信被网络防火墙阻止了,导......

黑灯瞎火走夜路
2018/12/21
0
0
AndroidStudio怎样导入jar包

AndroidStudio用于开发安卓Apk非常地方便,但是它的很多设置都与Eclipse不一样。比如给项目中添加新的jar,在AndroidSutdio中就没有Java编译路径的入口,就很难找到添加jar的入口。不过换一种...

傲娇字符
2015/08/03
0
0
关于切换Windows用户导致Android Studio无法识别Android SDK 的解决方法

关于切换Windows用户导致Android Studio无法识别Android SDK的解决方法。 如果你的计算机是多用户的,你肯定会遇到过这个问题,例如账号A和账号B ,当你在A账户下使用Android Studio可以开发,...

Helloall
2015/02/13
2.1K
1
AS 升级之Gradle's dependency cache may be corrupt问题解决办法

版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/u013132758。 https://blog.csdn.net/u013132758/article/details/60589629 问题: 今天,发现自己的AndroidStudio可以升...

紫雾凌寒
2017/03/06
0
0
android studio如何修改默认安装的apk文件

目前androidstudio默认点击安装按钮时,安装的是app/outputs/apk/app-debug-unaligned.apk 是吧, 我现在项目里面把生成的apk名称换了,但路径还是这个,可点击安装按钮时,报错了,说找不到...

jiaming_zhu
2017/01/19
398
0

没有更多内容

加载失败,请刷新页面

加载更多

单点登录实现原理(SSO)

简介 单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的保护资源,若用户在某个应用系统中进行注销登录,所有的应用系统都不能再直接访问保护资源,像一些...

echojson
15分钟前
0
0
介绍Python中6个序列的内置类型

1、Python中6个序列的内置类型分别是什么? Python包含6中内建的序列,即列表、元组、字符串、Unicode字符串、buffer对象和 xrange 对象。序列通用的操作包括:索引、长度、组合(序列相加)...

问题终结者
36分钟前
0
0
用python自制微信机器人,定时发送天气预报

0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己。最近无意中发现了wxpy库,用它来做再合适不过了...

上海小胖
53分钟前
7
0
深入理解java虚拟机-垃圾收集器与内存分配策略

垃圾收集器与内存分配策略 引用计数法 就是给对象添加一个计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1,计数器为0的对象就是不可能再被使用的。 缺点:无法...

须臾之余
今天
8
0
Python+Appium自动化测试环境搭建

1.Android SDK 下载SDK并配置系统环境变量ANDROID_HOME。 2.Appium 2.1 直接下载安装 官网下载安装appium-desktop-setup.exe。 2.2 通过npm下载安装 appium本质是一个nodejs库所以要先安装n...

维他ViTa
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部