AndroidStudio:无法解析符号' MainActivity'。使用AndroidAnnotations

时间:2015-10-30 14:10:31

标签: java android android-studio android-gradle android-annotations

我决定在Android Studio中使用AndroidAnnotations,我想通过Gradle实现它。但是我收到错误"无法解析符号' MainActivity _' less。 ..在Android XML文件中验证资源引用。"

我的版本:

  

targetSDKversion 22 + compileSdkVersion 22 + buildToolsVersion" 22.0.1"

但是当我配置 Android Studio(1.4.1)并修改了 AndroidManifest.XML 配置文件时,项目被提示出错了。没有我的预处理来自MainActivity - > MainActivity_的课程。

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

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >
    <activity android:name=".MainActivity_" >  //here
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

我想知道出了什么问题。

谢谢!!!

以下是 build.gradle(模块和项目)的一些代码。

修改

分享build.gradle

apply plugin: 'com.android.application'
apply plugin: 'android-apt'
def AAVersion = '3.3.2'
android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "com.dimon.org.androidannotation"
        minSdkVersion 19
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:22.2.1'
    apt "org.androidannotations:androidannotations:$AAVersion"
    compile "org.androidannotations:androidannotations-api:$AAVersion"
}
apt {
    arguments {
        androidManifestFile variant.outputs[0].processResources.manifestFile
        resourcePackageName 'com.dimon.org.androidannotation'
    }
}

EDIT2

Root build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

我认为这些 build.gradle 配置没有问题,但只是不知道为什么会出错。

非常感谢!!

我制作项目后,我的项目在MainActivity_目录中没有生成generated/source/apt/debug文件。为什么?

Table of Contents

我使用以下版本:

  • Android Studio 1.4.1
  • Gradle版本1.3.0
  • android-apt 1.4
  • AndroidAnnotations版本3.3.2
  

如果应该有解决方案,请告诉我!谢谢!

     

ADD:

     

我终于成功生成了MainActivity_文件。因为我的原始订单预编译错误导致无法生成。我实际上犯了一个简单的错误,真的是脑痉挛。感谢每一个回答的人,感谢你帮助我消除困惑,谢谢! !

1 个答案:

答案 0 :(得分:2)

使用此功能。

activity android:name="com.dimon.org.androidannotation.MainActivity_"

更好的方法

  1. 更改您的班级名称(重构)并设置MainActivity
  2. 然后

    • 重建项目
    • 清洁项目
    • 与Gradle文件同步
    • 关闭项目,关闭AS并重新启动/重新打开
    • 文件&gt;使缓存无效/重新启动