【问题标题】:ActivityCompat error (Cannot resolve symbol)ActivityCompat 错误(无法解析符号)
【发布时间】:2016-12-04 18:57:01
【问题描述】:

在我的 react-native 应用程序中,我需要从用户那里获得位置许可,所以我在其中一个 Activity 类中添加了它...

public void onCreate() {
    ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
}

但是,ActivityCompatManifest 我都得到了 cannot resolve symbol error

经过一番研究,我发现您需要将以下内容添加到 gradle.build 文件 compile 'com.android.support:support-v4:23.0.0'

所以我就这么做了……

dependencies {
    compile project(':react-native-maps')
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules
    compile 'com.android.support:support-v4:23.0.0'
}

但我仍然遇到同样的错误。我试过clean 仍然没有。我也试过重启 Android Studio File > Invalidate Caches/Restart,还是报错。

如何修复这些错误?

【问题讨论】:

  • appcompat-v7 已经包含 support-v4。如果您使用 compileSdkVersion 23,请将支持库更新到 v23.4.0。

标签: android react-native


【解决方案1】:

在 gradle 文件中设置最新的 API 和构建级别:

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.1"

并使用

compile 'com.android.support:appcompat-v7:+'

在这里您可以使用其他方法: https://stackoverflow.com/a/32062974/1979882

【讨论】:

  • 好吧,它有点工作,但我收到一个错误Failed to find Build Tools revision 25.2.2...它说它不能下载
  • 这里只写Android SDK中最新的构建工具版本。
  • @Bolboa,试试 25.0.1
  • 1) 支持库的主版本必须与编译SDK版本相同。 2) 指定依赖版本时避免使用+。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-24
  • 2019-12-30
  • 1970-01-01
  • 1970-01-01
  • 2016-08-25
相关资源
最近更新 更多