报错信息:
Process 'command 'J:\develop\studio\android-sdk-windows\build-tools\28.0.3\aapt.exe'' finished with non-zero exit value 1
看到这个错的时候也是懵的一逼,什么啊 ?error信息呢 ?神经病吧?...
如果你的报错也这样,别急往下看!
1.上面的错误信息只是告诉你 编译器大爷遇到毛病了,至于是什么毛病,还得请砖家会诊一下。
掌声欢迎砖家 (手动啪啪啪ing)!
2.在studio的右侧边,有一个gradle,打开。 如下图所示:
image.png
3.然后看下图箭头所指
image.png
4.这个时候,看下图
image.png
5.完整的错误信息:
AGPBI: {"kind":"error","text":"No resource found that matches the given name (at \u0027layout_above\u0027 with value \u0027@id/bottomBar\u0027).","sources":[{"file":"...\main\res\layout\activity_main.xml","position":{"startLine":23,"startColumn":30,"startOffset":731,"endColumn":43,"endOffset":744}}],"original":"","tool":"AAPT"}
下面是重点
分析上面的log,可以看出是因为在activity_main.xml布局文件中这个id叫bottomBar的兄弟出毛病了,
根据提供的信息找到这一行后,发现代码是这样的
image.png
根据编译机制,我们知道代码是从第一行到最后一行 依次执行编译的。
上图的代码中,FrameLayout中有一个属性:android:layout_above="@id/bottomBar"
当执行这一句的时候,它的value中所用到的id “bottomBar” 还没有还没有创建,所以找不到这个资源,所以就报错了!!!
修改:
由于父控件是RelativeLayout,所以就把他两换个位置,让bottomBar先创建出来,在让FrameLayout引用,这样就可以了!
image.png
这样在编译一下,就没有问题 了!
对于这个报错,大多数都是布局文件中的错误,当然也可能还有别的。只能是见招拆招!见坑爬坑!
网友评论