4

Я проверил несколько разных вопросов, но ни один из них не обеспечил решение, которое сработало для меня. Я разрабатываю проект с Android аннотаций, и когда я пытаюсь построить мой проект он не со следующей ошибкой (Project_Location просто моя локальная папка проекта):Android Аннотации не найдены AndroidManifest.xml

error: Could not find the AndroidManifest.xml file in specified path : [/Project_Location/mobile/build/intermediates/manifests/full/debug/AndroidManifest.xml]

Вот мой мобильный файл build.gradle:

apply plugin: 'com.android.application' 

ext.androidAnnotationsVersion = '3.3.2'; 
ext.eventBusVersion = '2.4.0'; 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4' 
    } 
} 

apply plugin: 'android-apt' 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    wearApp project(':wear') 
    compile 'com.android.support:appcompat-v7:23.1.1' 
    compile 'com.google.android.gms:play-services:8.3.0' 
    apt "org.androidannotations:androidannotations:${androidAnnotationsVersion}" 
    compile "org.androidannotations:androidannotations:${androidAnnotationsVersion}" 
    apt "de.greenrobot:eventbus:${eventBusVersion}" 
    compile "de.greenrobot:eventbus:${eventBusVersion}" 
} 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "com.dev.app_name" 
     minSdkVersion 16 
     targetSdkVersion 23 
     versionCode 1 
     versionName "0.3" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

configurations { 
    apt 
} 

apt { 
    arguments { 
     androidManifestFile variant.outputs.processResources.manifestFile 
     resourcePackageName 'com.dev' 
    } 
} 

android.applicationVariants.each { variant -> 
    aptOutput = file("${project.buildDir}/source/apt_generated/${variant.dirName}") 
    println "****************************" 
    println "variant: ${variant.name}" 
    println "manifest: ${variant.processResources.manifestFile}" 
    println "aptOutput: ${aptOutput}" 
    println "****************************" 

    variant.javaCompile.doFirst { 
     println "*** compile doFirst ${variant.name}" 
     aptOutput.mkdirs() 
     variant.javaCompile.options.compilerArgs += [ 
       '-processorpath', configurations.apt.getAsPath(), 
       '-AandroidManifestFile=' + variant.processResources.manifestFile, 
       '-s', aptOutput 
     ] 
    } 
} 

Если файл build.gradle выглядит беспорядочно, я попытался реализовать несколько решений уже без успеха. Поэтому, если есть избыточные заявления, которые можно удалить, не стесняйтесь также предлагать эти предложения. Прямо сейчас, я просто в тупике, почему он не может найти мой файл манифеста, который явно присутствует.

+0

Build -> Перестроить проект? – piotrek1543

+0

@ piotrek1543 Ошибка возникает при сборке проекта. –

+0

выберите чистый, затем перестройте - нужно ли их регенерировать – piotrek1543

ответ

4

Я установил свой сценарий сборки, который должен работать в отношении AndroidAnnotations:

apply plugin: 'com.android.application' 

ext.androidAnnotationsVersion = '3.3.2'; 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 
    } 
} 

apply plugin: 'com.neenbedankt.android-apt' 

dependencies { 
    apt "org.androidannotations:androidannotations:${androidAnnotationsVersion}" 
    compile "org.androidannotations:androidannotations-api:${androidAnnotationsVersion}" 
} 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.1" 

    defaultConfig { 
     applicationId "com.dev.app_name" 
     minSdkVersion 16 
     targetSdkVersion 23 
     versionCode 1 
     versionName "0.3" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

apt { 
    arguments { 
     androidManifestFile variant.outputs[0]?.processResources?.manifestFile 
     resourcePackageName "com.dev.app_name" // the same as package in the manifest 
    } 
} 
+0

Это предложение сработало! После нескольких небольших трюков здесь и там мой проект успешно строится. Спасибо, это сводило меня с ума. –

+0

apt плагин устарел с Android Studio? как вы его используете сейчас? – nAkhmedov

+0

Посмотрите wiki: https://github.com/androidannotations/androidannotations/wiki/Building-Project-Gradle – WonderCsabo

 Смежные вопросы

  • Нет связанных вопросов^_^