AAPT:错误:“TODO”与导出的属性 (attr) 布尔值不兼容 [重复]

Posted

技术标签:

【中文标题】AAPT:错误:“TODO”与导出的属性 (attr) 布尔值不兼容 [重复]【英文标题】:AAPT: error: 'TODO' is incompatible with attribute exported (attr) boolean [duplicate] 【发布时间】:2021-11-28 18:26:41 【问题描述】:

我在运行我的应用程序时收到上述错误(在标题中),请告知;这是在更新 gradles 之后发生的。 错误: AAPT:错误:“TODO”与导出的属性 (attr) 布尔值不兼容。

 <?xml version="1.0" encoding="utf-8"?>
        <manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="com.example.recyclerview"
            android:versionCode="1"
            android:versionName="1.0" >
        
            <uses-sdk
                android:minSdkVersion="19"
                android:targetSdkVersion="31" />
        
            <application
                android:allowBackup="true"
                android:appComponentFactory="androidx.core.app.CoreComponentFactory"
                android:debuggable="true"
                android:icon="@mipmap/ic_launcher"
                android:label="@string/app_name"
                android:roundIcon="@mipmap/ic_launcher_round"
                android:supportsRtl="true"
                android:testOnly="true"
                android:theme="@style/AppTheme" >
                <activity
                    android:name="com.example.recyclerview.MainActivity"
                    android:exported="TODO" >
                    <intent-filter>
                        <action android:name="android.intent.action.MAIN" />
        
                        <category
                            android:name="android.intent.category.LAUNCHER"
                            android:set="true" />
                    </intent-filter>
                </activity>
            </application>
        </manifest>

【问题讨论】:

【参考方案1】:

您应该为活动的android:exported 设置一个值,因为它现在仍然是“TODO”(字面意思是您应该做的事情)。

见documentation:

该元素设置activity是否可以被组件启动 其他应用程序:

如果为“true”,则任何人都可以访问该活动 应用程序,并且可以通过其确切的类名启动。 如果“false”,则 活动只能由同一应用程序的组件启动, 具有相同用户 ID 或特权系统组件的应用程序。 这是没有意图过滤器时的默认值。

如果一个 应用中的活动包括意图过滤器,将此元素设置为 “true”允许其他应用程序启动它。例如,如果活动 是应用程序的主要活动,包括categoryandroid.intent.category.LAUNCHER”。

如果此元素设置为“false”并且应用尝试启动 活动,系统会抛出一个ActivityNotFoundException

此属性不是限制活动曝光的唯一方法 其他应用。权限也可以用来限制外部 可以调用活动的实体(请参阅permission 属性)。

【讨论】:

以上是关于AAPT:错误:“TODO”与导出的属性 (attr) 布尔值不兼容 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

AAPT 错误:<manifest> 标记中的属性“包”不是有效的 Android 包名称

JQuery属性与样式——.att()和.removeAttr()

jetified-media2-widget-1.1.1 esvaluesvalues.xml:258:5-266:25:AAPT:错误:资源“attr/viewType”的重复值与配置“”

AndroidStudio升级3.3.1后打包生成APK报AAPT2的错误解决办法

BLE 堆栈 - GATT 与 ATT

css 属性选择器