AndroidAnnotations + Android Studio - 找不到生成的 null.R 类

2024-02-16

我已经使用最新版本的 AndroidStudio 按照 wiki 说明设置了 ActiveAndroid。我正在使用产品口味。这是我的 gradle 构建文件:

apply plugin: 'android'
apply plugin: 'android-apt'

apt {
    arguments {
        androidManifestFile variant.processResources.manifestFile
        resourcePackageName android.defaultConfig.packageName
    }
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    productFlavors {
        a {
            packageName "com.a.a"
        }

        b {
            packageName "com.a.b"
        }

        c {
            packageName "com.a.c"
        }
    }
}

dependencies {
    apt "org.androidannotations:androidannotations:3.0+"
    compile "org.androidannotations:androidannotations-api:3.0+"
    compile 'com.android.support:support-v4:19.0.1'
    compile 'com.android.support:appcompat-v7:19.0.1'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

Gradle 构建文件,但是当我在设备上编译/调试时,我收到两个错误:

错误::找不到生成的null.R类

and

错误:任务“:ml:compileADebugJava”执行失败。

编译失败;有关详细信息,请参阅编译器错误输出。

我已经为我的构建文件尝试了多种设置,但终其一生都无法让它工作。另外,当我尝试更改 AndroidManifest 时:

android:name="com.a.a.MainActivity"

to

android:name="com.a.a.MainActivity_"

它指出找不到该类。

我正在使用最新版本的 Gradle 和最新版本的 ActiveAndroid。

任何帮助将非常感激。


我知道已经晚了,但它可能会对某人有所帮助。

当您修改 applicationId 时会发生这种情况。示例中提供的脚本假设您已声明“android.defaultConfig.applicationId”。在大多数情况下它是 null,因此它生成 null.R。您可以定义变量或将代码更改为以下内容:

defaultConfig {

    // Rest of Config

    javaCompileOptions {
            annotationProcessorOptions {
                arguments = ["resourcePackageName": "<Original Package Name>"]
            }
    }
}

请注意,原始包名称应与活动中 R 的位置相同。

希望能帮助到你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AndroidAnnotations + Android Studio - 找不到生成的 null.R 类 的相关文章

随机推荐