Android工作室要求我将gradle版本更新为4.4并将构建工具版本更新为3.1.2。 更新后,整个android工作室在文件中显示红线,当我将光标悬停在这些错误上时,它表示“无法解析符号”但编译没有错误,即构建成功。Click here to see red lines in java files
以下是gradle app和项目文件。
//Build.gradle(project)
//Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
maven {
url 'https://maven.fabric.io/public'
}
jcenter()
maven {
url 'https://maven.google.com/'
name 'Google'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath 'com.google.gms:google-services:3.2.0'
classpath 'io.fabric.tools:gradle:1.25.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven {
url 'https://maven.google.com/'
}
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
和
//build.gradle(module:app)
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "com.developers.paras.droidwatch"
minSdkVersion 19
targetSdkVersion 27
versionCode 9
versionName "9.0"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
shrinkResources true
android.defaultConfig.vectorDrawables.useSupportLibrary = true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:27.1.1'
compile 'com.android.support:customtabs:27.1.1'
compile 'com.android.support.constraint:constraint-layout:1.1.0'
compile 'com.android.support:design:27.1.1'
compile 'com.android.support:support-v4:27.1.1'
compile 'com.google.android.gms:play-services-ads:15.0.1'
compile 'com.google.firebase:firebase-core:15.0.2'
compile 'com.crashlytics.sdk.android:crashlytics:2.9.2'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'io.fabric'
我已经尝试过的事情。
在此处查看我的gradle日志https://drive.google.com/open?id=18bFZdkWX4AFPfpmfjvN1t80WpVRpiHWs
在这些错误发生后,即使是发布版本也会生成。 Release apk generated
更新:最近在重新安装Studio之后,我创建了一个新项目,一切正常。 “无法解析符号”没有错误。
答案 0 :(得分:0)
这不是世界上最优雅的解决方案,但删除和重新克隆项目是解决这个问题的最快方法。
如果您不使用git ......那么。现在是开始的好时机。
我尝试删除并重新同步所有各种配置文件,但它没有做任何事情。
答案 1 :(得分:0)
我遇到了类似的情况:将Gradle升级到4.4,然后打开了一个用Gradle 3.1.2构建的旧项目。
Android Studio注意到它并慷慨地提供:
要充分利用所有最新功能(例如即时运行),改进和安全修复程序,我们强烈建议您将Android Gradle插件更新至3.1.2版并将Gradle更新至4.4版。
当我选择更新时,我得到了红色下划线,显示MainActivity.java中的任何地方都有错误,但项目正在构建并完美运行。
我还尝试重建并使缓存无效;重启,但没有成功。
对我来说,编辑 build.gradle(module:app)文件有帮助。
当我将compileSdkVersion
和targetSdkVersion
修改为最新版本(27)并将依赖项下的行implementation 'com.android.support:appcompat-v7:2x.x.x'
的版本号更改为最新版本,然后重新生成时,红线突然从MainActivity中消失。 java,一切都变得正常了。
也许不是摆弄sdk版本号在这里很重要,而是强制进行适当的gradle重新同步。
另请注意,自Gradle 3.4起,在 build.gradle 文件中的依赖项下,一些配置字发生了变化:compile
,testCompile
,androidTestCompile
,{ {1}},testApi
已过时,应替换为androidTestApi
或implementation
。
您可以在此处找到有关此问题的更多信息:https://developer.android.com/studio/build/gradle-plugin-3-0-0-migration?utm_source=android-studio#new_configurations并正确解释在此处选择api
或implementation
之间的区别:https://medium.com/mindorks/implementation-vs-api-in-gradle-3-0-494c817a6fa