FB的登录SDK是基于AS(android studio)制作的 .aar 包

在eclipse平台大家都用.jar包接SDK

这样两种方式接SDK差异比较大

我这里说一下用eclipse接facebook的登录包

下载到SDK解压后得到 facebook-android-sdk-4.26.0.aar 这个包,我们也只用这个包


第一步:将AAR文件后缀名改为ZIP并解压
第二步:在解压得到的目录里创建一个libs文件夹,然后将classes.jar文件和jni文件夹下的所有文件移到libs文件夹下
第三步:将proguard.txt文件的内容拷贝到你的项目的proguard-project.txt文件中
第四步:在解压得到的目录里创建project.properties文件,内容如下:

target=android-22
android.library=true

第五步:删除aaptjni文件夹以及R.txtproguard.txt文件

至此一个Eclipse Library项目已经构建完成了,接下来只需打开Eclipse导入项目并在你的项目中配置引用这个项目即可


1到5步 由 浮游大虾 提供

链接:http://www.jianshu.com/p/ccf306e08d5b


这样还不够 你是编译不过去的!!!

需要修改,如下:

1.

如果 AndroidManifest.xml 文件里报错

1
2
3
4
         < provider
             android:name = "com.facebook.internal.FacebookInitProvider"
             android:authorities = "${applicationId}.FacebookInitProvider"
             android:exported = "false"  />

 这个可以删除掉!


2.

如果 facebook-android-sdk-4.26.0.aar\res\values\values.xml 文件里报错

1
2
3
4
5
6
7
8
9
10
11
     < style  name = "com_facebook_activity_theme"  parent = "@style/Theme.AppCompat.NoActionBar" >
         < item  name = "android:windowIsTranslucent" >true</ item >
         < item  name = "android:windowBackground" >@android:color/transparent</ item >
         < item  name = "android:windowNoTitle" >true</ item >
     </ style >
     < style  name = "com_facebook_auth_dialog"  parent = "@style/Theme.AppCompat.Dialog" >
         < item  name = "android:windowIsTranslucent" >true</ item >
         < item  name = "android:windowBackground" >@android:color/transparent</ item >
         < item  name = "android:windowNoTitle" >true</ item >
         < item  name = "android:windowIsFloating" >true</ item >
     </ style >


1
2
3
4
@style/Theme.AppCompat.NoActionBar
@style/Theme.AppCompat.Dialog
 
这俩 都可以用 @android:style/Theme.NoTitleBar 代替


3.

如果 facebook-android-sdk-4.26.0.aar\res\layout\com_facebook_device_auth_dialog_fragment.xml

还有 com_facebook_smart_device_dialog_fragment.xml 这个文件,这俩类似

这俩文件里报错

1
2
3
4
5
6
< android.support.v7.widget.CardView  xmlns:android = "http://schemas.android.com/apk/res/android"
     xmlns:app = "http://schemas.android.com/apk/res-auto"
     android:layout_width = "wrap_content"
     android:layout_height = "wrap_content"
     app:cardBackgroundColor = "@android:color/transparent"
     app:cardElevation = "10dp" >


这句

1
2
3
4
5
6
7
8
9
10
11
xmlns:app="
 
需要修改成  
xmlns:app="
 
注意 com.hytc.zjsg 是我的游戏的包名,也就是  你的游戏工程的 AndroidManifest.xml 
文件里的package的属性值
 
<? xml  version = "1.0"  encoding = "utf-8" ?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
       package="com.hytc.zjsg"


4.还没完,如果下面这句报错

1
LoginManager.getInstance().logInWithReadPermissions( App_instance, Arrays.asList( "public_profile" "user_friends" ));

需要添加 android-support-v4.jar 这个JAR包到你的工程的 libs里

android-support-v4.jar这个包在 adt-bundle-windows-x86_64-20140702\sdk\extras\android\support\v4 这个目录下,这是谷歌SDK啊!应该都有吧!