Gradle: การดำเนินการล้มเหลวสำหรับงาน ': processDebugManifest'


142

ฉันพบข้อผิดพลาดในการสร้างตั้งแต่เมื่อวาน - มันเพิ่งมาแบบสุ่ม ....

สแต็คเต็มรูปแบบที่นี่:

โครงการของฉันขึ้นอยู่กับห้องสมุดหลายแห่งและสร้างขึ้นโดยไม่มีปัญหาจนกระทั่งเมื่อวานนี้ (แม้จะเป็นห้องสมุด)

compile 'com.google.android.gms:play-services:3.1.36'
compile 'com.android.support:support-v4:13.0.0'
compile project(":libs:DatabaseCreationHelper")
compile project(":libs:actionbarsherlock")

ใครมีความคิดวิธีการแก้ไขหรือไม่ มันมาแบบสุ่ม ... เต็ม stacktrace ที่นี่:

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':ItchyFeet:processDebugManifest'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter$1.run(CacheLockReleasingTaskExecuter.java:35)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:179)
at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:232)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:142)
at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83)
at org.gradle.api.internal.changedetection.state.CacheLockReleasingTaskExecuter.execute(CacheLockReleasingTaskExecuter.java:33)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.ContextualisingTaskExecuter.execute(ContextualisingTaskExecuter.java:34)
at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter$1.run(CacheLockAcquiringTaskExecuter.java:39)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:124)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:112)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:134)
at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
at org.gradle.api.internal.changedetection.state.CacheLockAcquiringTaskExecuter.execute(CacheLockAcquiringTaskExecuter.java:37)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:282)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.executeTask(DefaultTaskPlanExecutor.java:48)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.processTask(DefaultTaskPlanExecutor.java:34)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:27)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:89)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
at org.gradle.api.internal.changedetection.state.TaskCacheLockHandlingBuildExecuter$1.run(TaskCacheLockHandlingBuildExecuter.java:31)
at org.gradle.internal.Factories$1.create(Factories.java:22)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:124)
at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:112)
at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:134)
at org.gradle.api.internal.changedetection.state.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79)
at org.gradle.api.internal.changedetection.state.TaskCacheLockHandlingBuildExecuter.execute(TaskCacheLockHandlingBuildExecuter.java:29)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)
at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)
at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:50)
at org.gradle.api.internal.Actions$RunnableActionAdapter.execute(Actions.java:171)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:201)
at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:174)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:170)
at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:139)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
at org.gradle.launcher.Main.doAction(Main.java:48)
at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
at org.gradle.launcher.Main.main(Main.java:39)
at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:50)
at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:32)
at org.gradle.launcher.GradleMain.main(GradleMain.java:26)
Caused by: java.lang.RuntimeException: Manifest merging failed. See console for more info.
at com.android.builder.AndroidBuilder.doMerge(AndroidBuilder.java:475)
at com.android.builder.AndroidBuilder.mergeLibraryManifests(AndroidBuilder.java:461)
at com.android.builder.AndroidBuilder.processManifest(AndroidBuilder.java:301)
at com.android.builder.AndroidBuilder$processManifest.call(Unknown Source)
at com.android.build.gradle.tasks.ProcessAppManifest.doFullTaskAction(ProcessAppManifest.groovy:65)
at com.android.build.gradle.internal.tasks.IncrementalTask.taskAction(IncrementalTask.groovy:71)
at org.gradle.api.internal.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:216)
at org.gradle.api.internal.BeanDynamicObject.invokeMethod(BeanDynamicObject.java:122)
at org.gradle.api.internal.CompositeDynamicObject.invokeMethod(CompositeDynamicObject.java:147)
at com.android.build.gradle.tasks.ProcessAppManifest_Decorated.invokeMethod(Unknown Source)
at org.gradle.util.ReflectionUtil.invoke(ReflectionUtil.groovy:23)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:217)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:210)
at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:199)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:526)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:509)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
... 67 more

คำตอบ:


133

พบวิธีแก้ปัญหานี้:

gradle assemble - ข้อมูลให้คำแนะนำแก่ฉันว่า Manifests มีรุ่น SDK ที่แตกต่างกันและไม่สามารถผสาน

ฉันต้องการแก้ไขไฟล์ Manifests และ build.gradle และทุกอย่างทำงานได้อีกครั้ง


เพื่อความชัดเจนคุณต้องแก้ไขuses-sdkในAndroidManifest.xml

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" />

และandroidส่วนโดยเฉพาะอย่างยิ่งminSdkVersionและtargetSdkVersionในไฟล์build.gradle

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 16
    }
}

1
ตรวจสอบให้แน่ใจว่าคุณแก้ไขไฟล์ gradle.build ในกรณีที่คุณใช้ Android Studio ค่าใน AndroidManifest.xml อยู่ในระหว่างการ build!
Diego Acosta

@Nakardo การเปลี่ยนแปลงค่าในbuild.gradleไม่แทนที่ค่าของฉันAndroidManifest.xmlเมื่อดำเนินการgradle assemble
Nimrod Dayan

1
@Nakardo build.gradle sdkVersionแทนที่การAndroidManifest.xmlอ้างอิงเอกสาร Android เสมอ: ค่า minSdkVersion นี้ไม่ได้ใช้ มันจะถูกแทนที่โดยค่าที่ระบุในสคริปต์การสร้าง Gradle ค่าของ (ตัวอย่าง) minSdkVersion จะใช้เฉพาะเมื่อไม่ได้ระบุไว้ในสคริปต์การสร้าง build.gradle เมื่อระบุในสคริปต์การสร้าง Gradle ค่ารายการจะถูกละเว้นและสามารถทำให้เข้าใจผิดดังนั้นควรลบออกเพื่อหลีกเลี่ยงความคลุมเครือ
Chad Bingham

@Lukas Olsen หาทางแก้ปัญหา รุ่น minsdk ของฉันคือ 19 แต่ในระดับที่มันเป็น 10 ยังไม่จำเป็นสำหรับ targetSDK ใน build.gradle แม้ว่าจะประกาศในรายการ น่าสนใจฉันเพิ่งอัปเดต android studio เป็น 2.1.1 และใช้งานได้ก่อนหน้านี้ แก้ไขปัญหาแล้ว
natur3

จากการติดตามข้อผิดพลาดกลับมาจริงเพราะฉันมีเมตาดาต้าแท็กที่ซ้ำกันดึง ID ของแอปพลิเคชันจาก strings.xml สำหรับใช้กับการแยกวิเคราะห์ ไม่มีข้อผิดพลาดในการแยกวิเคราะห์ แต่ข้อมูล meta ทำให้เกิดความผิดพลาดฉันไม่ได้เห็นรายละเอียดข้อผิดพลาดนี้จนกว่าฉันจะเปิดแท็บคอนโซล gradle ใน android studio v. 2.1.1
natur3

126

โดยทั่วไปแล้วเพื่อดูว่าเกิดข้อผิดพลาดอะไรคุณสามารถดูไฟล์ Manifest ที่ผสานในสตูดิโอ Android

ไปที่ไฟล์ Manifest ของคุณ

ป้อนคำอธิบายรูปภาพที่นี่

คลิกที่แท็บด้านล่าง "การผสานข้อความ"

ป้อนคำอธิบายรูปภาพที่นี่

บนหน้าจอด้านขวาใน "ไฟล์ Manifest อื่น ๆ " ให้ตรวจสอบข้อผิดพลาดใด ๆ เนื่องจากการขูด:

ป้อนคำอธิบายรูปภาพที่นี่


คุณช่วยชีวิตฉันไว้
Abhishek Pachal

34

ฉันหวังว่าโซลูชัน Lukas Olsen ใช้ได้กับสถานการณ์อื่น ๆ แต่ในกรณีของฉันแตกต่างกันมาก

ฉันประสบปัญหาเดียวกันในขณะที่เพิ่ม ActionBarShelock ให้กับโปรเจ็กต์โดยเปรียบเทียบกับไลบรารีเก่าที่ฉันพบว่าแท็กแอปพลิเคชันหายไปอย่างชัดแจ้ง เมื่อเพิ่มหนึ่งบรรทัดฉันจะแก้ไขปัญหาของฉัน

</application>

ครั้งแรกมันเป็น du ถึงรุ่น SDK แต่ตอนนี้มัน<application />หายไป คุณช่วยฉันขอบคุณ
Benjamin Toueg

นี่คือกรณีของฉันเช่นกัน!
cesards

@Ahmad อาลีนาซีร์ แต่ในกรณีของฉันฉันทำตาม Lukas โอลเซ่น แต่ไม่มีการเปลี่ยนแปลง u สามารถช่วยให้ผมครับ
มาโนจ

@Manoj แน่ใจ แต่โปรดแบ่งปันสคริปต์ build.grade ของคุณและบันทึกข้อผิดพลาดดังนั้นเราทุกคนสามารถเข้าใจได้ดีขึ้นถึงสิ่งที่คุณอาจทำผิด
Ahmad Ali Nasir

@ Ahmad Ali Nasir แน่ใจว่าฉันได้โพสต์คำถามที่นี่มีจำนวนมากที่stackoverflow.com/questions/27266042/…
Manoj

17

สิ่งนี้ดูเหมือนจะเกิดขึ้นเนื่องจาก Google Play Services ต้องการ Android 2.2 ซึ่งเป็น SDK เวอร์ชัน 8

ในbuild.gradleตรวจสอบให้แน่ใจ minSdkVersion 8ของคุณอย่างน้อย 7เริ่มต้นที่ดูเหมือนจะเป็น ดังนั้นคุณมีสิ่งนี้:

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 16
    }
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
    compile 'com.google.android.gms:play-services:3.1.36'
}

สิ่งนี้แก้ไขปัญหา Manifest ของฉัน แต่ตอนนี้ฉันได้รับ Gradle: ข้อผิดพลาด: ไม่สามารถหาสัญลักษณ์สำหรับตัวแปรสัญลักษณ์ใด ๆ ของฉัน เรื่องนี้เกิดขึ้นกับฉันหนึ่งครั้งก่อนเมื่อฉันมีข้อผิดพลาดในการรวบรวมและแก้ไข ฉันเริ่มได้รับปัญหาเหล่านี้ เบาะแสใด ๆ ที่จะแก้ไขได้อย่างไร
ด่าน

แก้ไขแล้วดูเหมือนว่า Gradle จะเพิ่มการนำเข้า android.R ในกิจกรรมหลักของฉัน ฉันลบบรรทัดและทุกอย่างเรียบร้อยดี
ด่าน

14

ฉันแก้ไขได้โดยใส่หนึ่งบรรทัดนี้ในแท็กแอปพลิเคชัน ...

เครื่องมือ: โหนด = "แทนที่"


นี่เป็นการแก้ไขปัญหาของฉัน ขอบคุณ! ฉันต้องเพิ่มมันภายใต้applicationแท็กในAndroidManifest.xml
Reaz Murshed

นั่นช่วยแก้ไขปัญหาของฉันหลังจากการค้นหา 30 นาที
Demon App Programmer

สำหรับฉันมันบอกว่า "เครื่องมือ" คำนำหน้าสำหรับแอตทริบิวต์ "เครื่องมือ: โหนด" ที่เกี่ยวข้องกับองค์ประกอบ "สมัครงาน" ประเภทองค์ประกอบจะไม่ถูกผูกไว้
Amritesh Anand

ไม่ทำงานสำหรับฉันมีข้อผิดพลาด: คำนำหน้า "เครื่องมือ" สำหรับแอตทริบิวต์ "เครื่องมือ: โหนด" ที่เกี่ยวข้องกับองค์ประกอบ "แอปพลิเคชัน" ประเภทองค์ประกอบจะไม่ถูกผูกไว้
Kapil soni

11

ฉันยังต้องเผชิญกับข้อผิดพลาดนี้เมื่อฉันเพิ่มการแจ้งเตือนแบบพุชจากฐานข้อมูลในแอปของฉัน แต่ในกรณีของฉันฉันทำผิดพลาดมากซึ่งฉันสังเกตเห็นหลังจากเวลา ฉันประกาศโค้ดด้านล่างอย่างชัดแจ้งสองครั้ง หลังจากลบประกาศที่ซ้ำกัน แก้ไขปัญหาของฉันแล้ว

        <service   android:name="com.evampsaanga.mytelenor.firebase.MyFirebaseInstanceIDService">
        <intent-filter>
            <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
        </intent-filter>
    </service>`

เพื่อให้คุณตรวจสอบว่ามีสิ่งใดที่ซ้ำกันในไฟล์รายการแอปของคุณหรือไม่


คำตอบที่ดีที่สุด .. !!
RUTURAJ Raval


5

หากคุณเพิ่มการพึ่งพาเช่น ActionBarSherlock by Gradle ให้
ตั้งtargetSdkVersion 17ขึ้นไปอย่างระมัดระวัง

ข้อความด้านล่างคือ--infoบันทึกเมื่อ ActionBarSherlock ไม่ตรงกันกับโครงการส่วนตัว

[C: \ Me \ Documents \ GitHub \ project \ AndroidManifest.xml: 3, C: \ Me \ Documents \ GitHub \ project \ build \ exploded-bundles \ ComActionbarsherlockActionbarsherlock440.aar \ AndroidManifest.xml: 2] รายการหลักมี แต่คลัง ใช้ targetSdkVersion = '17 '
: testApp: processDebugManifest FAILED

มันจะดีกว่าที่จะรักษาโครงการของตัวเองtargetSdkVersionให้เร็วที่สุด


ขอบคุณสำหรับผมก็ติดอยู่และมีการจัดการที่จะได้รับการแก้ไขปัญหาโดยใช้--info ./gradlew assemble --infoในกรณีของฉันฉันประกาศ gles เวอร์ชัน 2 ในรายการหลักของฉัน แต่ฉันไม่ได้อยู่ในโครงการห้องสมุด หากคุณไม่ได้ประกาศจะมีค่าเริ่มต้นเป็นเวอร์ชัน 1 และนั่นเป็นสาเหตุของข้อผิดพลาด (ความไม่เข้ากัน)
Orgmir

4

ฉันเจอปัญหาเดียวกันและสิ่งที่ฉันทำเพื่อแก้ไขคือการเพิ่ม

tools:replace="android:icon"

เพื่อองค์ประกอบที่ AndroidManifest เพื่อแทนที่


4

อาจเป็นการเพิ่มการอนุญาตที่ซ้ำกันในไฟล์รายการ ในกรณีของฉัน "ใช้งานการอนุญาต android: name =" android.permission.READ_PHONE_STATE "ซ้ำแล้วซ้ำอีก


3

สำหรับสิ่งที่ฉันเห็นถ้าคุณมีโครงการหลายโมดูลกับ Android Studio และ gradle, IDE พยายามที่จะรวมไฟล์รายการจากทุกโมดูลเป็นรายการหลัก

หากคุณมีโมดูล A และโมดูล B และในรายการ A คุณประกาศกิจกรรมบางอย่างจากโมดูล B การไล่ระดับสีจะทำให้เกิดปัญหาเมื่อรวมกัน

ลองลบการอ้างอิงข้ามโมดูลในไฟล์รายการ


ฉันแค่ต้องการเรียกใช้กรณีทดสอบฉันใช้ android studio ซึ่งฉันมีหลายโครงการ A & B ที่มีไลบรารี่ทั่วไปสำหรับทั้งสองที่ dosen't run ทำให้เกิดข้อผิดพลาด dexdebugTest ตาม "Lukas Olsen" แต่ไม่มีการเปลี่ยนแปลงใด ๆ ที่จะช่วยฉันได้
Manoj

@ Paolo M ฉันแค่ต้องการเรียกใช้กรณีทดสอบฉันใช้ android studio ซึ่งฉันมีหลายโครงการ A & B ที่มีไลบรารี่ทั่วไปสำหรับทั้งสองมันทำงานไม่ได้ทำให้ dexdebugTest ผิดพลาดตามด้วย "Lukas Olsen" แต่ไม่มีการเปลี่ยนแปลงใด ๆ ที่จะช่วยฉันได้
Manoj

3

ในกรณีของฉัน

ฉันกำหนดกิจกรรมสองครั้งในไฟล์ Manifest

 <application
  android:allowBackup="false"
  android:label="@string/app_name"
  >


      <activity
        android:name="com.xxx.ActivityOne"
        android:configChanges="orientation|screenSize"
        android:windowSoftInputMode="stateHidden|adjustResize" />

      //Problem here.. same activity twice define

      <activity
        android:name="com.xxx.ActivityOne"
        android:configChanges="orientation|screenSize"
        android:windowSoftInputMode="stateHidden|adjustResize" />

     </application>

หลังจากลบข้อผิดพลาดที่ซ้ำกันแก้ไขแล้ว


ดังนั้นประเด็นคือ <application> <activity> ต้องถูกกำหนดหนึ่งครั้งภายในหนึ่งแท็ก <manifest>
muhammad tayyab

@muhammadtayyab no .. ฉันกำหนดกิจกรรมเดียวกันสองครั้ง นั่นคือปัญหา. คุณสามารถกำหนดหมายเลข n <activity>
Ranjith Kumar

2

ฉันมีปัญหาเดียวกันและไม่มีคำตอบอื่นใดช่วย

ในกรณีของฉันความคิดเห็นในไฟล์รายการเป็นผู้ร้าย:

<manifest [...]
    android:installLocation="auto">
    <!-- change installLocation back to external after test -->

    <uses-sdk [...]

(นี่อาจเป็นข้อผิดพลาดโดยดูว่าความคิดเห็นในส่วนอื่น ๆ ของรายการไม่ก่อให้เกิดปัญหาใด ๆ )


2

ฉันเจอปัญหาที่คล้ายกันเมื่อฉันวิ่ง

cordova build android

ข้อผิดพลาดรายงานใด:

 /home/app/phonegap/helloworld/platforms/android/AndroidManifest.xml:15:5 Error:
uses-sdk:minSdkVersion 7 cannot be smaller than version 10 declared in library  /home/app/phonegap/helloworld/platforms/android/build/intermediates/exploded-aar/android/CordovaLib/unspecified/debug/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="org.apache.cordova" to force usage

: processDebugManifest ล้มเหลว

FAILURE: บิลด์ล้มเหลวโดยมีข้อยกเว้น

  • มีข้อผิดพลาดอะไร: การดำเนินการล้มเหลวสำหรับงาน ': processDebugManifest'

    การรวมกันอย่างชัดแจ้งล้มเหลว: uses-sdk: minSdkVersion 7 ไม่สามารถเล็กกว่ารุ่น 10 ที่ประกาศในไลบรารี่ / home / แอพ / phonegap / helloworld / แพลตฟอร์ม / android / build / intermediates / exploded-aar / android / CordovaLib / unspecified / debug / AndroidManifest คำแนะนำ xml: ใช้เครื่องมือ: overrideLibrary = "org.apache.cordova" เพื่อบังคับใช้

ในกรณีของฉัน

uses-sdk:minSdkVersion 7 cannot be smaller than version 10 declared

วิธีแก้ปัญหาข้างต้นไม่ทำงาน! แต่ฉันแก้ปัญหาพวกเขาโดยแทนที่

<preference name="android-minSdkVersion" value="7" />

เช่น

<preference name="android-minSdkVersion" value="10" />

ในสองไฟล์/home/app/phonegap/helloworld/config.xmlนี้/home/app/phonegap/helloworld/platforms/android/res/xml/config.xml


2

2 สิ่งที่คุณต้องเพิ่มใน AndroidManifest.xml:

วันที่: เพิ่ม xmlns: tools = "http://schemas.android.com/tools" ไปยังแท็กรายการ

<manifest xmlns:android=".........
   package="...........
   xmlns:tools="http://schemas.android.com/tools">

2nd: เพิ่มเครื่องมือ: แทนที่ = "ไอคอน" ลงในแท็กแอปพลิเคชัน

<application
       android:icon=.........
       android:label=.......
       tools:replace="icon">

1

ลองเปลี่ยน:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
...
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="16" />

ถึง:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">
...
<uses-sdk xmlns:tools="http://schemas.android.com/tools"
    android:minSdkVersion="14" android:targetSdkVersion="16" />

1

ถ้าคุณใช้ android studio คุณควรรัน android studio ผ่านcommand prompt (ใน windows) หรือ terminal (ใน UNIX base OS)เพื่อให้คุณสามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับข้อผิดพลาดนี้ในหน้าต่าง command prompt


คุณสามารถระบุตัวเลือกบรรทัดคำสั่ง gradle ใด ๆ จากกล่องโต้ตอบ Gradle Settings ที่เปิดขึ้นโดยการกดปุ่มสุดท้ายบนแท็บ Gradle ใน IDE ดังนั้นจึงไม่จำเป็นต้องเปลี่ยนไปใช้บรรทัดคำสั่ง อย่างไรก็ตามจำนวนอึที่เราต้องทนต่อการใช้เครื่องมือสร้างนี้ไม่น่าเชื่อจริงๆ
Giulio Piancastelli

1

พบวิธีแก้ไขปัญหาอื่นที่เป็นไปได้เมื่อพยายามอัปเดต Urban Airship ของฉันเป็นเวอร์ชันล่าสุด ในไฟล์ build.gradle ระดับบนสุดรหัสดูเหมือนว่า:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.2'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

ตามค่าเริ่มต้นตามที่สร้างโดย Android Studio ฉันเปลี่ยนเป็นรุ่น gradle ในภายหลังโดยแทนที่ด้วย:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.13.+'
    }
}

และหลังจากนั้นโครงการก็จะสร้าง


สิ่งนี้เป็นปัญหาของฉันด้วย! ฉันมีที่เก็บ {mavenCentral ()} ใน build.gradle การลบสิ่งนี้ช่วยแก้ปัญหาได้
David

1

ในกรณีของฉันมันเป็นเพราะการอนุญาตซ้ำในไฟล์ Manifest ของฉันและ minSDKVersion ของไลบรารีมากกว่า minSDKVersion ของโครงการของฉัน ฉันเพิ่งทำ minSDKVersion ที่เท่ากันและเรียบเรียงด้วยความสำเร็จ



1

ในกรณีของฉันฉันได้เขียนแท็กสองครั้ง นั่นเป็นความผิดพลาดเพียงอย่างเดียวของฉันมันคือก่อนหน้ารหัส

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>

    <uses-permission android:name="android.permission.RECORD_AUDIO"/>


<application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:networkSecurityConfig="@xml/react_native_config" />




<application application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:networkSecurityConfig="@xml/react_native_config" >

</application>

`

เพียงแค่ลบแท็กแอปพลิเคชันเพื่อแก้ไขปัญหาของฉัน

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>



    <application tools:targetApi="28" tools:ignore="GoogleAppIndexingWarning" android:networkSecurityConfig="@xml/react_native_config" />



</manifest>

คะแนนที่คุณควรมีเพียงหนึ่งแท็ก สามารถมีมากกว่าหนึ่งและ แต่หนึ่งแท็ก นั่นคือสิ่งที่ฉันรู้ในขณะนี้ :)


1

บางทีคุณอาจมีกิจกรรมที่ซ้ำซ้อน

แบบนี้:

<activity android:name=".register.RegisterStepsActivity" />

....

<activity android:name=".register.RegisterStepsActivity" />

เพียงแสดงความคิดเห็นหนึ่งในนั้น


1

ข้อผิดพลาดนี้อาจเป็นเพราะแอตทริบิวต์ว่างเปล่าในไฟล์รายการ

ตัวอย่าง:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:logo="@drawable/ic_actionbar"
    android:supportsRtl="true"
    android:fullBackupContent="">
...
</application>

fullBackupContentว่างเปล่าในตัวอย่างข้างต้น

เมื่อมันเปลี่ยนเป็นandroid:fullBackupContent="true"มันจะได้รับการแก้ไข


1

เพียงเพิ่มสองบรรทัดนี้ที่ "gradle.properties":

android.useAndroidX=true
android.enableJetifier=true

2
ไม่สามารถทำได้ฉันมีบรรทัดเหล่านั้นแล้วgradle.propertiesและไม่ได้รับข้อผิดพลาดนี้จนกว่าฉันจะพยายามเรียกใช้ในสภาพแวดล้อม Windows OS
Daniel

0

ฉันมีข้อผิดพลาดเหล่านี้เนื่องจากฉันไม่ได้ติดตั้ง SDK เวอร์ชันที่จำเป็น หลังจากดาวน์โหลดและติดตั้งเวอร์ชัน SDK ที่มีอยู่ในไฟล์ build.gradle / Android รายการจะได้รับการแก้ไข


0

ฉันพบปัญหาด้วยเหตุผลอื่น

ฉันกำลังสร้างแอพใน Android Studio และฉันมีโมดูลแอพและโมดูลอื่น โมดูลแอพขึ้นอยู่กับโมดูลอื่น

แต่ส่วนหนึ่งของbuild.gradleโมดูลแอพคือ:

<application
    android:allowBackup="false"
    android:label="@string/app_name"
    android:supportsRtl="true">

    ...

</application>

ในขณะที่ส่วนอื่น ๆ ของโมดูลbuild.gradleคือ:

<application
    android:allowBackup="true"
    android:label="Android Lua"
    android:supportsRtl="true">

</application>

ดังนั้นฉันเปลี่ยนbuild.gradleส่วนของโมดูลเป็น:

<application
    android:allowBackup="false"
    android:label="@string/app_name"
    android:supportsRtl="true">

</application>

แก้ไขปัญหา.



0

ในกรณีของฉันฉันได้เข้าไปในไฟล์ Manifest โครงสร้างแท็กที่ไม่ถูกต้องผมก็เป็นกิจกรรมที่เปิดปิด แต่ภายในมันที่มีแร่ซึ่งเลิกไฟล์ถูกต้องไปหามันมันต้องใช้เวลาค่อนข้างสองชั่วโมงรายงานข้อผิดพลาดที่ขาดหายไปactivities (...) / ไม่ทราบ<activity>


0
compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.1'

หากนี่คือการพึ่งพาที่คุณได้เพิ่มแล้วเปลี่ยนเป็น:

compile 'com.github.wenchaojiang:AndroidSwipeableCardStack:0.1.4'

และให้แน่ใจว่าtarget sdkไม่ควรจะน้อยกว่า15


0

ฉันแก้ไขปัญหานี้ใน Android Studio 3.5 โดยทำความสะอาดและสร้างโครงการใหม่

เพียงคลิกเพื่อสร้าง -> สร้างโครงการใหม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.