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
”允许其他应用程序启动它。例如,如果活动 是应用程序的主要活动,包括category
“android.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”的重复值与配置“”