how to fix "error: unexpected element <view> found in <manifest>"

how to fix "error: unexpected element <view> found in <manifest>"

Android Studio 3.3

文件 > 全部保存;与文件系统同步;将项目与 Gradle 个文件
同步 构建 > 清理项目
运行 > 调试应用程序

error: unexpected element <view> found in <manifest>

Android资源链接失败
...\app\build\intermediates\merged_manifests\debug\AndroidManifest.xml:

error: unexpected element <view> found in <manifest>

AndroidManifest.xml 包含视图:

    <view android:name=".ZAreaView"
        android:screenOrientation="portrait" 
        android:theme="@style/Theme.Translucent">
    </view>

视图构建和显示失败 -- android SDK 28.6
build.gradle: 类路径 'com.android.tools.build:gradle:3.3.0'
我可以从清单中删除视图并进行编译,但视图不会显示。

成功构建并显示视图 -- android SDK 23.3
build.gradle: 类路径 'com.android.tools.build:gradle:2.1.2'

AndroidManifest.xml 不允许在其中使用视图标签。

我假设您要显示包含此 ZAreaView 的 activity,或者 ZAreaView 可能是 activity。 在这种情况下,您要做的是用标签

替换标签

您似乎在 AndroidManifest 中使用了错误的元素。

声明 Activity 的正确方法是使用 activity element

所以试试这个:

<activity 
    android:name=".ZAreaView"
    android:screenOrientation="portrait" 
    android:theme="@style/Theme.Translucent">
</activity>

或者,如果您尝试显示您创建的自定义视图(扩展视图),则将其添加到您的 Activity 或 Fragment 的布局中 xml:

<com.yourpackagename.ZAreaView
     android:layout_width="wrap_content"
     android:layout_height="wrap_content" />

从 Manifest.xml

中删除视图
<view android:name=".ZAreaView"
    android:screenOrientation="portrait" 
    android:theme="@style/Theme.Translucent">
</view>

将 ZAreaView 添加到新布局puzzle.xml
vilpe89 和 Gabe Sechan 推荐

<com.modelsw.SixPuzzles.ZAreaView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:screenOrientation="portrait"
    android:theme="@style/Theme.Translucent" />

添加到java class onCreate()下的Puzzle

setContentView(R.layout.puzzle);

充气时出错 class com.modelsw.SixPuzzles.ZAreaView

修改 puzzle.xml
com.modelsw.SixPuzzles.ZAreaView 

View 

样式错误

android:theme="@style/Theme.Translucent"

改为

android:theme="@style/Theme.AppCompat.Translucent"

布局的最终​​配置puzzle.xml

<View
    android:name=".ZAreaView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:screenOrientation="portrait"
    android:theme="@style/Theme.AppCompat.Translucent" >
</View>

成功
也许样式错误是我得到膨胀 class 错误的原因 但视图有效
我感谢 vilpe89 和 Gabe Sechan 让我开始。

我想你把它放错地方了。 确保您必须将其推送到应用程序选项卡中。

<application android:label=".Android">
    <view android:name=".ZAreaView"
        android:screenOrientation="portrait" 
        android:theme="@style/Theme.Translucent">
    </view>
</application>