我是爪哇和机器人的新手。在运行模拟器时,我面临着合并冲突问题。
完整的错误消息:
执行任务失败:process DefaultsDebugMainManifest。
清单合并失败,出现多个错误,请参阅日志
错误:需要为元素显式指定android:exported
此处为AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.iab.omid.sampleapp">
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<application
android:networkSecurityConfig="@xml/network_security_config"
android:name=".AdApplication"
android:allowBackup="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
<activity
android:name=".AdListActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name=".AdDetailActivity"
android:label="@string/title_ad_detail"
android:parentActivityName=".AdListActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.iab.omid.sampleapp.AdListActivity"/>
</activity>
</application>
和构建渐变
buildscript {
ext {
targetCompatibility = JavaVersion.VERSION_1_8
}
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
}
}
apply plugin: 'com.android.application'
repositories {
google()
maven {
url "https://plugins.gradle.org/m2/"
}
}
android {
compileSdk 32
flavorDimensions ""
defaultConfig {
applicationId "com.iab.omid.sampleapp"
minSdkVersion 18
targetSdkVersion 32
versionCode 1020
versionName "1.1.3"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
buildConfigField("String", "PARTNER_NAME", "\"com.iab.omid.sampleapp\"")
buildConfigField("String", "VENDOR_KEY", "\"dummyVendor\"")
buildConfigField("String", "VALIDATION_SCRIPT_URL", "\"complianceomsdk.iabtechlab.com\"")
// This override URL will only change URLs seen in Charles proxy for Html ads
buildConfigField("String", "VALIDATION_SCRIPT_URL_OVERRIDE", "\"complianceomsdk.iabtechlab.com\"")
buildConfigField("String", "VERIFICATION_URL", "\"https://s3-us-west-2.amazonaws.com/omsdk-files/compliance-js/omid-validation-verification-script-v1.js\"")
buildConfigField("String", "VERIFICATION_PARAMETERS", "\"http://omid-android-reference-app/sendMessage?msg=\"")
buildConfigField("String", "HTML_DISPLAY_AD", "\"https://omsdk-files.s3-us-west-2.amazonaws.com/creatives/html_display_creative.html\"")
buildConfigField("String", "HTML_VIDEO_AD", "\"https://omsdk-files.s3-us-west-2.amazonaws.com/creatives/html_video_creative.html\"")
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
defaults {
}
instrumentationTest {
buildConfigField("String", "VERIFICATION_URL", "\"https://omsdk-files.s3-us-west-2.amazonaws.com/fullstack/fullstack-verification-script.js\"")
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildToolsVersion '32.0.0'
}
dependencies {
implementation fileTree(include: ['*.aar'], dir: '../')
implementation 'com.google.android.exoplayer:exoplayer:2.10.5', {
exclude group: 'com.android.support'
}
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'commons-io:commons-io:2.4'
implementation 'io.reactivex:rxandroid:1.2.1'
implementation 'io.reactivex:rxjava:1.3.8'
implementation 'org.apache.commons:commons-lang3:3.6'
implementation 'com.facebook.stetho:stetho:1.5.0'
implementation 'com.facebook.stetho:stetho-okhttp3:1.5.0'
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'
testImplementation 'junit:junit:4.12'
androidTestImplementation('androidx.test.espresso:espresso-core:3.1.0', {
exclude group: 'com.android.support', module: 'support-annotations'
})
androidTestImplementation 'androidx.annotation:annotation:1.3.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test:rules:1.4.0'
androidTestImplementation 'org.mockito:mockito-android:4.3.1'
androidTestImplementation 'com.azimolabs.conditionwatcher:conditionwatcher:0.2'
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
}
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xlint:deprecation"
}
task downloadOMSDKJS(type:Exec) {
if (!file('./src/main/res/raw/omsdk_v1.js').exists()) {
workingDir '../'
commandLine 'sh', './scripts/download-omsdk-js.sh'
} else {
// We need a dummy execCommand here.
commandLine 'sh'
}
}
preBuild.dependsOn downloadOMSDKJS
我已经尝试了StackOverflow上的许多其他解决方案,但仍然没有取得任何进展。
请在评论中告诉我是否需要分享更多细节来解决这个问题。
您的库可能正在对活动定义“intent_filter”
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'
如果您的应用程序面向API 31,属性“exported”是必需的。
因此,由于该库的开发人员没有针对API 31,因此导出的标志对他来说不是强制性的。他构建它时没有导出属性。
所以你能做的,就是在你的清单上重新定义那个特定的类,来声明它是否被显式导出。例如:
<activity android:name="com.squareup.leakcanary.internal.DisplayLeakActivity"
android:exported="true"/>
请帮我解决这个错误,在我的项目中,同时尝试通过android Studio在移动设备上运行。 清单合并失败:当相应的组件定义了意向过滤器时,面向 Android 12 及更高版本的应用需要为 指定一个显式值。有关详细信息,请参阅 https://developer.android.com/guide/topics/manifest/activity-element#exported。
我已经检查了清单中的所有活动。xml文件中,所有活动都存在android:exported=“true”,但它始终显示此错误**清单合并失败:需要为元素显式指定android:exported 我的清单文件是 Gradle构建 等待早期响应
当我从升级到时,我收到了这个错误。 错误 清单合并失败:android:导出需要显式指定。当相应组件定义了意图过滤器时,面向Android 12及更高版本的应用需要为指定显式值。有关详细信息,请参阅https://developer.android.com/guide/topics/manifest/activity-element#exported。
当我将目标和编译SDK版本从30更改为31时,我得到一个错误。类似于这个问题,但没有答案。 错误:android:导出需要显式指定。针对Android 12及更高版本的应用程序需要指定一个显式值为时,相应的组件定义了一个意图过滤器。详见https://developer.android.com/guide/topics/manifest/activity-element#exported。 但是,
我在一个Jetpack Compose项目中遇到了这个错误。清单合并失败:需要为显式指定android:exported。当相应组件定义了意图过滤器时,针对Android 12及更高版本的应用程序需要为指定一个显式值。看见https://developer.android.com/guide/topics/manifest/activity-element#exported详情 这一切都始于我添加
我正在使用Firebase开发一个应用程序。我有个问题需要解决。当我运行应用程序时,它会显示在构建中。 Build.Grable