一直没开始GitHub的学习,今天终于开始啦,开头难啊,分享一下今天遇到的问题以及处理方法
进入GitHUb学习,第一个案例就是PullToRefresh(下拉刷新控件),然而他并不是Android Studio直接可以打开用,这里介绍下导入方法以及遇到的问题(下一篇介绍功能及代码)
一、导入PullToRefresh
1、将PullToRefresh克隆到本地
git clone https://github.com/chrisbanes/Android-PullToRefresh
2、克隆到本地后library目录复制到app同级目录下,并将名称改为PullToRefresh
或者选择File -->import module -->选择要导入的library(刷新功能只要在这里)
3、在项目根目录下的settings.gradle下添加第三方库目录
include ':app', ':PullToRefresh'
或者
include ':app' include ':PullToRefresh'
4、在app/build.gradle下添加编译依赖(这里只需要在最下面加一行代码)
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.0.1'
compile project(':PullToRefresh')
}
5、在PullToRefresh目录下添加build.gradle(这里可以全部复制粘贴)
apply plugin: 'android-library' android { compileSdkVersion 23 buildToolsVersion "23.0.1" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['aidl'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } }6、最后别忘记Sync Now和Rebuild(Build-->Rebuild Project)
二丶常见问题
1.路径不对
14:59:54 Gradle sync failed: Configuration with name 'default' not found.Consult IDE
log for more details (Help | Show Log)
导致这种问题是由于
a、settings.gradle包含了不正确的目录:include ":目录名"
b、app目录下build.gradle文件目录不正确:compile project(':目录名')
c、引入的第三方库下是否包含build.gradle文件
2、编译器版本不对
Error:A problem occurred configuring project ':PullToRefresh'.
> failed to find target with hash string 'android-17' in: D:\Users\ibm\AppData\Local\Android\sdk
Open Android SDK Manager
这只需要将第三方库中build.gradle下编译器版本改成和工程项目的一致即可。
如,项目的编译器版本为
compileSdkVersion 23
buildToolsVersion "23.0.0"
如果下称如下版本,则会出现以上异常。
compileSdkVersion 17
buildToolsVersion "21.1.2"
3、导入时文件位置出错
Error:A problem occurred configuring project ':PullToRefresh'. > java.io.FileNotFoundException: F:\AndroidStudioProjects\My0119Application\PullToRefresh\AndroidManifest.xml (系统找不到指定的文件。)
我是导入的library而不知怎么的AndroidManifest.xml的位置发生了变化,所以觉得这个错误很奇葩,改半天才知道只需要把AndroidManifest.xml重新拖回到报错指定的位置
三、心得
1.今天算是找了一下午的错,主要是没找到好的参考文章,然后确实经验,当然希望这篇文章能帮到大家。
2.要学的很多,要善于利用资源,工具