找不到com.android.support:appcompat-v7:25.3.1

试图构build时,我突然开始出现这个错误。 这几个星期前都在工作,没有我所知道的变化。 这个问题似乎与react-native-fbsdk ,但是通过build.gradle查看,它没有列出support.appcompat-v7.25.x 。 有什么build议?

 A problem occurred configuring project ':app'. > A problem occurred configuring project ':react-native-fbsdk'. > Could not resolve all dependencies for configuration ':react-native-fbsdk:_debugCompile'. > Could not find com.android.support:appcompat-v7:25.3.1. Searched in the following locations: file:/Users/a/.m2/repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.pom file:/Users/a/.m2/repository/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.jar https://jcenter.bintray.com/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.pom https://jcenter.bintray.com/com/android/support/appcompat-v7/25.3.1/appcompat-v7-25.3.1.jar 

的build.gradle

 apply plugin: "com.android.application" apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle" import com.android.build.OutputFile apply from: "../../node_modules/react-native/react.gradle" apply from: "../../node_modules/react-native-code-push/android/codepush.gradle" def enableSeparateBuildPerCPUArchitecture = false def enableProguardInReleaseBuilds = false android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "___" minSdkVersion 16 targetSdkVersion 23 versionCode 22 versionName "1.5.0" ndk { abiFilters "armeabi-v7a", "x86" } manifestPlaceholders = [manifestApplicationId: "___", onesignal_app_id: "___", onesignal_google_project_number: "___"] multiDexEnabled true renderscriptTargetApi 19 renderscriptSupportModeEnabled true } signingConfigs { release { storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD } } splits { abi { reset() enable enableSeparateBuildPerCPUArchitecture universalApk false // If true, also generate a universal APK include "armeabi-v7a", "x86" } } buildTypes { release { minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" signingConfig signingConfigs.release } } applicationVariants.all { variant -> variant.outputs.each { output -> // For each separate APK per architecture, set a unique version code as described here: // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits def versionCodes = ["armeabi-v7a":1, "x86":2] def abi = output.getFilter(OutputFile.ABI) if (abi != null) { // null for the universal-debug, universal-release variants output.versionCodeOverride = versionCodes.get(abi) * 1048576 + defaultConfig.versionCode } } } } dependencies { compile project(':react-native-device-info') compile project(':react-native-code-push') compile project(':react-native-image-crop-picker') compile project(':react-native-image-picker') compile project(':react-native-fs') compile project(':react-native-vector-icons') compile project(':react-native-material-kit') compile project(':react-native-config') compile project(':react-native-onesignal') compile project(':react-native-push-notification') compile project(':react-native-android-permissions') compile project(':react-native-android-keyboard-adjust') compile project(':react-native-fbsdk') compile (project(':react-native-fbads')) { exclude group: 'com.google.android.gms' } compile 'com.facebook.android:audience-network-sdk:4.18.+' compile 'com.google.ads.mediation:facebook:4.18.+' compile 'com.google.firebase:firebase-core:10.2.0' compile 'com.google.firebase:firebase-crash:10.2.0' compile 'com.google.firebase:firebase-ads:10.2.0' compile project(':react-native-billing') compile project(':react-native-blur') compile project(':instabug-reactnative') compile project(':mobile-center-analytics') compile project(':mobile-center-crashes') compile (project(':react-native-appodeal')) { exclude group: 'com.facebook.ads' exclude (group: 'javax.inject', module: 'javax.inject') } compile project(':cheetah') 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.facebook.fresco:animated-gif:0.12.0" compile "com.android.support:multidex:1.0.1" } task copyDownloadableDepsToLibs(type: Copy) { from configurations.compile into 'libs' } apply plugin: 'com.google.gms.google-services' 

Solutions Collecting From Web of "找不到com.android.support:appcompat-v7:25.3.1"

我的情况是这是react-native-fbsdk build.gradle( https://github.com/facebook/react-native-fbsdk/blob/master/android/build.gradle ):

 apply plugin: 'com.android.library' android { compileSdkVersion 23 buildToolsVersion "23.0.1" defaultConfig { minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.0' compile 'com.facebook.react:react-native:+' // support react-native-v0.22-rc+ compile('com.facebook.android:facebook-android-sdk:4.+') } 

我正在使用React Native 0.37,所以这是为我打破的界限:

 compile('com.facebook.android:facebook-android-sdk:4.+') 

为了兼容性必须改变这个:

 compile('com.facebook.android:facebook-android-sdk:4.18.+') 

我有一个相同的问题( appcompat-v7:25.3.1 ),在一个android项目,但不使用反应。

我第一次尝试清理gradlecaching(〜/ .gradle / caches),就像这里解释的那样,但是没有帮助。

然后我看了一下SDK Manager。
Android支持库通常通过sdkmanager进行安装。 然后将这些库存储在本地的maven仓库中: <SDK_HOME>/sdk/extras/android/m2repository/

例如,对于appcompat-v7 ,安装的版本列表位于<SDK_HOME>/sdk/extras/android/m2repository/com/android/support/appcompat-v7/maven-metadata.xml
所以,对于Android Support Repository(版本:47.0.0) ,最后一个版本通常是25.3.1

要解决我的问题,我必须通过SDKpipe理器卸载 Android支持信息库,然后重新安装

我还发现另一种获取支持库的方法:远程。 在阅读这里之后( https://developer.android.com/topic/libraries/support-library/setup.html#add-library )并像这样修改<PROJECT_ROOT>/build.gradle

 allprojects { repositories { jcenter() maven { url "https://maven.google.com" } } } 

然后我尝试使用更新版本的appcompat-v7:25.4.0 ,它不在我的本地maven仓库中,而且工作正常!
这个Google Maven存储库版本的列表可以在这里看到: https : //dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/maven-metadata.xml 。

为此,请尝试以下选项之一:

1.更新您的SDK manager >转到生成菜单> clean project >然后生成build project

要么

2.右键点击项目文件夹>打开module setting > librarries >添加com.android.support:appcompat-v7:25.3.1 > sync项目

3.点击file菜单>打开project structure >然后文件libraries

为了解决这个问题:

  1. 打开package.json并编辑反应版本到:

    "react": "16.0.0-alpha.3", "react-native": "0.43.1",

  2. 删除node_modules目录

  3. 然后用命令npm install重新安装npm

  4. 另外:如果你得到一个app:compileDebugJava错误,运行react-native upgrade

(从这个github页面得到解决scheme,它为我工作)

由于gradle不支持在每个人为因素的基础上声明存储库。

我修改了我的build.gradle(而不是app / build.gradle),强制所有的依赖性反应 – 原生特定版本:

 allprojects { configurations.all { resolutionStrategy { eachDependency { DependencyResolveDetails details -> if (details.requested.group == 'com.facebook.react' && details.requested.name == 'react-native') { def file = new File("$rootDir/../node_modules/react-native/package.json") def version = new groovy.json.JsonSlurper().parseText(file.text).version details.useVersion version } } } } } 

这似乎是反应原生本身的一个问题。 这(尚)没有正式的解决办法,但有些人报告升级解决了他们的问题。 你可以在这里查看更多细节

更新1:嗨@roachman,这是我得到的确切的错误,指出我在上面search。 还有另外一张票据logging#14225相同(由于某种原因,不能张贴链接)。 我只是能够通过在build.gradle依赖关系行中包含确切版本的react-native版本来解决它compile "com.facebook.react:react-native:0.xx.y"而不是compile 'com.facebook.react:react-native:+'您可能想要尝试使用该设置的所有项目 ,或者用户david50407在#14223中提出的更优雅的设置

更新2这是正式固定现在看看https://github.com/facebook/react-native/issues/14225#issuecomment-305073392 (必须删除问题14223的早期链接,因为我不能超过2个链接)

如果您将react-native-fbsdk从0.5版本升级到0.6版本,并且遇到此问题,请在Android Studio中打开您的android项目( pathToYourApp/android ),并自动为您提供更新依赖关系。 现在它应该工作正常!