农村四月闲人少,勤学苦攻把名扬。这篇文章主要讲述在Android工作室使用facebook sdk相关的知识,希望能为你提供帮助。
【在Android工作室使用facebook sdk】我正在关注Facebook SDK for Android using Android Studio。当我运行我的应用程序时,我收到了下面提到的警告。
Gradle: module 'facebook' won't be compiled. Unfortunately you can't have non-Gradle java module and android-Gradle module in one project.
我该怎么解决这个问题?
我尝试了@Scott Barta的回答,并收到以下错误消息。
A problem occurred configuring project ':App'.
>
Failed to notify project evaluation listener.
>
A problem occurred configuring project ':libraries:facebook'.
>
Failed to notify project evaluation listener.
>
Could not resolve all dependencies for configuration ':libraries:facebook:_DebugCompile'.
>
Could not find any version that matches com.android.support:support-v4:+.
Required by:
MyApplication2.libraries:facebook:unspecified
答案注意
对于Android Studio 0.5.5及更高版本以及更高版本的Facebook SDK,此过程比下面记录的更简单(这是为两者的早期版本编写的)。如果您正在运行最新版本,那么您需要做的就是:
- 从https://developers.facebook.com/docs/android/下载Facebook SDK
- 解压缩存档
- 在Android Studio 0.5.5或更高版本中,从“文件”菜单中选择“导入模块”。
- 在向导中,将要导入的模块的源路径设置为解压缩归档中的“facebook”目录。 (注意:如果选择整个父文件夹,它不仅会引入库本身,而且还会引入所有示例应用程序,每个应用程序都作为一个单独的模块。这可能有效,但可能不是您想要的)。
- 通过
Ctrl + Shift + Alt + S
打开项目结构,然后选择依赖项选项卡。单击+
按钮并选择Module Dependency。在弹出的新窗口中选择:facebook.
- 你应该好好去。
这适用于Android Studio 0.5.4及更早版本,并且在Facebook为分发提供Gradle构建文件之前对Facebook SDK的版本最有意义。我不知道他们在哪个版本的SDK中进行了更改。
Facebook在https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android-using-android-studio/3.0/页面上“将SDK导入Android Studio项目”下的说明对于基于Gradle的项目是错误的(即您的项目是使用Android Studio的New Project向导构建的和/或具有适用于您的应用程序模块的
build.gradle
文件)。请遵循以下说明:- 在项目的主目录下创建一个
libraries
文件夹。例如,如果您的项目是HelloWorldProject,您将创建一个HelloWorldProject/libraries
文件夹。 - 现在将SDK安装中的整个
facebook
目录复制到刚刚创建的libraries
文件夹中。 - 删除
libs
目录中的facebook
文件夹。如果你愿意,删除project.properties
,build.xml
,.classpath
和.project
。文件也是如此。你不需要它们。 - 使用以下内容在
build.gradle
目录中创建facebook
文件:buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } }apply plugin: 'android-library'dependencies { compile 'com.android.support:support-v4:+' }android { compileSdkVersion 17 buildToolsVersion "19.0.0"defaultConfig { minSdkVersion 7 targetSdkVersion 16 }sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] res.srcDirs = ['res'] } } }
请注意,根据您在执行此操作时所遵循的这些说明,您可能需要调整classpath 'com.android.tools.build:gradle:0.6.+'
行以引用较新版本的Gradle插件。很快我们将需要0.7或更高版本。试试看,如果你得到一个错误,那就是需要更新版本的Gradle插件,那就是你必须编辑的那一行。 - 确保已安装SDK管理器中的Android支持库。
- 在应用程序的主目录中编辑
settings.gradle
文件并添加以下行:include ':libraries:facebook'
- 如果您的项目已在Android Studio中打开,请单击工具栏中的“使用Gradle文件同步项目”按钮。一旦完成,就应该出现
facebook
模块。 - 打开“项目结构”对话框。从左侧列表中选择Modules,单击应用程序的模块,单击Dependencies选项卡,然后单击+按钮添加新的依赖项。
- 选择“模块依赖”。它将打开一个对话框,其中包含可供选择的模块列表; 选择“:libraries:facebook”。
- 在所有对话框上单击“确定”。 Android Studio将自动重新同步您的项目(无需再次点击“与Gradle文件同步项目”按钮)并获取新的依赖项。你应该好好去。
apply plugin: 'android-library'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 similar customization.
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
}
然后在
include ':libs:facebook'
中添加<
project_directory>
/libs/facebook
等于settings.gradle
(库的路径)。另一答案* Facebook SDK的Gradle存储库。
dependencies {
compile 'com.facebook.android:facebook-android-sdk:4.4.0'
}
Search for the latest version facebook sdk
另一答案在android studio中使用facebook sdk非常简单,只需在你的gradle中添加以下行
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
并确保您已更新Android支持存储库,如果没有,则使用独立的sdk manger更新它
另一答案Facebook确实已将SDK添加到Maven Central存储库中。要使用maven repo的实例配置项目,您需要做两件事:
- 在项目顶级build.gradle文件中,添加Maven Central存储库。我看起来像这样:
repositories { jcenter()// This is the default repo mavenCentral()//This is the Maven Central repo }
- 在app-level build.grade文件中,添加Facebook sdk依赖项:
dependencies {compile 'com.facebook.android:facebook-android-sdk:4.5.0' // Adjust the version accordingly // All your other dependencies. }
另一答案Facebook在maven central上发布SDK:
只需添加:
repositories {
jcenter()// IntelliJ main repo.
}dependencies {
compile 'com.facebook.android:facebook-android-sdk:+'
}
另一答案Scott Barta的解决方案对我有用,除了我必须将这些添加到我的主项目build.gradle文件的依赖项中:
compile files('libs/android-support-v4.jar')
compile project(':libraries:facebook')
另外值得一提的是,您需要确保:
android {
compileSdkVersion 18
buildToolsVersion "18.1.1"defaultConfig {
minSdkVersion 7
targetSdkVersion 18
}
在build.gradle文件中都是一样的......一旦我这样做,它就像一个魅力。
另一答案使用git时,您可以轻松地合并最新的facebook-android-sdk。
- 添加facebook-android-sdk作为子模块:
git submodule add https://github.com/facebook/facebook-android-sdk.git
- 将sdk添加为gradle项目:编辑settings.gradle并添加line:
include ':facebook-android-sdk:facebook'
- 将sdk添加为模块的依赖项:编辑build.gradle并在依赖项块中添加:
compile project(':facebook-android-sdk:facebook')
facebook login android studio
您将能够从facebbok获取名字,姓氏,电子邮件,性别,脸书ID和出生日期。
上面的教程还解释了如何通过视频在Facebook开发者控制台中创建应用程序
在
build.gradle(Module:app)
文件中添加以下内容:repositories {
mavenCentral()
}
和
compile 'com.facebook.android:facebook-android-sdk:4.10.0'
现在在AndroidManifest.xml文件中添加以下内容:
<
meta-data android:name="com.facebook.sdk.ApplicationId" android:value="https://www.songbingjia.com/android/your app id from facebook developer console"/>
<
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" />
在activity_main.xml文件中添加以下内容:
<
LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 如何在Android Studio中为消息“调用需要API级别21(当前最小值为16)”启用lint错误()
- 在Android 1.0或更高版本中使Android项目Gradle兼容
- “找不到资源”错误Android gradle构建.gradle / caches中的文件
- 配置Java AWS Lambda使用的Objectmapper
- 确定我们是否在AWS Lambda + Zappa下运行()
- Django民意调查app没有选择和点击选票投票
- React app(保存在gitignored文件中的API密钥返回undefined)
- App Store拒绝-内存弹出窗口
- 检查更新可用的App Store