很奇怪找不到symbo'@IntDef',但是AndroidStudio没有显示错误

问题描述 投票:0回答:1

my Android Studio screenshot

Android Studio构建失败并显示消息:找不到符号'@IntDef',但是IDE中显示的Java代码未显示错误,如您在链接中所看到的,该类已成功导入,我可以在“外部库”,也可以在使用gralew xxx --debug --stacktrace运行时在构建路径中找到它。

我正在将Google的Chrome项目迁移到Android Studio项目中,提交ID为'b4a3bf71d7762468ad6ecf2e1461ff2135473063'。混合了support.v4。*和androidx.annotation和androidx.browser的代码,我将gradle.properties修改为'android.useAndroidX = true'和'android.enableJetifier = false',以便Android Studio显示两个软件包均已成功导入,但由于出现“找不到符号”错误而无法构建。

而且,我已经编写了一个简单的演示来证明混合使用是可以的,但我对此表示怀疑。我还删除了源目录中所有可能的none-java文件,包括python-script,OWNERS,DEPS,一些aidl文件,但仍然出现相同的错误。我不知道为什么会有构建错误。

也许build.gradle文件可能导致此错误?

rootProject.ext.clsDefineChromiumFlavors(project)

sourceSets {
    main.java.srcDirs += 'src/deps/java'

    main.res.srcDirs += 'src/main/res_chromium'
    main.res.srcDirs += 'src/main/res_template'
    main.res.srcDirs += 'src/main/res_vr'

    abi_arm32 {
        java.srcDirs += 'flavor_src/abi_arm32/annotation_processor_output/java'
        java.srcDirs += 'flavor_src/abi_arm32/input_srcjars/java'
        java.srcDirs += 'flavor_src/abi_arm32/others/java'

        res.srcDirs += 'flavor_res/abi_arm32/chrome/res'
        res.srcDirs += 'flavor_res/abi_arm32/chrome/app/policy/res'
        res.srcDirs += 'flavor_res/abi_arm32/components/strings/res'
    }
    abi_arm64 {

    }
}

闭包定义在这里:

// closure: define chromium flavors
ext.clsDefineChromiumFlavors = { curProject ->
    if (curProject == null) {
        return
    }
    curProject.android.flavorDimensions 'default'
    curProject.android.productFlavors {
        abi_arm32 {}
        abi_arm64 {}
        all { flavor ->
            curProject.android.sourceSets[flavor.name].setRoot("flavor_src/${flavor.name}")
        }
    }
}
java android annotations chromium androidx
1个回答
0
投票

SuppressLint自从在API级别16中添加以来,因此您需要升级到API级别16。

© www.soinside.com 2019 - 2024. All rights reserved.