使用maven封装android facebook facebook sdk作为apklib

我已经使用maven-android-plugin 3.0.0-alpha-7将facebook android sdk作为apklib包装。 它看起来像这样:

$ unzip sdk-1.0-SNAPSHOT.apklib Archive: sdk-1.0-SNAPSHOT.apklib creating: META-INF/ inflating: META-INF/MANIFEST.MF inflating: AndroidManifest.xml creating: assets/ creating: res/ creating: res/drawable/ creating: res/drawable-hdpi/ creating: res/drawable-ldpi/ inflating: res/drawable/facebook_icon.png inflating: res/drawable-hdpi/facebook_icon.png inflating: res/drawable-ldpi/facebook_icon.png creating: src/ creating: src/com/ creating: src/com/facebook/ creating: src/com/facebook/android/ inflating: src/com/facebook/android/AsyncFacebookRunner.java inflating: src/com/facebook/android/DialogError.java inflating: src/com/facebook/android/Facebook.java inflating: src/com/facebook/android/FacebookError.java inflating: src/com/facebook/android/FbDialog.java inflating: src/com/facebook/android/Util.java 

然后我将它安装到我的项目的本地回购,并将其作为maven dep …并运行生成我得到这个:

 $ mvn clean package android:deploy [INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building myproject 2.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- maven-clean-plugin:2.4.1:clean (default-clean) @ myproject-android --- [INFO] Deleting /Users/user/dev/projects/company/myproject-android/target [INFO] [INFO] --- maven-android-plugin:3.0.0-alpha-7:generate-sources (default-generate-sources) @ myproject-android --- [DEBUG] Expanding: /Users/user/.m2/repository/com/facebook/android/sdk/1.0-SNAPSHOT/sdk-1.0-SNAPSHOT.apklib into /Users/user/dev/projects/company/myproject-android/target/unpack/apklibs/com.facebook.android_sdk_apklib_1.0-SNAPSHOT [DEBUG] expand complete [INFO] ANDROID-904-002: Found aidl files: Count = 0 [INFO] ANDROID-904-002: Found aidl files: Count = 0 [INFO] ANDROID-904-002: Found aidl files: Count = 0 [INFO] /Users/user/dev/libs/android-sdk-mac_x86/platform-tools/aapt [package, -m, -J, /Users/user/dev/projects/company/myproject-android/target/generated-sources/r, -M, /Users/user/dev/projects/company/myproject-android/AndroidManifest.xml, -S, /Users/user/dev/projects/company/myproject-android/res, -S, /Users/user/dev/projects/company/myproject-android/target/unpack/apklibs/com.facebook.android_sdk_apklib_1.0-SNAPSHOT/res, --auto-add-overlay, -A, /Users/user/dev/projects/company/myproject-android/assets, -I, /Users/user/dev/libs/android-sdk-mac_x86/platforms/android-10/android.jar] [INFO] /Users/user/dev/libs/android-sdk-mac_x86/platform-tools/aapt [package, -m, -J, /Users/user/dev/projects/company/myproject-android/target/generated-sources/r, --custom-package, com.facebook, -M, /Users/user/dev/projects/company/myproject-android/AndroidManifest.xml, -S, /Users/user/dev/projects/company/myproject-android/res, -S, /Users/user/dev/projects/company/myproject-android/target/unpack/apklibs/com.facebook.android_sdk_apklib_1.0-SNAPSHOT/res, --auto-add-overlay, -A, /Users/user/dev/projects/company/myproject-android/assets, -A, /Users/user/dev/projects/company/myproject-android/target/unpack/apklibs/com.facebook.android_sdk_apklib_1.0-SNAPSHOT/assets, -I, /Users/user/dev/libs/android-sdk-mac_x86/platforms/android-10/android.jar] [INFO] [INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ myproject-android --- [debug] execute contextualize [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /Users/user/dev/projects/company/myproject-android/src/main/resources [INFO] skip non existing resourceDirectory /Users/user/dev/projects/company/myproject-android/target/generated-sources/extracted-dependencies/src/main/resources [INFO] Copying 0 resource [INFO] [INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ myproject-android --- [INFO] Compiling 141 source files to /Users/user/dev/projects/company/myproject-android/target/classes [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ------------------------------------------------------------- [ERROR] /Users/user/dev/projects/company/myproject-android/target/unpack/apklibs/com.facebook.android_sdk_apklib_1.0-SNAPSHOT/src/com/facebook/android/FbDialog.java:[95,17] package R does not exist [INFO] 1 error [INFO] ------------------------------------------------------------- [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Skipping myproject [INFO] This project has been banned from the build due to previous failures. [INFO] ------------------------------------------------------------------------ [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 6.279s [INFO] Finished at: Wed Sep 21 09:32:40 PDT 2011 [INFO] Final Memory: 13M/81M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project myproject-android: Compilation failure [ERROR] /Users/user/dev/projects/company/myproject-android/target/unpack/apklibs/com.facebook.android_sdk_apklib_1.0-SNAPSHOT/src/com/facebook/android/FbDialog.java:[95,17] package R does not exist [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 

我看到R文件正在生成,并具有正确的内容:

 $ find target/generated-sources/r/ target/generated-sources/r/ target/generated-sources/r//com target/generated-sources/r//com/facebook target/generated-sources/r//com/facebook/Manifest.java target/generated-sources/r//com/facebook/R.java target/generated-sources/r//com/company target/generated-sources/r//com/company/myproject target/generated-sources/r//com/company/myproject/droid target/generated-sources/r//com/company/myproject/droid/Manifest.java target/generated-sources/r//com/company/myproject/droid/R.java 

我错过了什么R文件包括在编译步骤?

Solutions Collecting From Web of "使用maven封装android facebook facebook sdk作为apklib"

我已经为你做了这个: https : //github.com/casidiablo/android-facebook

下载

最新版本是1.5

  • 下载JAR
  • 下载来源
  • 下载Javadoc

Maven的

你可以通过包含这个依赖项和存储库来从Maven中使用它:

 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> ... <dependencies> ... <dependency> <groupId>com.codeslap</groupId> <artifactId>android-facebook</artifactId> <version>1.6</version> <scope>compile</scope> </dependency> </dependencies> <repositories> <repository> <id>codeslap</id> <url>http://casidiablo.github.com/codeslap-maven/repository/</url> </repository> </repositories> </project>