标签:microsoft cannot gets cts http tools sim debug 标记
提示: 使用 Merged Manifest view 预览合并清单的效果并找出冲突错误。提示: 使用 Merged Manifest view 预览合并清单的效果并找出冲突错误。
重要说明: build.gradle 文件中的构建配置将替换合并清单文件中的任何对应属性。 例如,build.gradle 文件中的minSdkVersion 将替换<uses-sdk> 清单元素中的匹配属性。为了避免混淆,您只需省去 <uses-sdk> 元素并在 build.gradle 文件中定义这些属性。For more details, see Configure Your Build.重要说明: build.gradle 文件中的构建配置将替换合并清单文件中的任何对应属性。 例如,build.gradle 文件中的minSdkVersion 将替换<uses-sdk> 清单元素中的匹配属性。为了避免混淆,您只需省去 <uses-sdk> 元素并在 build.gradle 文件中定义这些属性。For more details, see Configure Your Build.| High priority attribute | Low priority attribute | Attribute‘s merged result |
| No value | No value | No value (use default value) |
| Value B | Value B | |
| Value A | No value | Value A |
| Value A | Value A | |
| Value B | Conflict error—you must add a merge rule marker |
<uses-feature
android:name="android.hardware.camera"
android:required="false"/><uses-feature android:name="android.hardware.camera" android:required="false"/>Do not depend on default attribute values.
由于所有 unique attributes 都合并到同一元素中,如果高优先级清单实际上依赖于属性的默认值而不需要声明,则可能会导致意外结果。
例如,如果高优先级清单不声明 android:launchMode 属性,则会使用 "standard" 的默认值;但如果低优先级清单声明此属性具有其他值,该值将应用于合并清单(替代默认值)。
因此,您应该按期望明确定义每个属性。(每个属性的默认值都会记录在 Manifest reference 中)。Do not depend on default attribute values.由于所有 unique attributes 都合并到同一元素中,如果高优先级清单实际上依赖于属性的默认值而不需要声明,则可能会导致意外结果。例如,如果高优先级清单不声明 android:launchMode 属性,则会使用 "standard" 的默认值;但如果低优先级清单声明此属性具有其他值,该值将应用于合并清单(替代默认值)。因此,您应该按期望明确定义每个属性。(每个属性的默认值都会记录在 Manifest reference 中)。<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
xmlns:tools="http://schemas.android.com/tools"><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapp" xmlns:tools="http://schemas.android.com/tools"><activity android:name=”com.example.ActivityOne”
android:windowSoftInputMode=”stateUnchanged”>
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<data android:type="image/*" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity><activity android:name=”com.example.ActivityOne” android:windowSoftInputMode=”stateUnchanged”> <intent-filter> <action android:name="android.intent.action.SEND"/> <data android:type="image/*" /> <category android:name="android.intent.category.DEFAULT"/> </intent-filter></activity><activity android:name=”com.example.ActivityOne”
android:screenOrientation=”portrait”
tools:node="merge-only-attributes”/><activity android:name=”com.example.ActivityOne” android:screenOrientation=”portrait” tools:node="merge-only-attributes”/><activity android:name=”com.example.ActivityOne”
android:screenOrientation=”portrait”
android:windowSoftInputMode=”stateUnchanged”/><activity android:name=”com.example.ActivityOne” android:screenOrientation=”portrait” android:windowSoftInputMode=”stateUnchanged”/><activity-alias android:name=”com.example.alias”>
<meta-data android:name=”cow”
android:value=”@string/moo”/>
<meta-data android:name=”duck”
android:value=”@string/quack”/>
</activity-alias><activity-alias android:name=”com.example.alias”> <meta-data android:name=”cow” android:value=”@string/moo”/> <meta-data android:name=”duck” android:value=”@string/quack”/></activity-alias><activity-alias android:name=”com.example.alias”>
<meta-data android:name=”cow”
tools:node=”remove”/>
</activity-alias><activity-alias android:name=”com.example.alias”> <meta-data android:name=”cow” tools:node=”remove”/></activity-alias><activity-alias android:name=”com.example.alias”>
<meta-data android:name=”duck”
android:value=”@string/quack”/>
</activity-alias><activity-alias android:name=”com.example.alias”> <meta-data android:name=”duck” android:value=”@string/quack”/></activity-alias><activity-alias android:name=”com.example.alias”>
<meta-data android:name=”cow”
android:value=”@string/moo”/>
<meta-data android:name=”duck”
android:value=”@string/quack”/>
</activity-alias><activity-alias android:name=”com.example.alias”> <meta-data android:name=”cow” android:value=”@string/moo”/> <meta-data android:name=”duck” android:value=”@string/quack”/></activity-alias><activity-alias android:name=”com.example.alias”>
<meta-data tools:node=”removeAll”/>
</activity-alias><activity-alias android:name=”com.example.alias”> <meta-data tools:node=”removeAll”/></activity-alias><activity-alias android:name=”com.example.alias”/><activity-alias android:name=”com.example.alias”/><activity-alias android:name=”com.example.alias”>
<meta-data android:name=”cow”
android:value=”@string/moo”/>
<meta-data android:name=”duck”
android:value=”@string/quack”/>
</activity-alias><activity-alias android:name=”com.example.alias”> <meta-data android:name=”cow” android:value=”@string/moo”/> <meta-data android:name=”duck” android:value=”@string/quack”/></activity-alias><activity-alias android:name=”com.example.alias”
tools:node=”replace”>
<meta-data android:name=”fox”
android:value=”@string/dingeringeding”/>
</activity-alias><activity-alias android:name=”com.example.alias” tools:node=”replace”> <meta-data android:name=”fox” android:value=”@string/dingeringeding”/></activity-alias><activity-alias android:name=”com.example.alias”>
<meta-data android:name=”fox”
android:value=”@string/dingeringeding”/>
</activity-alias><activity-alias android:name=”com.example.alias”> <meta-data android:name=”fox” android:value=”@string/dingeringeding”/></activity-alias><activity android:name=”com.example.ActivityOne”
android:windowSoftInputMode=”stateUnchanged”>
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity><activity android:name=”com.example.ActivityOne” android:windowSoftInputMode=”stateUnchanged”> <intent-filter> <action android:name="android.intent.action.SEND"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter></activity><activity android:name=”com.example.ActivityOne”
android:screenOrientation=”portrait”
tools:node="strict”/><activity android:name=”com.example.ActivityOne” android:screenOrientation=”portrait” tools:node="strict”/><activity android:name=”com.example.ActivityOne”
android:windowSoftInputMode=”stateUnchanged”/><activity android:name=”com.example.ActivityOne” android:windowSoftInputMode=”stateUnchanged”/><activity android:name=”com.example.ActivityOne”
android:screenOrientation=”portrait”
tools:remove=”android:windowSoftInputMode”/><activity android:name=”com.example.ActivityOne” android:screenOrientation=”portrait” tools:remove=”android:windowSoftInputMode”/><activity android:name=”com.example.ActivityOne”
android:screenOrientation=”portrait”/><activity android:name=”com.example.ActivityOne” android:screenOrientation=”portrait”/><activity android:name=”com.example.ActivityOne”
android:theme=”@oldtheme”
android:exported=”false”
android:windowSoftInputMode=”stateUnchanged”><activity android:name=”com.example.ActivityOne” android:theme=”@oldtheme” android:exported=”false” android:windowSoftInputMode=”stateUnchanged”><activity android:name=”com.example.ActivityOne”
android:theme=”@newtheme”
android:exported=”true”
android:screenOrientation=”portrait”
tools:replace=”android:theme,android:exported”><activity android:name=”com.example.ActivityOne” android:theme=”@newtheme” android:exported=”true” android:screenOrientation=”portrait” tools:replace=”android:theme,android:exported”><activity android:name=”com.example.ActivityOne”
android:theme=”@newtheme”
android:exported=”true”
android:screenOrientation=”portrait”
android:windowSoftInputMode=”stateUnchanged”><activity android:name=”com.example.ActivityOne” android:theme=”@newtheme” android:exported=”true” android:screenOrientation=”portrait” android:windowSoftInputMode=”stateUnchanged”><activity android:name=”com.example.ActivityOne”
android:screenOrientation=”landscape”/><activity android:name=”com.example.ActivityOne” android:screenOrientation=”landscape”/><activity android:name=”com.example.ActivityOne”
android:screenOrientation=”portrait”
tools:strict="android:screenOrientation”/><activity android:name=”com.example.ActivityOne” android:screenOrientation=”portrait” tools:strict="android:screenOrientation”/><activity android:name=”com.example.ActivityOne”
android:theme=”@oldtheme”
android:exported=”false”
android:allowTaskReparenting="true"
android:windowSoftInputMode=”stateUnchanged”><activity android:name=”com.example.ActivityOne” android:theme=”@oldtheme” android:exported=”false” android:allowTaskReparenting="true" android:windowSoftInputMode=”stateUnchanged”><activity android:name=”com.example.ActivityOne”
android:theme=”@newtheme”
android:exported=”true”
android:screenOrientation=”portrait”
tools:replace=”android:theme,android:exported”
tools:remove=”android:windowSoftInputMode”><activity android:name=”com.example.ActivityOne” android:theme=”@newtheme” android:exported=”true” android:screenOrientation=”portrait” tools:replace=”android:theme,android:exported” tools:remove=”android:windowSoftInputMode”><activity android:name=”com.example.ActivityOne”
android:theme=”@newtheme”
android:exported=”true”
android:allowTaskReparenting="true"
android:screenOrientation=”portrait”><activity android:name=”com.example.ActivityOne” android:theme=”@newtheme” android:exported=”true” android:allowTaskReparenting="true" android:screenOrientation=”portrait”><permission android:name="permissionOne"
tools:node="remove"
tools:selector="com.example.lib1"><permission android:name="permissionOne" tools:node="remove" tools:selector="com.example.lib1"><uses-sdk android:targetSdkVersion="22"
android:minSdkVersion="2"
tools:overrideLibrary="com.example.lib1, com.example.lib2"/><uses-sdk android:targetSdkVersion="22" android:minSdkVersion="2" tools:overrideLibrary="com.example.lib1, com.example.lib2"/><manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.lib1">
<uses-sdk android:minSdkVersion="4"/>
...<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.lib1"> <uses-sdk android:minSdkVersion="4"/>注:如果您将应用的 targetSdkVersion 设置为 23 或更高值,则必须在应用尝试访问受这些权限保护的 API 时为任何危险权限执行运行时权限请求。 如需获得更多指导,请参阅使用系统权限。注:如果您将应用的 targetSdkVersion 设置为 23 或更高值,则必须在应用尝试访问受这些权限保护的 API 时为任何危险权限执行运行时权限请求。 如需获得更多指导,请参阅使用系统权限。| Lower-priority manifest declares | Permissions added to the merged manifest |
| targetSdkVersion is 3 or lower | WRITE_EXTERNAL_STORAGE, READ_PHONE_STATE |
| targetSdkVersion is 15 or lower and using READ_CONTACTS | READ_CALL_LOG |
| targetSdkVersion is 15 or lower and using WRITE_CONTACTS | WRITE_CALL_LOG |






| 元素 | 合并策略 | 合并关键字 |
| <action> | 合并 | android:name 属性 |
| <activity> | 合并 | android:name 属性 |
| <application> | 合并 | 每个 <manifest> 仅一个 |
| <category> | 合并 | android:name 属性 |
| <data> | 合并 | 每个 <intent-filter> 仅 1 个 |
| <grant-uri-permission> | 合并 | 每个 <provider> 仅 1 个 |
| <instrumentation> | 合并 | android:name 属性 |
| <intent-filter> | 保留 | 不匹配;允许父元素内的多个声明 |
| <manifest> | 合并 | 每个文件仅 1 个 |
| <meta-data> | 合并 | android:name 属性 |
| <path-permission> | 合并 | 每个 <provider> 仅 1 个 |
| <permission-group> | 合并 | android:name 属性 |
| <permission> | 合并 | android:name 属性 |
| <permission-tree> | 合并 | android:name 属性 |
| <provider> | 合并 | android:name 属性 |
| <receiver> | 合并 | android:name 属性 |
| <screen> | 合并 | android:screenSize 属性 |
| <service> | 合并 | android:name 属性 |
| <supports-gl-texture> | 合并 | android:name 属性 |
| <supports-screen> | 合并 | 每个 <manifest> 仅 1 个 |
| <uses-configuration> | 合并 | 每个 <manifest> 仅 1 个 |
| <uses-feature> | 合并 | android:name 属性(如果不存在,则使用 android:glEsVersion 属性) |
| <uses-library> | 合并 | android:name 属性 |
| <uses-permission> | 合并 | android:name 属性 |
| <uses-sdk> | 合并 | 每个 <manifest> 仅 1 个 |
| 自定义元素 | 合并 | 无匹配;合并工具不了解这些信息,因此它们始终 包括在合并清单中 |
标签:microsoft cannot gets cts http tools sim debug 标记
原文地址:https://www.cnblogs.com/baiqiantao/p/9363208.html