在那里小编提前创制好了三个AS项目,    a、settings.gradle包罗了不得法的目录

AndroidStudio是如今安卓开发中当之无愧的神器,不过众多初学的同桌对于和Eclipse完全分化等的AS是满载怨念的。于是小编开了此主题,一点一点带您走入AS神器之门。

一 、难点方案

  • 报错难题

Error:Execution failed for task ‘:app:mergeDebugResources’.
> Error: java.util.concurrent.ExecutionException:
com.android.ide.common.process.ProcessException:
Error:java.util.concurrent.ExecutionException:
com.android.ide.common.process.ProcessException:


A:那里大概是因为点9图片的标题,找到相应图片并打开,勾上showbadpatch能够修改点9图形难点


  • 报错难点

Gradle ‘AndroidUsbCamera-master’ project refresh failed
Error:Configuration with name ‘default’ not found.

如图:

图片 1

Paste_Image.png

A:导致地点的难点只怕是出于以下导致:
    a、settings.gradle包括了不正确的目录:include “:目录名”
    b、app目录下build.gradle文件目录不正确:compile
project(‘:目录名’)
    c、引入的第二方库下是不是带有build.gradle文件

二、小贴士

  • <一> 导入外人的品种怎么改变Gradle版本跟本人的相匹配
      大家在导入旁人的连串时,平日会卡在那么些界面,如下图所示:
![](https://upload-images.jianshu.io/upload_images/3161201-fab124c2a0f72814.png)

Paste\_Image.png



  这是由于在首次导入项目的时候AS默认是使用
gradle-wrapper-properties
中默认的设置,它会从网上下载所需要的对应版本的
gradle。这时我们只要把默认的加载修改为我们本地有的就ok了。即修改gradle-wrapper-properties
文件,同时修改build.gradle对应的dependencies中classpath路径,如图所示:

图片 2

Paste_Image.png

图片 3

Paste_Image.png

另一种方法就是下载对应的Gradle版本,并修改AS配置的Gradle路径使之对应。

  • <二> 如何在AS中导入android的framework.jar包
      从Eclipse
    转到Android
    Studio,必经
    的1个进度正是导入第壹方jar包,导入普通的jar包格局相比较简单,网上其余的事例也相比多,但是关于导入framework.jar包内容就比较少。
    有时候开发须要部分依赖framework中躲藏方法的时候,大家得以导入framework.jar,
    编写翻译的时候正视framework,
    打包的时候不打进去,那在eclipse中贯彻形式比较不难,那里记录下Android
    studio中程导弹入framework.jar包的点子,其余系统jar包的导入方式同理。
    1,首先将framework.jar拷贝到项目标/libs文件夹中,然后右键framework.jar文件,然后Add
    as Library ,再选当前的module。

图片 4

Paste_Image.png

  操作之后,在您的Module的build.gradle中会扩大了

图片 5

Paste_Image.png

本条时候我们已经添加了framework.jar包,但是大家还有改变framework.jar的功效域属性,右键你的module,Open
Module Setting,然后将framework.jar的Scope改为 Provided 。如图所示:

图片 6

Paste_Image.png

改了framework.jar的成效域后,Module的build.gradle也会有变动,以前的compile
files(‘libs/framework.jar’),会变成provided
files(‘libs/framework.jar’)。

2,改了framework.jar
的scope后,再在修改project的build.gradle文件,改成如下所示:

图片 7

Paste_Image.png

那是在原本的根基上加了gradle.projects伊娃luted{}里面包车型大巴内容,那里要证实下”Xbootclasspath/p”后接的路线,是相持于如今Project的根目录,例子中的”:app\libs\framework.jar”在这之中的app为Module名,libs正是放framework.jar的文件夹了。此时,Make
Project就OK了(报红也从不关系)。
  倘若想调用jar包里面包车型客车不二法门或许不会活动提示,那么些时候修改一下module对应的*.iml文件,把framework.jar包的引用放到第三个,那时再调用方法就能够自动提醒了。

  • <三> 如何在AS中引用so文件
      AS中引用so库其实是比较简单的,只要求在Module相应的目录下树立相应的文件夹,命名为jniLibs,再把相应的so文件放进去就行了,如图所示:

图片 8

QQ截图20170325190549.png

  至于为啥这么放置,其实是有肯定依据的,原理如下:
  其实在AndroidStudio中,大家所以得以把jar包放在对应模块的libs目录下,比如app模块(也正是平常意义下的主工程了)的libs目录中,而不需求再去布署build.gradle文件,就能够符合规律使用那几个jar包,是因为在AndroidStudio中新建项目时,系统已经在暗中同意为大家安插好了gradle,占卜应模块下的build.gradle文件的话,一般会有如此一句:

dependencies { compile fileTree(dir: ‘libs’, include:
[*.jar’])\}

实则,那句便是告诉gradle,大家的第壹方jar包在libs目录下,若是没有这一行布署,那么理论上大家把jar包间接放在libs目录下实际是丰盛的,只可是新建项目时系统已经为大家配好了。那里libs是个相对路径,因为大家的build.gradle文件本人就在app模块下,那么那里的libs当然相当于指app模块下的libs,其实build.gradle文件中有所的门路都能够写相对路径,大家上边讲的so包的门道也是只写相对路径就足以了。
  OK,言归正传,今后掌握jar包的引入原理了,那么so包为啥要放在这么的叁个索引下?能否放在任意二个自定义的目录呢?当然是足以的。
实在在build.gradle中,私下认可会有一部分这么的布局:

   sourceSets { 
                main {
                         jniLibs.srcDirs = [**'src/main/jniLibs'**] 
                         aidl.srcDirs = [**'src/main/aidl'**]
                }
   }

这一个布置在你新建筑工程程未来,在build.gradle文件中暗中同意是不曾的,因为暗许正是如此的,当然也就不写也能够,当然你写出来也没错。意思是so包就去src/main/jniLibs目录下找,aidl文件暗许就到src/main/aidl目录下找。当然还有许多别样的布局,你还足以安插你的AndroidManifest.xml文件在何地,还是能配备你的Java代码在什么地方,即使您不配的话都会有2个暗中同意值,这里只是以jniLibs和aidl为例而已。
  看到那里您应该就清楚了,为何把so包直接放到src目录下的main目录下的jinLibs目录就足以了,而不需求安插gradle文件了,因为系统暗中认可就会到那些目录下找,假若您想把so包放在二个您欢愉的地方,比如直接放在app目录下的myJniLibs目录下,那您只要求把地点内容改成:

   sourceSets { 
                main {
                       jniLibs.srcDirs = ['myJniLibs']
                       aidl.srcDirs = ['src/main/aidl']
                }
   }

那般就足以了。通晓了规律,就如一切都明知道,同理,倘使不想把aidl文件放在暗许目录下,也足以改aidl.srcDirs的值,假诺不想把java代码放在暗中同意目录,就足以改java.srcDirs的值,如若不想把能源文件放在暗中认可目录下,就足以改res.srcDirs的值。。。还有多少个,同学们日益去切磋吗,假设你想把目录结构改的跟eclipse下的工程同样,就改那里的值就能够了。

AndroidStudio之导入第一方

mark

导入Jar包

在此处小编提前创设好了三个AS项目,使用的AS版本号是2.1.3

img1.png

恰好创造好的类别如上海体育场所所示,左边是体系管理,左边是代码编辑窗口,在2.1.3的本子中,点击箭头图标选取Project

img2.png

作者们选拔Project视图

img3.png

Project视图大概是这般的,咱们得以很直白地看见libs文件夹,接下去将你要导入的jar包拖入libs文件夹内,再按下图操作

img4.png

接下去只须要一点点守候时间,你就能够成功集成了该jar包了。

在线注重

AndroidStudio的最强大之一正是在线依赖效率,那里我们去github上找二个第1方,示例使用PhotoView,我们得以在github地址上很理解地看来

YTOUY5G`IIFYQQWWGW@CDZ8.png

导入PhotoView有多个东西须要开展配备,repositoriesdependencies,该配置要求在四个gradle文件中完毕,四个gradle文件和布置实现图如下

img5.png

开拓上海体育场所多个公文后文件名分别为app和你的工程名称

img6.png

将相应的compile消息添加进去

img7.png

增加对应的库的地点然后,你还亟需

1473349593627.jpg

点击之后依照你的互连网状态和电脑配置情形会在自然时间之内实现,当AS提示您成功时,你就已经能在代码中使用该第3方所提供的整个作用了。

SO库的丰盛

安卓付出进度中不可或缺的会利用到种种.so库,AndroidStudio中程导弹入.so是索要展开计划的,如图,小编在libs的同级目录下新建了二个文书夹名为JNILibs,导入了自家索要采纳的各个.so

1473350042725.jpg

而后,大家还供给在gradle中进行安插

1473350132162.jpg

如上航海用体育地方所示,小编在gradle中添加了这么一段代码

sourceSets { main { jniLibs.srcDirs = ['JNILibs'] } }

再按下右上角的Sync,稍等一会,恭喜你,你早已成功实现了.so库的导入工作。
到此地你早就基本驾驭了AndroidStudio中的各个导入效率,在以后更新的稿子中,还会讲到其余的一部分导入,多谢。

ps:
笔者是率先次写这么的篇章,很多欠缺的地方还望大家提议,接受任何批评,还望各位不吝指教!

相关文章