Android studio 几个坑,值得注意下。
坑一:layout文件中提示(见图):(关键词检索:因为百度和google的时候都没看到这个东东,只在stackoverflow上看到这个提问,但是还没人回答。希望大家可以百度到我这条)
①:Checks references injected by IntelliLang plugin.
②:cannot fin declaration to go to .
“①”产生的原因:
当光标移动到当前行时,前方会有个黄色的灯泡,我就点开了,但是不知道里边的意思是什么就点进去了,并且修改了几项内容,内容不列了,直接导致黄色的波浪线,但是可以编译通过。
”①“解决办法:我也看不太懂到底改了什么东西,然后在哪里改回来也不知道,标准是如何的也不清楚。经过多方面努力:
原因为:XML文件对于引用的约束文件(或者叫约定吧)指向的地址(当然可以是离线的)被我给置空了,但是图中显示的操作直译是设置命名空间代理为空,也是不太理解,前边我说的一大堆基本上就是我自己推导出来的,暂时这么理解吧。
解决:
settings-(第一条和第四条级别都调成error,勾选,这样就能让你知道有这个问题的存在)
然后这里之前置空的引用,勾选。
至于这个:cannot fin declaration to go to 找不到源文件是正常的,引用是官方的,这个声明,或者约束文件是大家为了便于交换而设计的,要不每个人都定义一个DTD,cheme约束,那么就乱套了。这个不用管就好了。
坑二:
Android studio中用了Genymotion模拟器,已经识别到了Device但是DDMS-Emulator Control是灰色的,模拟拨打电话和发送短信不可用(关键词检索)
碰到了这个坑,还以为是端口被占用的情况,但是已经发现设备了啊,已经启动了啊,检查端口没有发现任何问题:
这里附一个检测adb端口的方法:
1:netstat -aon|findstr "5037" 查看占用端口PID情况,5037是adb默认端口
2:tasklist|findstr "2720" 假如占用的PID是2020,那么此条查看的就是此PID对应的应用程序
如果不是adb,那么就到任务管理器中找到这个PID对应的程序,关闭,重启adb即可。
问题情况:
验证:本机AVD manager生成的Android模拟器就可以使用,so,原理就是别人的东西,你来我这里来不一定好使。
别费时间去纠结为啥不能用,他就是不能用。
另外用这个Genymotion生成的模拟器在制作的过程中不知道电话号码是哪个,所以在类似做拨号器应用的时候,无法验证此功能,可以这样:
在模拟器中查看:
设置-关于手机-状态消息-本机号码:我这里看到的是:15555215554,5554就是这个模拟器的号码,前边一大堆数字不用管,取后四位。