Autore Topic: facebook sdk AndroidStudio  (Letto 1012 volte)

Offline tonno16

  • Utente storico
  • *****
  • Post: 1232
  • Respect: +60
    • Mostra profilo
  • Dispositivo Android:
    moto g
  • Play Store ID:
    Diego Tonini
  • Sistema operativo:
    OpenSuse
facebook sdk AndroidStudio
« il: 03 Agosto 2014, 19:22:52 CEST »
0
Ho difficoltà nel importare questa libreria nel mio progetto:

Premetto che quando creo un applicazione la struttura del  mio progetto è la seguente:
--App
----.gradle
----.idea
----.app
----gradle
----app
------build
------libs
------src

Importando un qualsiasi jar dentro libs e click destro make as library, il tutto funziona.

La prima domanda è: la cartella "facebook", contenuta dentro "facebook-android-sdk-3.16" va copiata in dentro la cartella libs oppure creare una cartella del tipo:

App
--.gradle
--.idea
--libraries
--app
----libs

Premesso questo, ho provato ad effettuare le stesse operazioni che andrò a descrivere in entrambi le configurazione.

PROCEDIMENTO EFFETTUATO:
1 - copio la cartella facebook nella cartella scelta ("libs" o libraries creata")
2 - click destro sul mio progetto, Open Module Setting
3 - selezioni il + verde e faccio new module e poi selezioni "import existing project"
4 - come source path selezioni la cartella "facebook"
5 - ora vado in dependencies (sempre sezionie module setting) e premo il + verde a destra
6 - nell' elenco compare una lista di 3 cose e selezioni module dependency.
7 - selezioni :facebook

gradle mi segnala che devo fare una synck. Lo faccio ma ogni volta mi ritorna un errore del tipo:

"Error:(9, 0) Could not find property 'ANDROID_BUILD_SDK_VERSION' on project ':facebook'."

questo è il mio settings.gradle
Codice (Java): [Seleziona]
include ':app', ':facebook'
project(':facebook').projectDir = new File('app/libs/facebook')

Cosa potrei sbagliare?



Post unito: [time]03 Agosto 2014, 21:49:38 CEST[/time]
Sono riuscito ad importare la libreria sdk.

Ora per activity vuota senza niente con un unico dentro il layout
Codice (XML): [Seleziona]
 <com.facebook.widget.LoginButton
       android:id="@+id/authButton"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center_horizontal"
       android:layout_marginTop="30dp"
       />

crea un eccezzione. Questo il log:
Codice (Java): [Seleziona]
08-03 21:48:50.730  23208-23208/facebooksample.tonno16.com.samplefacebook I/Adreno-EGL﹕ <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.018_msm8226_LNX.LA.3.5.1_RB1__release_AU ()
    OpenGL ES Shader Compiler Version: E031.24.00.08
    Build Date: 03/07/14 Fri
    Local Branch:
    Remote Branch: quic/LNX.LA.3.5.1_RB1.1
    Local Patches: NONE
    Reconstruct Branch: AU_LINUX_ANDROID_LNX.LA.3.5.1_RB1.04.04.02.048.018 + f2fd134 +  NOTHING
08-03 21:48:50.760  23208-23208/facebooksample.tonno16.com.samplefacebook D/OpenGLRenderer﹕ Enabling debug mode 0
08-03 21:48:50.785  23208-23225/facebooksample.tonno16.com.samplefacebook W/dalvikvm﹕ threadid=11: thread exiting with uncaught exception (group=0x41837d40)
08-03 21:48:50.786  23208-23225/facebooksample.tonno16.com.samplefacebook E/AndroidRuntime﹕ FATAL EXCEPTION: AsyncTask #1
    Process: facebooksample.tonno16.com.samplefacebook, PID: 23208
    java.lang.RuntimeException: An error occured while executing doInBackground()
            at android.os.AsyncTask$3.done(AsyncTask.java:300)
            at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
            at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
            at java.util.concurrent.FutureTask.run(FutureTask.java:242)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)
     Caused by: java.lang.NullPointerException
            at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:911)
            at com.facebook.internal.Utility.queryAppSettings(Utility.java:391)
            at com.facebook.widget.LoginButton$1.doInBackground(LoginButton.java:676)
            at com.facebook.widget.LoginButton$1.doInBackground(LoginButton.java:673)
            at android.os.AsyncTask$2.call(AsyncTask.java:288)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:841)

Post unito: 04 Agosto 2014, 15:06:28 CEST
Ho risolto.

gradle settinf dell' sdk si rifaceva a delle variabili non esistenti nel mio progetto.
« Ultima modifica: 04 Agosto 2014, 15:06:28 CEST da tonno16, Reason: Merged DoublePost »