前言

github是一个很好的社区,有时候呢,我们从android下载项目下来无法build,有很多原因,比如说库不见了,或者说自己没有安装过支持的api版本等,会遇到各种问题。

在此总结一下。

问题与解决

包下载不下来

在中国网络上有一个特点,就是有一个叫做红色长城的东西,很多人也叫黑色长城,不同叫法观点不同哈。总之呢,在国内要想去国外溜达上网,就需要爬过去。

如果公司支持国际漫游(跟国内运营签了另外的协议的),当然就不需要了。但是呢,支持国际漫游的公司还有it 部门这个大坑,也不是想访问就能的。所以很多人使用shadowsock,需要一个代理,这样就可以愉快的访问了。

当我们使用了shadowsock这种代理后,依然在根目录下需要下的builde.gradle配置,以便我们获取maven库。

repositories {
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
allprojects {
repositories {
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
}

有些人就疑问了,为什么使用google()呢?这样不就ok呢?

在这里主要是有些低版本不支持,有下列要求:

Gradle 4.0 and later
Android Studio 3.0 and later
Gradle plugin for android 3.0 and later

所以呢,google()还是不要去趟浑水了。

当然,如果没有代理的,可以使用下面这个地址:

https://dl.google.com/dl/android/maven2/

Could not find method leftShift() for arguments

为什么会出错呢?因为android studio 做的太智能了,一进去就会问你需不需要gradle 这样贴心的话语。

虽然自己还能看懂英文,但是呢,谁都有心情不好和手残的时候,那么难道我还改回去。当然不了,一条路走到黑。

注:这个改动是在gradle5.0改的,那么聪明如你,改回到gradle5.0之前肯定是一种方式了。

直接shilft+ ctrl+f 全局搜索一波,对gradle文件过滤,把<<,全改了。其实呢,说全改,其实我们心里都有数,就几个文件。

task helloword <<{
println 'xxx xxx xx'
}
task helloword  {
doLast{
println 'xxx xxx xx'
}
}

去了<< 也许,但是我们要注意的是<< 代表输出的意思。

The minSdk version should not be declared in the android manifest file. You can move the version from the manifest to the defaultConfig in the build.gradle file.

在这个问题呢,还是历史版本的问题。这这里我指的历史版本不只是说别人写的项目,还可能比如使用cordova框架啦,你需要一个低级版本的cordova 框架,但是你又需要一个高版本的gradle,这样是你build更快,甚至打包效果更好。

解决方法:

点击提示下的 open file,然后删除即可,对了不要忘记去build.gradle 中声明最低版本,这很重要。

[TAG] Failed to resolve variable '${junit.version}'

这种情况呢,是junit 没下载下来,我们可能有时候呢,去rebuild 一下又成功了。好吧,这就是网络问题了。

后续

忘了,遇到写写。

android 当在github下载一个android项目后的更多相关文章

  1. Android Studio导入github下载的工程

    现在从github上面现在的项目大部分都是Android Studio工程,那么问题来了,从github上面down一个工程下来,怎么导入android studio呢? 对刚从eclipse转And ...

  2. android studio学习----Android Studio导入github下载的工程--替换方法

    http://www.cnblogs.com/liuling/p/2015-9-16-01.html 这种方法是可行的,主要是先自己创建一个project ,然后把没有的文件夹都复制过去就OK了,特别 ...

  3. 从github下载的vue项目启动宝Cannot Get错误

    从github下载的vue项目启动宝Cannot Get错误,网上参考出现该错误来源很多,这里先总结遇到的第一个解决方法. 参考地址: https://www.cnblogs.com/anns/p/7 ...

  4. 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字“Hello Android”,并将应用程序的名称更改为“FirstApp”。

    需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,显示一行文字"Hello Android",并将应用程序的名称更改为"Firs ...

  5. 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行

    需求说明: 使用 Android Studio 开发工具创建一个 Android 应用程序,并在 Genymotion 模拟器上运行 实现步骤: 打开 Android Studio,创建一个 Andr ...

  6. Android Studio导入github下载的project和module

    前言:我们以前eclispe时代, 经常都是跑到github浏览第三方开源资源,然后下载下来,运行一下sample之类的,学习没有接触的第三方安卓库,但是到了Android Studio,在githu ...

  7. 0.[WP Developer体验Andriod开发]之从零安装配置Android Studio并编写第一个Android App

    0. 所需的安装文件 笔者做了几年WP,近来对Android有点兴趣,尝试一下Android开发,废话不多说,直接进入主题,先安装开发环境,笔者的系统环境为windows8.1&x64. 安装 ...

  8. 【Android】用Cubism 2制作自己的Live2D——android sdk样本的下载与Android studio编译!

    前言- 在浏览Live2d说明书的时候我无意中发现了一个有趣的东西,就是android sdk中居然自带动态壁纸!那就让我们来试试吧,说明书此页的网址连接——中文版||日文版 Android开发所必需 ...

  9. 0.[Andriod]之从零安装配置Android Studio并编写第一个Android App

    0. 所需的安装文件 笔者做了几年WP,近来对Android有点兴趣,尝试一下Android开发,废话不多说,直接进入主题,先安装开发环境,笔者的系统环境为windows8.1&x64. 安装 ...

  10. LeadTools Android 入门教学——运行第一个Android Demo

    LeadTools 有很多Windows平台下的Demo,非常全面,但是目前开发手机应用的趋势也越来越明显,LeadTools也给大家提供了10个Android的Demo,这篇文章将会教你如何运行第一 ...

随机推荐

  1. C++ 深拷贝浅拷贝

    C++ 深拷贝浅拷贝 C++默认生成的拷贝构造函数,他的行为就是浅拷贝,他只会复制一个一模一样的的指针,并不会操作指针指向的东西. 要想实现我们的逻辑需求,就要自定义拷贝构造函数,实现深拷贝. 我们来 ...

  2. Python 中read()、 readline() 、readlines()三者之间的区别?

    read()方法用于一次性读取整个文件的内容,并将其作为一个字符串返回. readline()方法用于逐行读取文件的内容.每次调用readline()方法,它会读取文件的下一行,并将其作为一个字符串返 ...

  3. Java 递归方法的使用 + 例子

    1 /* 2 * 递归方法的使用 3 * 1.递归方法:一个方法体内调用它自身 4 * 2.方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制 5 * 递归一定要想已知方向 ...

  4. Java 可变个数形参的方法

    1 /** 2 * 3 * @Description 4 * @author Bytezero·zhenglei! Email:420498246@qq.com 5 * @version 6 * @d ...

  5. pycharm/Intellij idea双击打不开,没有反应,下列方法亲测有用!

    第一种方法: 看看你的微软C++运行库是不是误删了.....我就这么干过...以前有个软件捆绑这个 安装了 结果我后来给删了 ,导致我pycharm 和intellij idea全都打不开 !!!各位 ...

  6. MetaGPT day06 Environment组件源码 多智能体辩论

    Environment 环境中通常具有一定的规则,而agent必须按照规则进行活动,MetaGPT提供了一个标准的环境组件Environment,来管理agent的活动与信息交流. MetaGPT 源 ...

  7. RabbitMQ 快速复习

    目录 RabbitMQ学习笔记 1.消息队列概述 1.1 为什么学习消息队列 1.2 什么是消息中间件 1.3 消息队列应用场景 1.3.1 异步处理 1.3.2 解耦服务 1.3.3 流量削峰 1. ...

  8. 【数据结构】C语言实现动态扩容数组

    // resizable array /* Think about a set of functions that provide a mechanism of resizable array of ...

  9. Python isinstance() 函数含义及用法解析

    描述 isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type(). isinstance() 与 type() 区别: type() 不会认为子类是一种父类类型,不考虑继承关 ...

  10. Android 线性布局平分宽度item的隐藏问题

    原文:Android 线性布局平分宽度item的隐藏问题 - Stars-One的杂货小窝 一直只使用layout_weight来平分布局,但是如果隐藏了某个item,会导致其他item宽高有所变化 ...