android 当在github下载一个android项目后

前言

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 一下又成功了。好吧,这就是网络问题了。

后续

忘了,遇到写写。

posted @ 2020-01-08 11:01  敖毛毛  阅读(545)  评论(0编辑  收藏  举报