一点一点带您走入AS神器之门,那里大概是因为点9图片的难题

在这里作者提前创建好了一个AS项目,这里可能是因为点9图片的问题

1473349593627.jpg

一 、难题方案

  • 报错难点

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文件

1473350042725.jpg

二、小贴士

  • <一> 导入外人的品种怎么改变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,必经
    的3个进度便是导入第二方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代码在哪儿,假设您不配的话都会有多个暗中同意值,那里只是以jniLibs和aidl为例而已。
  看到此间您应当就清楚了,为何把so包直接放到src目录下的main目录下的jinLibs目录就足以了,而不必要配置gradle文件了,因为系统暗许就会到那些目录下找,倘使您想把so包放在2个您喜爱的地方,比如直接放在app目录下的myJniLibs目录下,那您只需要把地点内容改成:

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

如此那般就足以了。驾驭了规律,就像一切都明知道,同理,若是不想把aidl文件放在默许目录下,也足以改aidl.srcDirs的值,若是不想把java代码放在暗许目录,就足以改java.srcDirs的值,如若不想把财富文件放在默许目录下,就能够改res.srcDirs的值。。。还有多少个,同学们稳步去研商吗,倘使你想把目录结构改的跟eclipse下的工程一律,就改这里的值就足以了。

ps:
笔者是第一回写这么的稿子,很多供不应求的地点还望大家建议,接受全体批评,还望各位不吝指教!

mark

点击之后依据你的网络状态和电脑配置意况会在自然时间之内完毕,当AS提醒您成功时,你就已经能在代码中运用该第③方所提供的全体作用了。

如上海教室所示,笔者在gradle中添加了这么一段代码

咱俩接纳Project视图

img7.png

在那里小编提前创立好了一个AS项目,使用的AS版本号是2.1.3

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

开辟上海教室三个文件后文件名分别为app和您的工程名称

再按下右上角的Sync,稍等一会,恭喜您,你已经成功完毕了.so库的导入工作。
到那里您曾经基本领会了AndroidStudio中的各类导入成效,在现在更新的篇章中,还会讲到其余的一些导入,多谢。

接下去只供给一丢丢等候时间,你就足以成功集成了该jar包了。

见惯不惊创造好的档次如上海体育场所所示,右边是体系管理,右侧是代码编辑窗口,在2.1.3的本子中,点击箭头图标接纳Project

YTOUY5G`IIFYQQWWGW@CDZ8.png

在线依赖

img1.png

AndroidStudio之导入第叁方

img2.png

SO库的拉长

img5.png

AndroidStudio的最有力之一正是在线依赖作用,那里大家去github上找一个第3方,示例使用PhotoView,大家能够在github地址上很理解地察看

img3.png

以往,大家还须求在gradle中进行配备

img4.png

img6.png

将相应的compile消息添加进去

安卓开发进程中必备的会采纳到种种.so库,AndroidStudio中程导弹入.so是亟需开始展览布置的,如图,我在libs的同级目录下新建了一个文件夹名为JNILibs,导入了自家索要利用的各类.so

Project视图大概是那样的,大家能够很直接地看见libs文件夹,接下去将您要导入的jar包拖入libs文件夹内,再按下图操作

AndroidStudio是当下安卓开发中当之无愧的神器,但是不少初学的同查对于和Eclipse完全不等同的AS是满载怨念的。于是笔者开了此核心,一点一点带你走入AS神器之门。

导入Jar包

1473350132162.jpg

累加对应的库的地点然后,你还供给

导入PhotoView有四个东西需求展开计划,repositoriesdependencies,该配置需求在五个gradle文件中成就,五个gradle文件和配置达成图如下