Intellij android 资源生成
Intellij android resources gen
我遇到了 Intellij 的奇怪行为,这是我以前从未遇到过的。我不知道它是否与这个新更新(14.0.3)有关或什么。所以每次我添加一个新资源时会发生什么,比方说一个新的 .xml 或以前的 .xml 文件中的一个新视图,我的 R 文件没有得到更新,我必须再次编译 hole 项目,否则会警告我找不到该资源。我试图删除 gen 文件夹,但它也不起作用,而且情况变得更糟,我所有的 R 引用都混淆了,所以我最终得到了 CastExceptions 和放错位置的可绘制对象,唯一的办法就是再次重新编译......我以前从来没有遇到过。
有人经历过这种行为吗?
四点建议:
1) 确保你确实在使用最新最好的 Android SDK Build Tools
.
2) 您或许可以使用 lint
来确定 lint 警告。转到 File
> Settings
> 并在搜索框中搜索 lint。你会在那里找到很多不同的选择。确保他们被选中。我遇到过一些情况,lint 会抱怨我在 .xml
中使用了一个不受支持的属性,这有时会让 Intellij 措手不及。
3) 进入项目结构,在最底部应该有一个选项卡Problems
。确保标签是干净的。有时,如果在使用第三方库时路径出现问题,R.java
会中断。
4) 确保您确实使用了适用于您指定的 target/min SDK 的正确 api。
希望这对您有所帮助。如果您找到解决方案,请更新 OP,以便对其他人有所帮助。
所以我联系了 JetBrains 支持,他们的回复是:
Andrey Dernov(JetBrains 支持)
2 月 16 日,11:41
你好,
Android 项目 https://youtrack.jetbrains.com/issue/IDEA-135234 . The issue will be fixed in upcoming 14.0.4 update. Or you can use the last EAP build from https://confluence.jetbrains.com/display/IDEADEV/IDEA+14.1+EAP 存在错误。给您带来的不便,我们深表歉意。
JetBrains 公司
http://www.jetbrains.com
"Develop with pleasure!"
我遇到了 Intellij 的奇怪行为,这是我以前从未遇到过的。我不知道它是否与这个新更新(14.0.3)有关或什么。所以每次我添加一个新资源时会发生什么,比方说一个新的 .xml 或以前的 .xml 文件中的一个新视图,我的 R 文件没有得到更新,我必须再次编译 hole 项目,否则会警告我找不到该资源。我试图删除 gen 文件夹,但它也不起作用,而且情况变得更糟,我所有的 R 引用都混淆了,所以我最终得到了 CastExceptions 和放错位置的可绘制对象,唯一的办法就是再次重新编译......我以前从来没有遇到过。
有人经历过这种行为吗?
四点建议:
1) 确保你确实在使用最新最好的 Android SDK Build Tools
.
2) 您或许可以使用 lint
来确定 lint 警告。转到 File
> Settings
> 并在搜索框中搜索 lint。你会在那里找到很多不同的选择。确保他们被选中。我遇到过一些情况,lint 会抱怨我在 .xml
中使用了一个不受支持的属性,这有时会让 Intellij 措手不及。
3) 进入项目结构,在最底部应该有一个选项卡Problems
。确保标签是干净的。有时,如果在使用第三方库时路径出现问题,R.java
会中断。
4) 确保您确实使用了适用于您指定的 target/min SDK 的正确 api。
希望这对您有所帮助。如果您找到解决方案,请更新 OP,以便对其他人有所帮助。
所以我联系了 JetBrains 支持,他们的回复是:
Andrey Dernov(JetBrains 支持) 2 月 16 日,11:41 你好, Android 项目 https://youtrack.jetbrains.com/issue/IDEA-135234 . The issue will be fixed in upcoming 14.0.4 update. Or you can use the last EAP build from https://confluence.jetbrains.com/display/IDEADEV/IDEA+14.1+EAP 存在错误。给您带来的不便,我们深表歉意。 JetBrains 公司 http://www.jetbrains.com "Develop with pleasure!"