Android studio 3:找不到AndroidManifest.xml文件

时间:2017-08-14 20:42:02

标签: android-studio android-gradle

迁移到Android Studio 3之后我无法编译,因为我有以下错误:

Error:Could not find the AndroidManifest.xml file, using  generation 
folder 
[/home/salacr/git/Evotech/app/build/generated/source/apt/debug])
Error:Parceler: Code generation did not complete successfully.  For 
more details add the compiler argument -AparcelerStacktrace
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.

它可能与android anotation的使用有关我的app / build.gradle看起来像这样:

apply plugin: 'com.android.application'
apply plugin: 'realm-android'

def AAVersion = '4.3.1'
def parcelerVersion = '1.1.9'

android {
    compileSdkVersion 26
    buildToolsVersion '26.0.1'

    defaultConfig {
        applicationId "com.my.app"
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }
    signingConfigs {
        release {
            storeFile file("******")
            storePassword "******"
            keyAlias "******"
            keyPassword "******"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
    }

    splits {
        abi {
            enable true // enable ABI split feature to create one APK per ABI
            universalApk true //generate an additional APK that targets all the ABIs
        }
    }
    /*
    // map for the version code
    project.ext.versionCodes = ['armeabi':1, 'armeabi-v7a':2, 'arm64-v8a':3, 'mips':5, 'mips64':6, 'x86':8, 'x86_64':9]

    android.applicationVariants.all { variant ->
        // assign different version code for each output
        variant.outputs.each { output ->
            output.versionCodeOverride =
                    project.ext.versionCodes.get(output.getFilter(com.android.build.OutputFile.ABI), 0) * 1000000 + android.defaultConfig.versionCode
        }
    }
    */

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

}

dependencies {

    implementation "org.parceler:parceler-api:$parcelerVersion"
    annotationProcessor "org.parceler:parceler:$parcelerVersion"
    annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
    implementation "org.androidannotations:androidannotations-api:$AAVersion"
    implementation 'com.android.support:appcompat-v7:26.0.1'
    implementation 'com.android.support:multidex:1.0.2'
}

我无法找到这个的根本原因,有什么建议吗? 我尝试了不同的graddle版本以及使用不同的buildToolsVersion工具,但没有效果。

有什么建议吗?

谢谢!

编辑1:我发现问题出现在这里:

splits {
    abi {
        enable true // enable ABI split feature to create one APK per ABI
        universalApk true //generate an additional APK that targets all the ABIs
    }
}

如果没有这一切,一切都按预期工作。 IT配置此配置与新Android工作室中的androidanotations不兼容

编辑2 :androidanotation中已经存在问题:https://github.com/androidannotations/androidannotations/issues/2034

4 个答案:

答案 0 :(得分:3)

当我将android注释版本从4.4.0更新到4.5.0时,我遇到了类似的问题并解决了问题。

答案 1 :(得分:2)

在build.gradle文件的 defaultConfig

下添加以下代码
   javaCompileOptions {
        annotationProcessorOptions {
            arguments = [
                    "androidManifestFile":"$projectDir/src/main/AndroidManifest.xml".toString()
            ]
        }
    }

答案 2 :(得分:0)

我解决了此问题,更改了渐变版本:

dependencies {
    classpath 'com.android.tools.build:gradle:3.1.4'

答案 3 :(得分:0)

当我将android注释版本从4.4.0更新到4.6.0时,我遇到了类似的问题并解决了问题。