Xil*_*nic 156 android android-studio
所以我尝试了Android Studio,因为我非常喜欢Resharper,并注意到IDE内置了一些功能.现在创建了一个默认的新项目,我添加了一个新的布局文件,并希望更改现有的默认"hello world"示例布局,并在以下行中出现"URI未注册"错误:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
Run Code Online (Sandbox Code Playgroud)
我还没有对默认生成的项目做任何其他事情.我遇到了另一个似乎相关的问题(Intellij Android项目模式URI没有注册?),但忽略一些东西对我来说很奇怪.我实际上尝试过,但这导致RelativeLayout(以及可能所有其他Android相关的东西)不再被识别(错误消息:"找不到元素'RelativeLayout'的声明").
关于如何解决这个问题的任何想法?
Maz*_*ser 145
你有这个问题,因为你在错误的目的地!布局资源文件的正确目录必须位于"res-layout"而不是"res-all-layout"
eli*_*ley 49
对我来说这是因为我正在使用调试和发布版本变体.我手动添加了新文件夹src/debug/res/layout/some_layout.xml文件,但它无法识别URI.我将构建变量切换为release,然后再调试.这导致Android Studio重新加载某些内容,错误消失了.
编辑:还要检查您是否具有正确的文件名.我通过添加调试AndroidManifest.xml再次遇到此问题,但错误地将其命名为AndroidManifest.xml.xml.
Vin*_*ing 39
我使用Intellij IDEA,但我认为它也适用于Android Studio,你能看到IDE右下角的"事件日志"吗,它有一些消息,比如" 在项目配置中检测到Android框架 ",这意味着你应该有一个框架配置.如果是这样,请点击消息链接.
以同样的方式,您可以转到" 文件>项目结构>模块 ",然后添加Android Facet.

顺便说一句,如果我想像你一样使用自定义命名空间,我会将资源标识符写为我的包名,因为我定义了清单元素的AndroidManifest.xml包属性,下面是我的代码.
<manifest package="com.my.name.android">
...
</manifest>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/apk/res/com.my.name.android">
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
希望这对你有所帮助.
在Android Studio 3.1.2中,发生此错误是由于对缓存的验证错误。
转到项目文件夹并删除.idea文件夹中的所有内容
这将删除缓存,并重新加载项目将创建新的缓存文件夹,并且一切顺利。,
我的问题是我的文件夹结构如下:
MyProject/
res/
layout/
main.xml
layout-land/
main.xml
(我的Slayout-land文件夹在我的layout文件夹中)
我将结构更改为此,它对我有用:
MyProject/
res/
layout/
main.xml
layout-land/
main.xml
我希望这个对你有用!
在 Build Variants 中选择适当的风味。
如果您正在 Flavour1 下查看特定文件,请在 BuildVariants 窗口中选择该风格。
如果您的 IDE 是 Android Studio(撰写本文时为 3.2.1),您应该会在左下方找到 Build Variants 窗口,垂直对齐。
| 归档时间: |
|
| 查看次数: |
202368 次 |
| 最近记录: |