android - 使用facebook sdk jar时java.lang.NoClassDefFoundError : com. facebook.android.R$布局错误

标签 android facebook jar

<分区>

当我将我的项目链接到我已复制到我的项目 lib 文件夹中的 facebookSDK jar 文件时,我得到 java.lang.NoClassDefFoundError: com.facebook.android.R$layout 错误,而不是链接我的项目到我工作区中的 facebookSDK 库项目。当我链接到工作区中的库项目时,它工作正常。

谁能告诉我如何解决这个问题。我正在为 android 使用 facebook sdk 3.0。提前致谢。

编辑:生成带有警告的 jar 文件后,我的 logcat 中出现以下错误

01-17 12:42:04.790: E/AndroidRuntime(3073): FATAL EXCEPTION: main
01-17 12:42:04.790: E/AndroidRuntime(3073): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.games.game/com.facebook.LoginActivity}: android.content.res.Resources$NotFoundException: File 296108030489520 from xml type layout resource ID #0x7f030001
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.app.ActivityThread.access$1500(ActivityThread.java:132)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1033)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.os.Looper.loop(Looper.java:143)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.app.ActivityThread.main(ActivityThread.java:4196)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at java.lang.reflect.Method.invokeNative(Native Method)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at java.lang.reflect.Method.invoke(Method.java:507)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at dalvik.system.NativeStart.main(Native Method)
01-17 12:42:04.790: E/AndroidRuntime(3073): Caused by: android.content.res.Resources$NotFoundException: File 296108030489520 from xml type layout resource ID #0x7f030001
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:1934)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:1889)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.content.res.Resources.getLayout(Resources.java:740)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.view.LayoutInflater.inflate(LayoutInflater.java:318)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:224)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.app.Activity.setContentView(Activity.java:1702)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at com.facebook.LoginActivity.onCreate(LoginActivity.java:55)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1780)
01-17 12:42:04.790: E/AndroidRuntime(3073):     ... 11 more
01-17 12:42:04.790: E/AndroidRuntime(3073): Caused by: java.io.FileNotFoundException: 296108030489520
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.content.res.AssetManager.openXmlAssetNative(Native Method)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:524)
01-17 12:42:04.790: E/AndroidRuntime(3073):     at android.content.res.Resources.loadXmlResourceParser(Resources.java:1916)
01-17 12:42:04.790: E/AndroidRuntime(3073):     ... 20 more

最佳答案

因为JAR里面没有Facebook SDK Project的资源文件夹。

有两种解决方案:

  1. 将 Facebook SDK 项目添加为项目库。

  2. 将文件 Facebook SDK JAR 复制到当前项目的文件夹 libs 并将所有资源从 Facebook SDK 项目复制到当前项目。

关于android - 使用facebook sdk jar时java.lang.NoClassDefFoundError : com. facebook.android.R$布局错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14373004/

相关文章:

java - Eclipse 中的 Jar 导出快捷键?

java - 如何安装 Unlimited Strength Jurisdiction 策略文件?

android - 旋转按钮 Espresso 测试点击不工作

android - 在实际手机上编译 Android 应用程序

image - 我可以使用 Facebook API 设置用户个人资料图片吗?

android - 在 Facebook 墙上发表评论

java - 在 Facebook 上发布图片不起作用

java - 运行javac编译导入一些库的Java类时如何加载jar文件?

android - 为什么我无法在 jetpack compose 中通过 firebase 使用移动身份验证?

android - 如何在 webview 中设置固定缩放级别或缩小?