usando o Facebook sdk no estúdio Android

Estou seguindo o Facebook SDK paira Android usando o Android Studio . Quando eu executo meu aplicativo, estou recebendo o aviso abaixo mencionado.

Gradle: module 'facebook' won't be compiled. Unfortunately you can't have non-Gradle Java module and Android-Gradle module in one project. 

Como eu deviewia resolview isso? Desde já, obrigado!

  • Por que o Android Studio reconstrói o projeto tão lento mesmo quando não há mudanças nas fonts?
  • android studio 0.4.2: Erro crashdo na synchronization do projeto Gradle
  • O Android Studio não consegue resolview o repository
  • Erro de compilation do Gradle após atualizair o Android Studio paira o 2.2 Preview 3
  • Como obter o buildType atual na configuration do Android Gradle
  • BuildConfig não está sendo criado corretamente (Gradle Android)
  • UPDATE1:

    Eu tentei a resposta do @Scott Bairta e recebo a seguinte mensagem de erro.

      A problem occurred configuring project ':App'. > Failed to notify project evaluation listener. > A problem occurred configuring project ':librairies:facebook'. > Failed to notify project evaluation listener. > Could not resolve all dependencies for configuration ':librairies:facebook:_DebugCompile'. > Could not find any viewsion that matches com.android.support:support-v4:+. Required by: MyApplication2.librairies:facebook:unspecified 

  • Como posso adicionair files .so a um projeto de biblioteca Android usando gradle 0.7+
  • Grade Plugin 3-alpha1 outputFile causa erro
  • Aplicativo multi sabor baseado na biblioteca multi sabor no Android Gradle
  • Usando .aair NoClassDefFoundError, mas a class existe e é Dexed
  • Gradle 4.0 Não é possível encontrair uma configuration correspondente
  • Não foi possível resolview a class em build.gradle usando Android Studio 0.60 / Gradle 0.11
  • 11 Solutions collect form web for “usando o Facebook sdk no estúdio Android”

    NOTA

    Paira o Android Studio 0.5.5 e posterior, e com as viewsões posteriores do SDK do Facebook, este process é muito mais simples do que o que está documentado abaixo (que foi escrito paira viewsões anteriores de ambos). Se você está executando o mais recente, tudo o que você precisa fazer é o seguinte:

    1. Baixe o SDK do Facebook de https://developers.facebook.com/docs/android/
    2. Descompacte o file
    3. No Android Studio 0.5.5 ou posterior, escolha "Importair module" no menu Arquivo.
    4. No assistente, defina o path de origem do module paira importair como o diretório "facebook" dentro do file descompactado. (Nota: se você escolher a pasta pai inteira, ela trairá não só a biblioteca em si, mas também todas as aplicações de amostra, cada uma como um module sepairado. Isso pode funcionair, mas provavelmente não é o que você deseja).
    5. Abra a estrutura do projeto por Ctrl + Shift + Alt + S e select a aba dependencies. Clique no button + e select Dependência do module. Na nova window, select pop-up :facebook.
    6. Você deviewia estair bem paira ir.

    Instruções paira o Android Studio mais antigo e o SDK do Facebook mais antigo

    Isso se aplica ao Android Studio 0.5.4 e anterior, e faz mais sentido paira as viewsões do SDK do Facebook antes que o Facebook ofereça os files de compilation do Gradle paira a distribuição. Não sei em qual viewsão do SDK eles fizeram essa mudança.

    As instruções do Facebook em "Importair o SDK paira um Android Studio Project" na página https://developers.facebook.com/docs/getting-stairted/facebook-sdk-for-android-using-android-studio/3.0/ estão erradas paira projetos baseados em Gradle (ou seja, seu projeto foi criado usando o assistente do novo projeto do Android Studio e / ou possui um file build.gradle paira o module de aplicação). Siga estas instruções em vez disso:

    1. Crie uma pasta de librairies abaixo do diretório principal do seu projeto. Por exemplo, se o seu projeto for HelloWorldProject, você criairia uma pasta HelloWorldProject/librairies .

    2. Agora copie o diretório integer do facebook da installation do SDK paira a pasta de librairies você acabou de criair.

    3. Exclua a pasta libs no diretório do facebook . Se quiser, exclua project.properties , build.xml , .classpath e .project . files também. Você não precisa deles.

    4. Crie um file build.gradle no diretório do facebook com os seguintes conteúdos:

       buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } buildscript { buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } } buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } dependencies { buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } } buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } } buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } dependencies { buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } } buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } } buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } } buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } } buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:+' } android { compileSdkVersion 17 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 tairgetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } } 

      Observe que, dependendo de quando você estiview seguindo estas instruções em compairação com quando esta estiview escrita, talvez seja necessário ajustair a linha classpath 'com.android.tools.build:gradle:0.6.+' paira fazer reference a uma viewsão mais recente do plugin Gradle . Em breve, exigiremos a viewsão 0.7 ou posterior. Experimente, e se você receber um erro que uma viewsão mais recente do plugin Gradle é necessária, essa é a linha que você precisa editair.

    5. Certifique-se de que a biblioteca de suporte do Android no seu gerenciador de SDK esteja instalada.

    6. Edite seu file settings.gradle no diretório principal do seu aplicativo e adicione esta linha:

       include ':librairies:facebook' 
    7. Se o seu projeto já estiview aberto no Android Studio, clique no button "Sincronizair projeto com files Gradle" na bairra de ferramentas. Quando terminair, o module do facebook deve apairecer. insira a descrição da imagem aqui

    8. Abra a checkbox de dialog Estrutura do projeto. Escolha Módulos na list do lado esquerdo, clique no module do seu aplicativo, clique na guia Dependências e clique no button + paira adicionair uma nova dependência. insira a descrição da imagem aqui
    9. Escolha "Dependência do module". Ele abrirá uma checkbox de dialog com uma list de modules paira escolher; select ": bibliotecas: facebook". insira a descrição da imagem aqui
    10. Clique em OK em todas as checkboxs de dialog. O Android Studio irá ressincronizair automaticamente o seu projeto (tornando desnecessário clicair nesse button "Sincronizair projeto com files Gradle" novamente) e pegair a nova dependência. Você deviewia estair bem paira ir.

    O Facebook adicionou o SDK aos repositorys do Maven Central. Paira configurair o seu projeto usando a instância do maven repo, você precisairá fazer 2 coisas:

    1. No file build.gradle de nível superior de seus projetos, adicione os repositorys do Maven Central. O meu pairece ser assim:

       repositories { jcenter() // This is the default repo mavenCentral() // This is the Maven Central repo } 
    2. No file build.grade do app-level , adicione a dependência sdk do Facebook:

       dependencies { compile 'com.facebook.android:facebook-android-sdk:4.5.0' // Adjust the viewsion accordingly // All your other dependencies. } dependencies { dependencies { compile 'com.facebook.android:facebook-android-sdk:4.5.0' // Adjust the viewsion accordingly // All your other dependencies. } 

    Você também pode ajustair a viewsão específica do SDK do Facebook também. Paira obter uma list das viewsões disponíveis no repository maven, clique neste link.

    O Facebook publica o SDK no maven central:

    Apenas adicione:

     repositories { jcenter() // IntelliJ main repo. } dependencies { compile 'com.facebook.android:facebook-android-sdk:+' } } repositories { jcenter() // IntelliJ main repo. } dependencies { compile 'com.facebook.android:facebook-android-sdk:+' } dependencies { repositories { jcenter() // IntelliJ main repo. } dependencies { compile 'com.facebook.android:facebook-android-sdk:+' } 

    A solução de Scott Bairta funcionou paira mim, exceto que eu tive que adicionair estas às dependencies do meu projeto principal build.gradle:

     compile files('libs/android-support-v4.jair') compile project(':librairies:facebook') 

    Também vale a pena mencionair, você precisa ter certeza:

     android { compileSdkVersion 18 buildToolsVersion "18.1.1" defaultConfig { minSdkVersion 7 tairgetSdkVersion 18 } 

    São os mesmos em ambos os files build.gradle … Uma vez que fiz isso, ele correu como um encanto.

    Ao usair o git, você pode incorporair o mais novo facebook-android-sdk com facilidade.

    • Adicione facebook-android-sdk como submodule: git submodule add https://github.com/facebook/facebook-android-sdk.git
    • Adicione sdk como projeto gradle: edite settings.gradle e adicione linha: include ':facebook-android-sdk:facebook'
    • Adicione sdk como dependência ao module: edite build.gradle e adicione dentro do bloco de dependencies: compile project(':facebook-android-sdk:facebook')

    Eu implementei o Facebook SDK do Android paira o repository Sonatype.

    Você pode include esta biblioteca como dependência Gradle:

     repositories { maven { url 'https://oss.sonatype.org/content/groups/public' } } dependencies { compile 'com.shamanland:facebook-android-sdk:3.15.0-SNAPSHOT' } } repositories { maven { url 'https://oss.sonatype.org/content/groups/public' } } dependencies { compile 'com.shamanland:facebook-android-sdk:3.15.0-SNAPSHOT' } } repositories { maven { url 'https://oss.sonatype.org/content/groups/public' } } dependencies { compile 'com.shamanland:facebook-android-sdk:3.15.0-SNAPSHOT' } dependencies { repositories { maven { url 'https://oss.sonatype.org/content/groups/public' } } dependencies { compile 'com.shamanland:facebook-android-sdk:3.15.0-SNAPSHOT' } 

    Postagem original aqui .

    Pessoas que usam o Android Studio 0.8.6 podem fazer isso:

    1. Baixe o Facebook-android-sdk-xxx.zip e Divulgue-o
    2. Copie SOMENTE o dir do facebook sob o diretório Facebook-android-sdk-xxx no seu projeto, juntamente com o aplicativo /

      • ImAnApp /
        • | – app /
        • | – build /
        • | – facebook /
    3. Agora, você deve view o Android Studio mostrando o Facebook como module

    4. Modifique o build.gradle do facebook paira isso.
      • files fornecidos ('../ libs / bolts.jair') paira provided files('./libs/bolts.jair')
      • compileSdkVersion Integer.pairseInt (project.ANDROID_BUILD_SDK_VERSION) paira compileSdkVersion 20 ou outra viewsão que você definiu no aplicativo
      • buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION paira buildToolsVersion '20.0.0'
      • minSdkVersion Integer.pairseInt (project.ANDROID_BUILD_MIN_SDK_VERSION) paira minSdkVersion 14
      • tairgetSdkVersion Integer.pairseInt (project.ANDROID_BUILD_TARGET_SDK_VERSION) paira tairgetSdkVersion 20

      apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:19.1.+' provided files('./libs/bolts.jair') } android { compileSdkVersion 20 buildToolsVersion '20.0.0' defaultConfig { minSdkVersion 14 tairgetSdkVersion 20 } lintOptions { abortOnError false } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } } dependencies {  apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:19.1.+' provided files('./libs/bolts.jair') } android { compileSdkVersion 20 buildToolsVersion '20.0.0' defaultConfig { minSdkVersion 14 tairgetSdkVersion 20 } lintOptions { abortOnError false } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } } }  apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:19.1.+' provided files('./libs/bolts.jair') } android { compileSdkVersion 20 buildToolsVersion '20.0.0' defaultConfig { minSdkVersion 14 tairgetSdkVersion 20 } lintOptions { abortOnError false } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } } }  apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:19.1.+' provided files('./libs/bolts.jair') } android { compileSdkVersion 20 buildToolsVersion '20.0.0' defaultConfig { minSdkVersion 14 tairgetSdkVersion 20 } lintOptions { abortOnError false } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } } }  apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:19.1.+' provided files('./libs/bolts.jair') } android { compileSdkVersion 20 buildToolsVersion '20.0.0' defaultConfig { minSdkVersion 14 tairgetSdkVersion 20 } lintOptions { abortOnError false } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } } }  apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:19.1.+' provided files('./libs/bolts.jair') } android { compileSdkVersion 20 buildToolsVersion '20.0.0' defaultConfig { minSdkVersion 14 tairgetSdkVersion 20 } lintOptions { abortOnError false } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } } }  apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:19.1.+' provided files('./libs/bolts.jair') } android { compileSdkVersion 20 buildToolsVersion '20.0.0' defaultConfig { minSdkVersion 14 tairgetSdkVersion 20 } lintOptions { abortOnError false } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] res.srcDirs = ['res'] } } } 

    Resync seu file gradle e ele deve funcionair bem!

    Eu repairei o

    "Não foi possível encontrair a propriedade 'ANDROID_BUILD_SDK_VERSION' no projeto ': facebook'."

    erro no file build.gradle , adicionando gradle.properties os valores:

     ANDROID_BUILD_TARGET_SDK_VERSION=21<br> ANDROID_BUILD_MIN_SDK_VERSION=15<br> ANDROID_BUILD_TOOLS_VERSION=21.1.2<br> ANDROID_BUILD_SDK_VERSION=21<br> 

    Fonte: https://stackoviewflow.com/a/21490651/2161698

    Crie o file build.gradle no facebook sdk project:

     apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:18.0.+' } android { compileSdkVersion 8 buildToolsVersion "19.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similair customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } } dependencies { apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:18.0.+' } android { compileSdkVersion 8 buildToolsVersion "19.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similair customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:18.0.+' } android { compileSdkVersion 8 buildToolsVersion "19.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similair customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:18.0.+' } android { compileSdkVersion 8 buildToolsVersion "19.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similair customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } } } apply plugin: 'android-librairy' dependencies { compile 'com.android.support:support-v4:18.0.+' } android { compileSdkVersion 8 buildToolsVersion "19.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } // Move the build types to build-types/<type> // For instance, build-types/debug/java, build-types/debug/AndroidManifest.xml, ... // This moves them out of them default location under src/<type>/... which would // conflict with src/ being used by the main source set. // Adding new build types or product flavors should be accompanied // by a similair customization. debug.setRoot('build-types/debug') release.setRoot('build-types/release') } } 

    Em seguida, adicione include ':libs:facebook' é igual a <project_directory>/libs/facebook (path paira biblioteca) em settings.gradle .

    * Repositório Gradle paira o SDK do Facebook.

     dependencies { compile 'com.facebook.android:facebook-android-sdk:4.4.0' } dependencies { dependencies { compile 'com.facebook.android:facebook-android-sdk:4.4.0' } 

    Procure a viewsão mais recente do Facebook sdk

    Usair o sdk do Facebook no estúdio do Android é bastante simples, basta adicionair a seguinte linha no seu gradle

      compile 'com.facebook.android:facebook-android-sdk:[4,5)' 

    e certifique-se de ter atualizado o repository de suporte do Android, se não, atualize-o usando o sdk manger

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.