React Native:facebook-android-sdk 依赖构建错误
Posted
技术标签:
【中文标题】React Native:facebook-android-sdk 依赖构建错误【英文标题】:React Native: facebook-android-sdk dependency build error 【发布时间】:2018-07-19 19:01:56 【问题描述】:我正在运行 React Native v0.53.0
并安装了 npm react-native-fbsdk v0.7.0
但我无法构建我的项目。
我见过各种issues 和*** 问题,似乎问题在于同步正确的版本。但是,我几乎尝试了在线阅读的所有版本选项,但仍然出现构建错误。所以,我恢复了我的更改来发布这个问题。
感谢您的帮助!
android/app/build.gradle
apply plugin: "com.android.application"
import com.android.build.OutputFile
project.ext.react = [
entryFile: "index.js"
]
apply from: "../../node_modules/react-native/react.gradle"
/**
* Set this to true to create two separate APKs instead of one:
* - An APK that only works on ARM devices
* - An APK that only works on x86 devices
* The advantage is the size of the APK is reduced by about 4MB.
* Upload all the APKs to the Play Store and people will download
* the correct one based on the CPU architecture of their device.
*/
def enableSeparateBuildPerCPUArchitecture = false
/**
* Run Proguard to shrink the Java bytecode in release builds.
*/
def enableProguardInReleaseBuilds = false
android
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig
applicationId "com.upwork"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk
abiFilters "armeabi-v7a", "x86"
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"
// applicationVariants are e.g. debug, 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-fbsdk')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:23.0.1"
compile "com.facebook.react:react-native:+" // From node_modules
// Run this once to be able to run the application with BUCK
// puts all compile dependencies into folder libs for BUCK to use
task copyDownloadableDepsToLibs(type: Copy)
from configurations.compile
into 'libs'
android/build.gradle
buildscript
repositories
jcenter()
dependencies
classpath 'com.android.tools.build:gradle:2.2.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
allprojects
repositories
mavenLocal()
jcenter()
maven
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
react-native-fbsdk/android/build.gradle
apply plugin: 'com.android.library'
android
compileSdkVersion 26
buildToolsVersion "26.0.2"
defaultConfig
minSdkVersion 16
targetSdkVersion 26
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
dependencies
compile 'com.android.support:appcompat-v7:27.0.2'
compile 'com.facebook.react:react-native:+' // support react-native-v0.22-rc+
compile 'com.facebook.android:facebook-android-sdk:4.+'
repositories
mavenCentral()
jcenter()
maven
url 'https://maven.google.com/'
name 'Google'
堆栈跟踪
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugApkCopy'.
> Could not find com.android.support:appcompat-v7:27.0.2.
Searched in the following locations:
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/appcompat-v7/27.0.2/appcompat-v7-27.0.2.pom
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/appcompat-v7/27.0.2/appcompat-v7-27.0.2.jar
file:/Users/annagarcia/Desktop/projects/Upwork/android/sdk-manager/com/android/support/appcompat-v7/27.0.2/appcompat-v7-27.0.2.jar
Required by:
Upwork:app:unspecified
Upwork:app:unspecified > com.facebook.react:react-native:0.53.0
> Could not find com.android.support:appcompat-v7:27.0.2.
Searched in the following locations:
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/appcompat-v7/27.0.2/appcompat-v7-27.0.2.pom
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/appcompat-v7/27.0.2/appcompat-v7-27.0.2.jar
file:/Users/annagarcia/Desktop/projects/Upwork/android/sdk-manager/com/android/support/appcompat-v7/27.0.2/appcompat-v7-27.0.2.jar
Required by:
Upwork:app:unspecified > Upwork:react-native-fbsdk:unspecified
Upwork:app:unspecified > Upwork:react-native-fbsdk:unspecified > com.facebook.android:facebook-android-sdk:4.30.0 > com.facebook.android:facebook-common:4.30.0
Upwork:app:unspecified > Upwork:react-native-fbsdk:unspecified > com.facebook.android:facebook-android-sdk:4.30.0 > com.facebook.android:facebook-login:4.30.0
> Could not find com.android.support:support-annotations:27.0.2.
Searched in the following locations:
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/27.0.2/support-annotations-27.0.2.pom
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/27.0.2/support-annotations-27.0.2.jar
file:/Users/annagarcia/Desktop/projects/Upwork/android/sdk-manager/com/android/support/support-annotations/27.0.2/support-annotations-27.0.2.jar
Required by:
Upwork:app:unspecified > Upwork:react-native-fbsdk:unspecified > com.facebook.android:facebook-android-sdk:4.30.0 > com.facebook.android:facebook-core:4.30.0
> Could not find com.android.support:support-core-utils:27.0.2.
Searched in the following locations:
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/support-core-utils/27.0.2/support-core-utils-27.0.2.pom
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/support-core-utils/27.0.2/support-core-utils-27.0.2.jar
file:/Users/annagarcia/Desktop/projects/Upwork/android/sdk-manager/com/android/support/support-core-utils/27.0.2/support-core-utils-27.0.2.jar
Required by:
Upwork:app:unspecified > Upwork:react-native-fbsdk:unspecified > com.facebook.android:facebook-android-sdk:4.30.0 > com.facebook.android:facebook-core:4.30.0
> Could not find com.android.support:support-v4:27.0.2.
Searched in the following locations:
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/support-v4/27.0.2/support-v4-27.0.2.pom
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/support-v4/27.0.2/support-v4-27.0.2.jar
file:/Users/annagarcia/Desktop/projects/Upwork/android/sdk-manager/com/android/support/support-v4/27.0.2/support-v4-27.0.2.jar
Required by:
Upwork:app:unspecified > Upwork:react-native-fbsdk:unspecified > com.facebook.android:facebook-android-sdk:4.30.0 > com.facebook.android:facebook-common:4.30.0
> Could not find com.android.support:cardview-v7:27.0.2.
Searched in the following locations:
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/cardview-v7/27.0.2/cardview-v7-27.0.2.pom
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/cardview-v7/27.0.2/cardview-v7-27.0.2.jar
file:/Users/annagarcia/Desktop/projects/Upwork/android/sdk-manager/com/android/support/cardview-v7/27.0.2/cardview-v7-27.0.2.jar
Required by:
Upwork:app:unspecified > Upwork:react-native-fbsdk:unspecified > com.facebook.android:facebook-android-sdk:4.30.0 > com.facebook.android:facebook-common:4.30.0
> Could not find com.android.support:customtabs:27.0.2.
Searched in the following locations:
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/customtabs/27.0.2/customtabs-27.0.2.pom
file:/Users/annagarcia/Library/Android/sdk/extras/android/m2repository/com/android/support/customtabs/27.0.2/customtabs-27.0.2.jar
file:/Users/annagarcia/Desktop/projects/Upwork/android/sdk-manager/com/android/support/customtabs/27.0.2/customtabs-27.0.2.jar
Required by:
Upwork:app:unspecified > Upwork:react-native-fbsdk:unspecified > com.facebook.android:facebook-android-sdk:4.30.0 > com.facebook.android:facebook-common:4.30.0
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
【问题讨论】:
react-native-fbsdk error: No resource found that matches the given name: attr 'android:keyboardNavigationCluster'的可能重复 【参考方案1】:尝试将您的 gradle 版本升级到 26
android
compileSdkVersion 26
buildToolsVersion "26.0.1"
dependencies
compile project(':react-native-fbsdk')
compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:26.0.1"
compile "com.facebook.react:react-native:+"
【讨论】:
【参考方案2】:Android Studio 设置
-
转到Android Studio |新项目 |最低 SDK。
选择 API 15:Android 4.0.3 或更高版本并创建新项目。
创建新项目后,打开 your_app | build.gradle。
将以下内容添加到 build.gradle (Project) 文件的 buildscript repositories 部分:
mavenCentral()
将以下内容添加到 build.gradle (module: app) 文件的依赖项 部分以编译最新版本的 Facebook SDK:
实现 'com.facebook.android:facebook-android-sdk:[4,5)'
现在尝试重建您的项目。 我希望它会有所帮助。
【讨论】:
以上是关于React Native:facebook-android-sdk 依赖构建错误的主要内容,如果未能解决你的问题,请参考以下文章
react native 增加react-native-camera
更新 react-native-maps 以使用 create-react-native-app
react native 增加react-native-storage
React-Native 和 Expo:create-react-native-app 和 react-native init 之间的区别
什么是 react-native-cli 和 @react-native-community/cli?
React Native - 当 react-native 版本 > 0.55 时,无法通过 react-native-cli 创建新项目