因为国内的网络原因,一直在anroidstudio开发的问题上,是个每个开发者都会踩坑
一直以为是自己的原因,其实很多都是国内网络的原因,今天就从一个开发者的视角
把从github上一个陌生的项目,如何通过本地就行运行的
首先我是准备研究anroid中蓝牙的项目让我们开始吧
第一步
首先到github上下载自己想要的项目我这里举例
https://github.com/lioilwin/Bluetooth
第二步
用andorid studio打开我们的项目,只要不是和你以前项目开发的版本一致的话,首先可能就是报错,一般都是gradle的问题,gradle在andorid开发当中一直就是一个病态(首先我这里不得不吐槽一下,android studio是我开发生涯中,遇到最难用的开发工具,太复杂了,如果有时间一直要用那种跨平台的进行开发,迟早要淘汰,但是没办法,我是要用这个去研究)
我这里附上我的报错
反正你一看到gradle的错误,不用想就是版本的问题,打开你的项目目录下
gradle\wrapper\gradle-wrapper.properties
这个文件
#Sat May 12 21:39:32 CST 2018
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
看到一个关键语句
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
就是这玩意管gradle的,我们直接替换我们java版本的,比如我是java 8,最好支持是gradle-7.5
而且最重要的环节来了,不管你是几,一定要换成国内的镜像,其实这里有个技巧,最好是打开以前你运行过的项目的文件,来看自己电脑支持最好的gradle的版本,也就是打开以前你项目同样这个目录的文件,来看你的gradle版本是多少
所以我们直接替换成自己的
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.5-bin.zip
第三步
重新编译
一般没问题的话,这一步就解决了大部分的问题,至少gradle应该是能过的
总结下面踩坑的,以及我在编译运行的时候出现的问题,想到了就持续更新
一:Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not “opens java.io” to unnamed module @a4cb58f
这臭玩意尽然是java的问题,反正就是要添加jvm参数才能运行,什么意思呢,我的理解就是不兼容
在哪里添加?直接修改gradle.properties文件,如果有修改里面参数,org.gradle.jvmargs=–add-opens java.base/java.io=ALL-UNNAMED