Подтвердить что ты не робот

Facebook Sdk Android Error Building

Я пытаюсь создать проект реагировать на основе и использовать action-native fbsdk.

Однако я получаю следующие ошибки:

/home/luiz/MYP/app/node_modules/react-native-fbsdk/android/build/intermediates/res/merged/release/values-v24/values-v24.xml:3: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.

/home/luiz/MYP/app/node_modules/react-native-fbsdk/android/build/intermediates/res/merged/release/values-v24/values-v24.xml:4: AAPT: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.

/home/luiz/MYP/app/node_modules/react-native-fbsdk/android/build/intermediates/res/merged/release/values-v24/values-v24.xml:3: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.

/home/luiz/MYP/app/node_modules/react-native-fbsdk/android/build/intermediates/res/merged/release/values-v24/values-v24.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Colored'.


:react-native-fbsdk:processReleaseResources FAILED

Моя текущая ОС - Linux Elementary 0.4.1 Loki x64.

Я использую [email protected] и, из-за этого, [email protected]

Я уже пробовал:

  • cd android && ./gradlew clean

  • удалить проект и повторно npm install it

  • и попробуйте в Android API 23 и 24.

4b9b3361

Ответ 1

После копания в gradle я придумал следующее решение.

Ключ должен исключить facebook-android-sdk, требуемый react-native-fbsdk, и вытащить желаемую (рабочую) версию на модуль facebook-android-sdk - желательно без изменения чего-либо в папке node_modules.

К счастью, gradle предлагает это.

// android/app/build.gradle

dependencies {
    compile(project(':react-native-fbsdk')){
      exclude(group: 'com.facebook.android', module: 'facebook-android-sdk')
    }
    compile "com.facebook.android:facebook-android-sdk:4.22.1"
}

Ответ 2

По-видимому, facebook обновил свой sdk вчера, и у последнего (4.23.0) sdk может быть ошибка или что-то еще.

Вы можете решить эту проблему, выбрав node_modules\react-native-fbsdk\android\build.gradle:

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

To:

compile('com.facebook.android:facebook-android-sdk:4.22.1')

Я не парень gradle, поэтому, если кто-то знает, как лучше форсировать версию из родительского gradle.build, прокомментируйте и я обновлю ответ.

** EDIT **

@Андреко удалось решить эту проблему без изменения node_modules. Вы можете прокрутить список до своего ответа или нажать здесь.

Кроме того, как сообщается @JuanJoseTugores, тянуть запрос в react-native-fbsdk, ожидая одобрения, поэтому вы можете проверить ход ошибок и получать уведомления, когда они будут устранены.

** Другое обновление **
Facebook закрыл bug, который был открыт для них по этой проблеме, заявив, что они исправили sdk. Итак, теперь все способы обхода можно удалить.

По-видимому, FB все еще не решил этого. Мы только что обновили до 0,14 и 0,48 фр. Фр.

Ответ 3

Я смог разрешить это без изменения файлов в node_modules/.... Я обновил нашу версию react-native-fbsdk до 0.6.0, а затем добавлю ее в наш файл приложения build.gradle для вывода facebook-android-sdk в версии 4.22.1:

project(':react-native-fbsdk') {
    configurations.all {
        resolutionStrategy {
            force 'com.facebook.android:facebook-android-sdk:4.22.1'
        }
    }
}

configurations.all {
    resolutionStrategy {
        force 'com.facebook.android:facebook-android-sdk:4.22.1'
        ...
    }
}

Изменить. Мы строим:

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.3"
    ...
}

Ответ 4

Я только что столкнулся с этой ошибкой. Во-первых, RN Facebook SDK v.0.6.0 работает только для react-native >= 0.44.0, поэтому вам нужно обновить свою зависимость в package.json до react-native: ^0.44.0. Затем перейдите в файл Android build.gradle и внесите следующие изменения: compileSdkVersion 25 и compile "com.android.support:appcompat-v7:25.0.0"

Ответ 5

Для тех, кто ищет, он работает, используя RN 0.42, который к настоящему времени является стабильным с стабильной версией. Возможно, вам понадобится Facebook SDK 4.18.0 "com.facebook.android:facebook-android-sdk:4.18.0", который был выпущен к тому времени, когда был выпущен [email protected], иначе вы можете столкнуться с проблемой: https://developers.facebook.com/bugs/1712442065726889/

Кроме того, если вы получаете тяжелые времена, чтобы заставить facebook sdk быть тем, что вам нужно, попробуйте это:

Android/приложение/build.gradle

...

dependencies {
    compile project(':react-native-fbsdk')
    compile project(':react-native-vector-icons')
    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.android:facebook-android-sdk:[4.18.0)"
}

Android/build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

project(':react-native-fbsdk') {
  configurations.all {
    resolutionStrategy {
      force 'com.facebook.android:facebook-android-sdk:4.18.0'
    }
  }
}

...

allprojects {
    repositories {
        ...
        configurations.all {
            resolutionStrategy {
              force 'com.facebook.android:facebook-android-sdk:4.18.0'
            }
        }
    }
}

Ответ 6

Как вы можете видеть здесь, появляются патчи,

https://github.com/facebook/react-native-fbsdk/pull/339 https://github.com/facebook/react-native-fbsdk/pull/338

тем временем, если вы используете response-native-fbsdk v0.5, вы могли бы сделать

yarn add [email protected]://github.com/tugorez/react-native-fbsdk

Я применил предложенные изменения, и это работает:), но, пожалуйста, помните, что я не буду поддерживать это и не буду обновлять его... как только вы сможете вернуться в официальную библиотеку.