欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

新的某一天,新的报错

程序员文章站 2022-03-18 11:00:46
TN的又报错。终于准备写自己的项目,把idea上的java代码粘贴到Android上来,就是一个爬虫程序,准备把爬到的数据展现到Activity上。1. 哐哐一顿粘,然后就报了cant resolve symbal的错误,就是找不到import javax.script.Invocable;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;这些类,如果百度搜cant resolve symbol的话...

TN的又报错。
终于准备写自己的项目,把idea上的java代码粘贴到Android上来,就是一个爬虫程序,准备把爬到的数据展现到Activity上。
1. 哐哐一顿粘,然后就报了cant resolve symbal的错误,就是找不到

import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

这些类,如果百度搜cant resolve symbol的话是搜不出结果的。因为这是android studio和rt.jar这个jar包之间的恩怨。
通过后面的学习可以提前发现,android会把java的rt.jar的方法用自己的sdk里的某个jar包的同名方法来替代:
新的某一天,新的报错
有些方法是没有收录进去的,收录进去了的也有能使用的最低sdk版本的限制。所以同在一个jar包下的Path就可以找到,Invocable就找不到。然后在百度上经历了一阵混乱迷离的搜索之后我发现只要这样:
新的某一天,新的报错
Android studio就会综合考虑这两个jar包。然后编译就没有什么问题了。


然后直接点击运行键,这里省略崩出来的一大堆错误,上网一查发现好家伙,gradle version 、gradle plunge version、android build tools这3个东西的版本还有依赖关系too。然后上网查一下依赖的关系,调整一下就可以了,直接在build.gradle里面修改在sync就可以直接下载了,感觉还挺快的,不知道是从哪里下的。


2.现在可以开始点击激动人心的运行键了,但是我怎么突然发现设备不见了,有错误不停在滚动:
新的某一天,新的报错
诶,我设备呢?。。。
这里又是一个极坑的错误,如果你去百度上搜**Adb connection Error:远程主机强迫关闭了一个现有的连接。**,大部分都是叫你去看5037端口,看到几个pid之后再分别去看pid对应的进程名字,看是不是友军,如果不是就杀掉,然后总会发现不是,然后杀掉就完了。
但是我看5037端口的话,除了studio64.exe一直坚持运行之外,其他的pid总是不等我去查他们的进程名字就消失了,然后重查又蹦出新的进程。有人说查叫adb.exe的文件,我查了没发现什么问题:
新的某一天,新的报错

然后有的进程会把studio64挤掉,然后他又顽强的连上来,再看着这些进程打架若干分钟后,终于稳定在只有两个固定进程的局面,一个是studio64.exe,一个是nox_adb.exe:
新的某一天,新的报错
这时候解决找不到设备问题的契机就出现了,这个地方会从loading device字样变成一个红色有感叹号的手机图标:(我已经用后面的方法弄好了)
新的某一天,新的报错
然后点击这里会看到一行min sdk version(26) > device version(25),差不多是这样的语句,然后好像有点懂了,到build.gradle改一下minSdkVersion25然后这个图标马上就变绿了。

3.然后连锁反应就出现了,我的get方法找不到了:
新的某一天,新的报错
minSdkVersion就需要是26,不然在一些没到这个版本的手机上就无法使用这个方法。所以为了兼顾问题2就只能提升device sdk的版本了,随便上网一查:啦啦啦,然后就解决啦啦啦~( ̄︶ ̄)↗ 晚安,打工人

本文地址:https://blog.csdn.net/qq_44842466/article/details/109633322