升级到Android Studio 3.0后,支持注释不存在

时间:2017-08-11 02:09:44

标签: android android-studio android-testing android-studio-3.0 gradle-android-test-plugi

将项目升级到AndroidStudio 3.0-beta1后,我的androidTest文件停止了编译。

找不到很多包,其中一些是:

  

错误:包android.support.annotation不存在
  错误:找不到符号类StringRes
  错误:无法访问AppCompatActivity
  未找到android.support.v7.app.AppCompatActivity的类文件

我已添加

androidTestCompile "com.android.support:support-annotations:25.3.1"

进入 build.gradle

但即便如此,我也发现了包的错误。我尝试从Android Studio和终端./gradlew connectedCheck

运行测试

5 个答案:

答案 0 :(得分:6)

只需将其添加到您的依赖项中

implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation "com.android.support:support-annotations:28.0.0"
annotationProcessor 'com.android.support:support-annotations:28.0.0'

答案 1 :(得分:2)

我遇到了同样的问题。问题不在于您升级了AndroidStudio,而是在更新SDK中的构建工具后,目标版本和编译版本低于26。

如此改变

android {
    compileSdkVersion 25

    defaultConfig {
        applicationId "bla.bla"
        minSdkVersion 21
        targetSdkVersion 25
    }
}

android {
    compileSdkVersion 26

    defaultConfig {
        applicationId "bla.bla"
        minSdkVersion 21
        targetSdkVersion 26
    }
}

解决了这个问题。

答案 2 :(得分:0)

我遇到了类似的错误,并通过添加对其进行了更正。

[HttpGet] public IActionResult EditEvent(int? id) { if (id == null) { return NotFound(); } else { var eventToEdit = _events.GetEvent(id.Value); return View(eventToEdit); } } [HttpPost] [ValidateAntiForgeryToken] public IActionResult EditEvent(Event postedEvent) { if (ModelState.IsValid) { if (postedEvent == null) { return NotFound(); } else { var eventToUpdate = _events.GetEvent(postedEvent.Id); eventToUpdate = _events.EditEvent(postedEvent, eventToUpdate); return RedirectToAction(nameof(EventDetails), new { id = eventToUpdate.Id }); } } else { return View(postedEvent); } }
在您的Android.mk文件夹中。

注意:这是直接更改二进制文件的位置,您必须单独运行.mk文件。 如果使用的是Android Studio,请选中Writing Android.mk file in Studio
我阅读了先前的答案,并希望提供一种不同的方法来纠正它,尽管这种方法较难。

答案 3 :(得分:0)

就我而言,它是在迁移到androidX之后发生的。 决定仅仅是:

转到* .java文件,并使用软件包注释字符串

 //import android.???

,然后重新导入androidX-ed版本。

再次构建项目,您就完成了。

答案 4 :(得分:0)

尝试一下:

import androidx.annotation.StringRes