找不到 AndroidManifest.xml 文件,使用 Android 注释后的生成文件夹
Could not find the AndroidManifest.xml file, using generation folder after Android Annotations
在我的 class.
添加 @EActivity 注释后,我无法 运行 我的项目
这是我的 Gradle 项目:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是我的GradleModule:app
apply plugin: 'com.android.application'
def AAVersion = '4.2.0'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.tasks"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:support-annotations:28.0.0'
annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
implementation "org.androidannotations:androidannotations-api:$AAVersion"
}
在我的 Gradle 中添加 Android 注释后,我注意到我的 AndroidMannifest 没有自动修改(缺少 activity 中的 _) ,当我手动添加它时,它会以红色突出显示。
如果我 运行 项目正常(不修改 AndroidMannifest 或将 class 更改为注释)它将正常 运行。
如果我添加注释并修改清单,我将收到错误消息:
error: Could not find the AndroidManifest.xml file, using generation
folder
[C:\Users\Asusc\AndroidStudioProjects\Tasks\app\build\generated\source\apt\debug])
知道我做错了什么吗?
您应该更新到 AndroidAnnotations 4.6.0。此版本支持 Android Gradle 插件 3.3.+。
如果您使用 AndroidAnnotations 4.6.0 和 Android Gradle 插件 3.5.+,您可以降级 Android Gradle 插件版本到 3.4.1 修复。
classpath 'com.android.tools.build:gradle:3.4.1'
就我而言,将此添加到 build.gradle 修复了它:
android {
...
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = ["androidManifestFile": "$projectDir/src/main/AndroidManifest.xml".toString()]
}
}
}
}
在我的 class.
添加 @EActivity 注释后,我无法 运行 我的项目这是我的 Gradle 项目:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
这是我的GradleModule:app
apply plugin: 'com.android.application'
def AAVersion = '4.2.0'
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.tasks"
minSdkVersion 19
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:support-annotations:28.0.0'
annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
implementation "org.androidannotations:androidannotations-api:$AAVersion"
}
在我的 Gradle 中添加 Android 注释后,我注意到我的 AndroidMannifest 没有自动修改(缺少 activity 中的 _) ,当我手动添加它时,它会以红色突出显示。
如果我 运行 项目正常(不修改 AndroidMannifest 或将 class 更改为注释)它将正常 运行。
如果我添加注释并修改清单,我将收到错误消息:
error: Could not find the AndroidManifest.xml file, using generation folder [C:\Users\Asusc\AndroidStudioProjects\Tasks\app\build\generated\source\apt\debug])
知道我做错了什么吗?
您应该更新到 AndroidAnnotations 4.6.0。此版本支持 Android Gradle 插件 3.3.+。
如果您使用 AndroidAnnotations 4.6.0 和 Android Gradle 插件 3.5.+,您可以降级 Android Gradle 插件版本到 3.4.1 修复。
classpath 'com.android.tools.build:gradle:3.4.1'
就我而言,将此添加到 build.gradle 修复了它:
android {
...
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
arguments = ["androidManifestFile": "$projectDir/src/main/AndroidManifest.xml".toString()]
}
}
}
}