AndroidStudio与库相关
来源:互联网 发布:在线画图软件 编辑:程序博客网 时间:2024/06/03 14:32
一、参考AndroidStudio教学视频
URL:http://ask.android-studio.org/?/explore/category-video 27 28
1.在一个项目(Modle)中,使用一次:
project视图,找到该项目的libs目录,将.jar文件拷贝进入,右击->add as library
效果:该项目的build.gradle文件中
dependencies{
.
.
.
compile files('libs/jdom-2.0.5.jar') //jdom-2.0.5.jar为拷贝进入的.jar文件
}
2.在多个项目(Modle)中使用,在同一个工程下
File->New Module->Import JAR or .AAR Package->选择文件 子项目名称->finish
File->Project Structure->(选择要使用库的项目)Dependencies->+->Module dependency->选择library的Modules
dependencies{
.
.
.
compile project(':jdom-2.0.5') //jdom-2.0.5为子项目的名称
}
3.Adding Remote Libraries With Maven Dependencies
dependencies{
.
.
.
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'com.google.code.gson:gson:2.3.1'
}
File->Project Structure->(选择要使用库的项目)Dependencies->+->library Dependency->选择需要的库->确定
工程的build.gradle jcenter() -> https://bintray.com jcenter.bintray.com Gradle首先查找本地(按照查找规则),如果不能找到,则搜索远程库,找到就下载到本地
二、参考博客文章
参考(jar包、本地库、远程库):https://drakeet.me/android-studio
参考(so库):http://wiki.jikexueyuan.com/project/android-actual-combat-skills/android-studio-importing-third-patry-repository-jar-package-so-package.html
参考(aar):http://www.94cto.com/index/Article/content/id/75315.html
1.导入jar包
导入 jar 包的方式非常简单,就是在项目中的 libs 中放入你需要导入的 jar 包,然后右键你的 jar 文件,选择“add as a library”即可在你的项目中使用这个 jar 包了。 这个方式虽然简单,但用处很大,不仅仅能导入一些普通 jar 包,还可以作为一些不支持 Android Studio 的开源库的使用的解决方案,就是说,你把你需要使用的开源库的 jar 包拿出来,导进来即可,因为通常我们使用开源库并不会去修改其源代码。其 jar 包你可以自己用 eclipse 生成,也可以在开源库地址找到,因为一般都会同时提供 release 版本。但如果 gradle 中已经有如下代码:compile fileTree(include: ['*.jar'], dir:'libs')。就不用再 add 了,Sync 一下gradle 就可以了。
2.添加远程开源库
可以无需将开源库下载下来,进入你的项目(一般是 app 目录),编辑 build.gradle 文件。添加如下图的内容即可:
该内容你可以在你使用的开源库的 README.md 中获得,如我使用的 FlatUI 这个开源库,在其 GitHub 页面上你可得以下内容:
这个帮助内容就是你写到项目build.gradle 中的内容,注意,不要误写到外层的全局 build.gradle 中去。总的来说,就是这么两步,其余都不用做,就可以在你的项目中使用这个开源库了。现在的开源库 README.md 中,如果作者使用的是 Android Studio 都会写上这么一个指引的。
3.添加本地库将开源库下载下来,放置在与app 目录同级的目录下,然后编辑 setting.gradle 文件,加入:”:开源库文件夹名”。如:我在 app 同级的目录下放置了 volley 的开源库文件夹,然后编辑 setting.gradle,内容改为:
include ':app', ':volley'
然后再回到你的 app 目录下的build.gradle 文件,在 dependencies { }节点下加入:
compile project(':volley')
这样以后,你就可以在你的代码中引用那个保存在你本地的开源库(其实叫 Module )啦~~
4..so库
只需要把so文件放到libs文件夹里的对应cpu文件夹里,最后在module的build.gradle里加上jni的sourceSets配置:jniLibs.srcDirs= ['libs'],完整代码参见如下:
apply plugin: 'com.android.application'android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.chen.watchdogjni" minSdkVersion 15 targetSdkVersion 23 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']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.2.1'}
然后在 Java 文件中 load 即可。
static {
System.loadLibrary("FirstLib");
}5.AAR库
(1) 简述
在比较大的 Android项目的开发中,我们经常会遇到工程、jar 包等等之间相互引用的方式。一般我们通过在 gradle 文件中配置依赖来解决,比如:
Gradle的一些基本依赖配置方式如下:
compile fileTree(dir: "xxx', include:['*.jar', "*.xxx"]):将某个目录下所有符合扩展名的文件作为依赖; compile 'com.xx.xx:ProjectName:Version':配置Maven` 库作为依赖;在 Maven库中心 可以搜索自己想用的库进行依赖; compile project(':AnotherModule'):配置另一个 Module 作为本 Module 的依赖,被依赖的Module 必须被导入到当前工程中; compile files('xxx.jar'):配置某个 jar 包作为依赖。
看起来不错,基本通用的配置都已经存在了。一般对于中等小型的工程,这种开发方式完全没有问题。但是有时候 A 和 B 两个工程,想同时引用另一个公共的 Module C,而这个 Module 可能是一个比较复杂的 Android Module,可能包含了一些主题、UI 、资源文件等等,这时候,如果用 Module 依赖的方式来配置,不免有些困难,因为 A 和 B 都要导入 C,而且要随时关注 C 的更改。
好在 Android Studio 提供了 aar 库的打包方式,我们可以把 C 作为 library 进行打包,输出 aar 文件,然后在 A 和 B 中,配置 aar 库依赖,就可以解决。(注:以远程开源库方式感觉更好)
要输出 aar 文件,必须将 Module 配置为 library,在 gradle 文件中如下:
输出 aar : apply plugin: 'com.android.library'; 输出 apk :applyplugin: 'com.android.application'。
将 Module 配置为 library 后,构建输出一个 aar 文件,根据渠道和 BuildType 的不同,在相应的目录下可以找到。比如对 BuildType 为 debug 的配置,输出为:[ModuleName]/build/outputs/aar/[ModuleName]-debug.aar。一份 aar 文件其实就是一份 zip 包,和 jar 不同的是,它将一些资源文件、第三方库文件、so 文件等等都打包在内,而代码文件编译后压缩在在 classes.jar 中。- AndroidStudio与库相关
- AndroidStudio与github的相关知识
- AndroidStudio相关操作
- AndroidStudio相关1.01
- AndroidStudio相关1.02
- keystore、AndroidStudio打包相关
- AndroidStudio xlint 相关警告
- AndroidStudio相关bug解决方案
- AndroidStudio之模块库上传与引用
- AndroidStudio相关 2015-3-25
- Android keystore、AndroidStudio打包相关
- AndroidStudio快捷键和使用相关
- AndroidStudio与GitHub
- AndroidStudio与gradle
- AndroidStudio与Eclipse快捷键
- AndroidStudio安装与配置
- SVN与AndroidStudio关联
- AndroidStudio与Java8
- 3/经典书籍(侯捷)
- JOS lab1 boot 加载操作系统
- 二叉树转化成Newick格式
- [leetcode] 277. Find the Celebrity 解题报告
- git使用的问题
- AndroidStudio与库相关
- 分享一个纯手写漂亮的表单验证
- AndroidStudo与git/github相关
- git及github命令行使用简易指南
- LINUX/MIPS内核移植
- AT0 Intrudoction
- AT1 one-dimensional objects
- AT2 Homeomorphism and the group structure on a circle
- Linux/MIPS HOWTO