Skip to content
This repository was archived by the owner on Feb 26, 2023. It is now read-only.
This repository was archived by the owner on Feb 26, 2023. It is now read-only.

Could not find AndroidManifest.xml file using generation folder #2034

Closed

Description

@iamMehedi

Android build fails with this error message:
Error:Could not find the AndroidManifest.xml file, using generation folder [.../app/build/generated/source/apt/debug])
The manifest file is actually located at:
.../app/build/intermediates/manifests/full/some_product_flavor/debug/AndroidManifest.xml

AndroidAnnotations version: 4.3.1

Android compile SDK version: 26

Here's the gradle file contents:

def AAVersion = '4.3.1'

buildscript {
    repositories {
        mavenCentral()
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
        maven { url "https://jitpack.io" }
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath 'io.fabric.tools:gradle:1.+'
        classpath 'me.tatarka:gradle-retrolambda:3.7.0'
    }
}

apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-perf'
apply plugin: 'realm-android'
apply plugin: 'me.tatarka.retrolambda'
apply plugin: 'io.fabric'

repositories {
    jcenter()
    mavenCentral()
    mavenLocal()
    
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
    maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' }
}
android {
    compileSdkVersion 26
    buildToolsVersion '26.0.1'
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    defaultConfig {
        applicationId "com.company.appId"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode XX
        versionName "X.X.X"

        renderscriptTargetApi 20
        renderscriptSupportModeEnabled true
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true

        jackOptions {
            enabled false
        }
    }

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            debuggable false
            signingConfig signingConfigs.XXX_Release

            ext.crashlyticsApiSecret = "apiSecret_release"
            ext.crashlyticsApiKey = "apiKey_release"
        }
        debug {
            debuggable true

            ext.crashlyticsApiSecret = "apiSecret_release"
            ext.crashlyticsApiKey = "apiKey_release"
        }
    }

    splits{
        abi {
            enable true
            reset()
            include 'armeabi', 'armeabi-v7a', 'arm64-v8a', 'mips', 'x86', 'x86_64'
            universalApk false
        }
    }
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }
}

android.applicationVariants.all { variant ->
    variant.variantData.variantConfiguration.javaCompileOptions.annotationProcessorOptions
            .arguments = ['resourcePackageName': android.defaultConfig.applicationId,
                          'androidManifestFile': variant.outputs[0]?.processResources?.manifestFile.absolutePath]
    println "manifest option: ${variant.outputs[0]?.processResources?.manifestFile.absolutePath}"
}

//region retroLambda utility
String getJavaVersion(Integer v) {
    def sout = new StringBuffer()
    def proc = "/usr/libexec/java_home -v 1.$v".execute()
    proc.consumeProcessOutput(sout, new StringBuffer())
    proc.waitForOrKill(1000)
    return sout.toString().replace("\n", "").replace("\r", "")
}

String java8 = getJavaVersion(8)
String java7 = getJavaVersion(7)

retrolambda {
    jvmArgs '-noverify'
    jdk java8
    oldJdk java7
    javaVersion JavaVersion.VERSION_1_7
}
//endregion

//region Fabric Utility
import com.crashlytics.tools.utils.PropertiesUtils

File crashlyticsProperties = new File("${project.projectDir.absolutePath}/fabric.properties")
android.applicationVariants.all { variant ->
    def variantSuffix = variant.name.capitalize()
    def generateResourcesTask = project.tasks.getByName("fabricGenerateResources${variantSuffix}")
    def generatePropertiesTask = task("fabricGenerateProperties${variantSuffix}") << {
        Properties properties = new Properties()
        println "...copying apiSecret for ${variant.name}"
        properties.put("apiSecret", variant.buildType.ext.crashlyticsApiSecret)
        println "...copying apiKey for ${variant.name}"
        properties.put("apiKey", variant.buildType.ext.crashlyticsApiKey)
        PropertiesUtils.injectPropertyInFile(crashlyticsProperties, properties, "")
    }

    generateResourcesTask.dependsOn generatePropertiesTask
}
//endregion

dependencies {
    String playServicesVersion = '11.0.4'
    String supportLibVersion = '26.0.0'

    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile "com.android.support:appcompat-v7:${supportLibVersion}"
    compile "com.android.support:cardview-v7:${supportLibVersion}"
    compile "com.android.support:recyclerview-v7:${supportLibVersion}"
    compile 'com.android.support:multidex:1.0.1'
    compile "com.android.support:design:${supportLibVersion}"
    compile "com.android.support:percent:${supportLibVersion}"

    //play services
    compile "com.google.android.gms:play-services-base:${playServicesVersion}"
    compile "com.google.android.gms:play-services-location:${playServicesVersion}"
    compile "com.google.android.gms:play-services-auth:${playServicesVersion}"

    compile "com.android.support:customtabs:${supportLibVersion}"

    //annotation
    annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
    compile "org.androidannotations:androidannotations-api:$AAVersion"

    //for dagger 2
    compile 'com.google.dagger:dagger:2.11'
    provided 'org.glassfish:javax.annotation:10.0-b28'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.11'
    compile 'com.google.dagger:dagger-android:2.11'
    // if you use the support libraries
    compile 'com.google.dagger:dagger-android-support:2.11'
    annotationProcessor 'com.google.dagger:dagger-android-processor:2.11'

    //firebase
    compile "com.google.firebase:firebase-core:${playServicesVersion}"
    compile "com.google.firebase:firebase-messaging:${playServicesVersion}"
    compile "com.google.firebase:firebase-config:${playServicesVersion}"
    compile "com.google.firebase:firebase-storage:${playServicesVersion}"
    compile "com.google.firebase:firebase-auth:${playServicesVersion}"
    compile "com.google.firebase:firebase-database:${playServicesVersion}"
    compile "com.google.firebase:firebase-perf:${playServicesVersion}"

     ...
    //billing
    compile 'com.anjlab.android.iab.v3:library:1.0.39'
}

gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
        options.compilerArgs << "-Xmaxerrs" << "200"
    }
}

apply plugin: 'com.google.gms.google-services'

Stacktrace in case of AA crash:

error: cannot find symbol for all annotation processor generated classes
...
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugJavaWithJavac'.
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:84)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55)
	at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
	at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
	at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
	at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:46)
	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
	at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:236)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:228)
	at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:228)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:215)
	at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:77)
	at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:58)
	at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:32)
	at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:113)
	at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
	at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
	at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
	at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
	at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
	at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
	at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
	at org.gradle.initialization.DefaultGradleLauncher$3.execute(DefaultGradleLauncher.java:196)
	at org.gradle.initialization.DefaultGradleLauncher$3.execute(DefaultGradleLauncher.java:193)
	at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56)
	at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:193)
	at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:119)
	at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:102)
	at org.gradle.launcher.exec.GradleBuildController.run(GradleBuildController.java:71)
	at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:50)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.tooling.internal.provider.runner.RunAsBuildOperationBuildActionRunner$1.execute(RunAsBuildOperationBuildActionRunner.java:43)
	at org.gradle.tooling.internal.provider.runner.RunAsBuildOperationBuildActionRunner$1.execute(RunAsBuildOperationBuildActionRunner.java:40)
	at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
	at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56)
	at org.gradle.tooling.internal.provider.runner.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)
	at org.gradle.tooling.internal.provider.runner.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:75)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:49)
	at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:44)
	at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:29)
	at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:47)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
	at org.gradle.util.Swapper.swap(Swapper.java:38)
	at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
	at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
	at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
	at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
	at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
	at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: org.gradle.api.internal.tasks.compile.CompilationFailedException: Compilation failed; see the compiler error output for details.
	at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:48)
	at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:33)
	at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:104)
	at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:53)
	at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
	at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:35)
	at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:25)
	at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:206)
	at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:187)
	at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:130)
	at com.android.build.gradle.tasks.factory.AndroidJavaCompile.compile(AndroidJavaCompile.java:49)
	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
	at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:163)
	at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
	at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:123)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:95)
	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:76)
	... 78 more

Activity

  1. iamMehedi commented on Aug 3, 2017

    @iamMehedi
    Author

    for my case the same setup is working if I use the android-apt (com.neenbedankt.gradle.plugins:android-apt:1.8) plugin with the following arguments

    apt {
        arguments {
            androidManifestFile variant.outputs[0]?.processResources?.manifestFile
            resourcePackageName android.defaultConfig.applicationId
        }
    }
  2. WonderCsabo commented on Aug 3, 2017

    @WonderCsabo
    Member

    We should aim to 26.x, however i think if you have flavors, the two are the same. If you do not have flavors, the current solution already works for 25.x.

  3. dodgex commented on Aug 3, 2017

    @dodgex
    Member

    I'll see what i can do.

    I think i need to check the following, or am i missing a case?

    Processor Flavor Split Description
    APT ✖️ ✖️ no flavor or split
    APT ✖️ ✔️ no flavor but split
    APT ✔️ ✖️ flavor but no split
    APT ✔️ ✔️ flavor and split
    KAPT ✖️ ✖️ no flavor or split
    KAPT ✖️ ✔️ no flavor but split
    KAPT ✔️ ✖️ flavor but no split
    KAPT ✔️ ✔️ flavor and split
  4. WonderCsabo commented on Aug 3, 2017

    @WonderCsabo
    Member

    I think this covers everything. Nice table! :)

  5. dodgex commented on Aug 3, 2017

    @dodgex
    Member

    @WonderCsabo although I don't what to get an answer... this is yet again a situation that makes me think of having some extra test cases. not only the compile and functional test we have right now but also something like a multi module gradle project that test like the latest release and maybe support for upcoming majors like the 3.0 alphas. and there we could have small sample projects using these diffrent setups. this way we can (more or less) early detect issues with new versions or regressions with old versions.

  6. salacr commented on Aug 15, 2017

    @salacr

    Hi,
    I have same issue if I can somehow assist please let me know.
    Thanks

  7. rafagcamargo commented on Oct 27, 2017

    @rafagcamargo

    Hello guys!

    I'm having the exactly same problem using version 4.3.1:

    androidannotations.log:

    18:16:39.567 [Task worker for ':' Thread 3] ERROR o.a.i.h.AndroidManifestFinder:147 - Could not find the AndroidManifest.xml file, using  generation folder [/Users/rgonzagacamargo/Developer/git/mobile-android/appName/build/generated/source/apt/dev/debug])
    18:17:27.871 [Task worker for ':'] ERROR o.a.i.h.AndroidManifestFinder:147 - Could not find the AndroidManifest.xml file, using  generation folder [/Users/rgonzagacamargo/Developer/git/mobile-android/appName/build/generated/source/apt/dev/debug])
    

    Here's my configuration:

    classpath 'com.android.tools.build:gradle:3.0.0'

    android {
        compileSdkVersion 25
        buildToolsVersion '26.0.2'
    
        defaultConfig {
            applicationId project.appPackage
    
            minSdkVersion 19
            targetSdkVersion 25
    
            multiDexEnabled true // Enabling multidex support.
    
        }
    
        splits {
            // Configures screen ABI split settings
            abi {
                // Enable ABI APK splits
                enable true
    
                // By default all ABIs are included, so use reset() and include to specify that we only
                // want APKs for x86, armeabi-v7a, and mips
    
                // Resets the list of ABIs that Gradle should create APKs for to none
                reset()
    
                // Specifies a list of ABIs that Gradle should create APKs for
                include "arm64-v8a", "armeabi-v7a"
    
                // Specify that we want to also generate a universal APK that includes all ABIs
                universalApk true
            }
        }
    }
    

    Is there any update related to this issue?

    Thank you!

  8. self-assigned this
    on Oct 28, 2017
  9. dodgex commented on Oct 29, 2017

    @dodgex
    Member

    I just invested some time to review the issue related to splits. unfortunately we have no indication if we have a build with split.

    While we could find a related AndroidManifest.xml I'm not sure if we can ensure to pick the correct one...

    Not sure what might be the best practice to solve that.

  10. WonderCsabo commented on Oct 30, 2017

    @WonderCsabo
    Member

    @dodgex we could just use the AndroidManifest.xml of a random split (inside the variant). I think the manifests between split does not really differ. WDYT?

  11. dodgex commented on Oct 30, 2017

    @dodgex
    Member

    I have no idea,.. I had the same thought about picking a random one, but i think it is possible to have custom code and manifest per split. e.g on x86 there might is a special config for the awesome x86 native lib used... not sure.

    But i think this would be our best bet. as i have not found a way to get on the current split mode from the annotation processor.

  12. WonderCsabo commented on Oct 30, 2017

    @WonderCsabo
    Member

    Okay, lets stay with the random one for now.

  13. rafagcamargo commented on Oct 30, 2017

    @rafagcamargo

    Thank you guys! Our app currently does not have specific AndroidManifest.xml file per architecture, random file would fix the current problem.

  14. Waxhaw commented on Jul 10, 2018

    @Waxhaw

    This issue resurfaces in the latest Android Studio build.

    Android Studio 3.3 Canary 2
    Build #AI-181.5281.24.33.4869471, built on June 29, 2018
    JRE: 1.8.0_152-release-1136-b04 x86_64
    JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
    macOS 10.13.5

    error: Could not find the AndroidManifest.xml file, using generation folder [/Users/ed/sl-android/app/build/generated/source/apt/debug])

    Having to go down this path for Material Design artifacts that I need. Jumped off the cliff of 'JetPack' and it appears my JetPack isn't starting... sigh

  15. mortenholmgaard commented on Sep 25, 2018

    @mortenholmgaard

    I also get this error now when I upgraded to use the new gradle version 4.6 and build tools 3.2.0
    When I change back to gradle 4.4 and build tools 3.1.4 the problem is gone! @dodgex

    I have multiple flavors and this kapt configuration:

    kapt {
        arguments {
            arg("resourcePackageName", android.defaultConfig.applicationId)
        }
    }
    
  16. WonderCsabo commented on Sep 25, 2018

    @WonderCsabo
    Member

    The Android Gradle Plugin version 3.2.0 changed the manifest location again. We already fix that, you should try the SNAPSHOT release.

  17. rafagcamargo commented on Sep 26, 2018

    @rafagcamargo

    @WonderCsabo is there any plan to release 4.5 version? Thank you.

  18. mihaiAdascalitei commented on Sep 27, 2018

    @mihaiAdascalitei

    I had the same problem today and after reading the documentation I found that you can set the default manifest path. I solved it by adding into buld.gradle(Module:app) into defaultConfig{..}

    javaCompileOptions { annotationProcessorOptions { arguments = ["androidManifestFile": "D:\\Projects\\Android-Project\\app\\src\\main\\AndroidManifest.xml"] //add your path to AndroidManifest.xml } }

  19. luisfernandezbr commented on Oct 4, 2018

    @luisfernandezbr

    @mihaiAdascalitei
    Thanks for your solution. A little bit improvement.

    javaCompileOptions {
        annotationProcessorOptions {
            arguments = [
                "androidManifestFile": "$projectDir/src/main/AndroidManifest.xml".toString()
            ]
        }
    }
    
    Thanks @willPasco
    
  20. juarezfranco commented on Oct 5, 2018

    @juarezfranco

    @mihaiAdascalitei
    Thanks for your solution. That works for me.

  21. krischik commented on Sep 3, 2019

    @krischik

    @luisfernandezbr which parent tag does the javaCompileOptions go into?

  22. krischik commented on Sep 3, 2019

    @krischik

    Found it:

    android {
       …
       defaultConfig {
          …
          javaCompileOptions {
             annotationProcessorOptions {
                arguments = [
                    "androidManifestFile": "$projectDir/src/main/AndroidManifest.xml".toString()
                ]
             } // annotationProcessorOptions
          } // javaCompileOptions
       } // defaultConfig
       …
    } // android 
    
  23. dodgex commented on Sep 3, 2019

    @dodgex
    Member

    @krischik if you are using AndroidStudio 3.5 and getting manifest not found, test the 4.7.0-SNAPSHOT of AA. it contains an updated version of the AndroidManifestFinder that works with AS3.5

  24. mihaiAdascalitei commented on Sep 3, 2019

    @mihaiAdascalitei

    @krischik the way of doing it was already described in my response above :) #2034 (comment)

  25. krischik commented on Sep 25, 2019

    @krischik

    @krischik the way of doing it was already described in my response

    No it wasn't. Your response was incomplete. It was missing:

    android {
       …
       defaultConfig {
    

    You response was a typical power user response. Missing important context informations because you thought “everybody” would know the correct place to put the code snippet.

  26. mihaiAdascalitei commented on Sep 25, 2019

    @mihaiAdascalitei

    @krischik the only problem is that you don't understand how to properly read a response nor appreciate the fact that is offered to you. It's clearly explained where to put it " I solved it by adding into buld.gradle(Module:app) into defaultConfig{..}". More of it, it's nice that everybody else managed to understand it :).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions