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
第五步:删除aapt
和jni
文件夹以及R.txt
和proguard.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啊!应该都有吧!
附件:http://down.51cto.com/data/2367040
本文转自 kome2000 51CTO博客,原文链接:http://blog.51cto.com/kome2000/1971741