2016-01-18 8 views
0

Я получаю «Укажите местоположение проекта eclipse для градации или андроида». Я последовал за следующие действия:Невозможно импортировать 'facebook' sdk 4.9.0 в качестве модуля в android studio 1.2

1) Добавлена ​​mavenCentral и зависимость в app-> build.gradle как

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 22 
    buildToolsVersion "22.0.1" 

    defaultConfig { 
     applicationId "com.example.akshitag.cooltrends" 
     minSdkVersion 15 
     targetSdkVersion 22 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

repositories { 
    mavenCentral() 
} 


dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:22.1.1' 
    compile 'com.facebook.android:facebook-android-sdk:4.+' 
} 

2) Создание проекта, который является успешным.

3) Скачайте и распакуйте facebook sdk. Используйте модуль импорта в меню Файл-> Создать и выберите папку facebook. Внутри unzipeed старше, у меня есть это: \ facebook-android-sdk-4.9.0 \ facebook-android-sdk-4.9.0. Он содержит папку AudienceNetwork и facebook. Внутри папки facebook, я следующие файлы: образец, facebook-андроида-СДК-4.9.0.aar, licence.txt и notice.txt

I get the following error

Кроме того, это как моя структура проекта выглядит следующим образом. enter image description here

Может ли кто-нибудь навестить меня здесь, пожалуйста?

+0

https://github.com/ParsePlatform/ParseUI-Android проверить зависимости от fb включения 4.6 в этот проект. –

+0

@RobertRowntree Спасибо за ответ. Я добавил этот компилятор 'com.parse: parsefacebookutils-v4-android: [email protected]', и все же я не мог импортировать модуль. И это кажется библиотекой для parseUI. – Atihska

ответ

0

Вы уже скомпилировали sdk в gradle, то почему вы хотите добавить его снова, используя другой метод? Ваш проект выполнен, вам не нужно добавлять его в отдельный модуль.

+0

Да, я собирался ответить тем же, но спасибо @ Zeus25. – Atihska

0

вам не нужно импортировать facebook SDK файлы в Android Studio просто перейдите в приложение модуля Gradle: build.gradle и вставить

repositories { 

    mavenCentral() 
} 
dependencies { 
    compile 'com.android.support:support-v4:21.0.3' 
    compile 'com.facebook.android:facebook-android-sdk:4.8.0' 
} 

.Не не забудьте синхронизировать . в это время min sdk version должен мне 15 и перейдите к https://developers.facebook.com/ затем создайте свой идентификатор приложения и вставьте его в значения >> trings.xml также не забудьте создать свое приложение keyHASH.

в проекте создайте следующий файл: MyApplication.java

пасты в этих кодов:

public class MyApplication extends Application { 
    // Updated your class body: 
    @Override 
    public void onCreate() { 
    super.onCreate(); 
    // Initialize the SDK before executing any other operations, 
    FacebookSdk.sdkInitialize(getApplicationContext()); 
    AppEventsLogger.activateApp(this); 
} 

}

Сделайте свой сделать ваш SigninFragment так:

 public class SigninFragment extends Fragment { 

    CallbackManager callbackManager; 
    private LoginButton loginButton; 



    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     // Other app specific specialization 
     FacebookSdk.sdkInitialize(getApplicationContext()); 
     AppEventsLogger.activateApp(getActivity()); 
     callbackManager = CallbackManager.Factory.create(); 
     // Initialize the SDK before executing any other operations, 
     View rootView = inflater.inflate(R.layout.signin_fragment, container, false); 




     loginButton = (LoginButton)rootView.findViewById(R.id.login_button); 
     loginButton.setReadPermissions("email"); 
     // If using in a fragment 
     loginButton.setFragment(this); 




     loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { 
      @Override 
      public void onSuccess(LoginResult loginResult) { 
       Toast.makeText(getApplicationContext(), "Login attempt succes.",Toast.LENGTH_LONG).show(); 

      } 

      @Override 
      public void onCancel() { 
       Toast.makeText(getApplicationContext(), "Login attempt cancelled.",Toast.LENGTH_LONG).show(); 
      } 

      @Override 
      public void onError(FacebookException e) { 
       Toast.makeText(getApplicationContext(), "Login attempt failed.",Toast.LENGTH_LONG).show(); 
      } 
     }); 



     return rootView; 
    } 


    @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 
     callbackManager.onActivityResult(requestCode, resultCode, data); 
    } 

Как ваш ndroid манифест должен выглядеть следующим образом:

//facebook 
    <activity android:name="com.facebook.FacebookActivity" 
     android:configChanges= 
      "keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
     android:theme="@android:style/Theme.Translucent.NoTitleBar" 
     android:label="@string/app_name" 
     android:exported="true" 
     > 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="@string/fb_login_protocol_scheme" /> 
     </intent-filter> 
    </activity> 
    <meta-data android:name="com.facebook.sdk.ApplicationId" 
     android:value="@string/facebook_app_id"/> 



    //end facebook 

Что должно быть найдено в strings.xml:

<string name="facebook_app_id">here there is id number you get from facebook developpers</string> 
    <string name="fb_login_protocol_scheme">fbAPP_ID</string> 

Я ваш signinFragment.xml добавить кнопку facebook, как это:

<com.facebook.login.widget.LoginButton 
    android:id="@+id/login_button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    android:layout_marginTop="71dp" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" />