java.lang.NoClassDefFoundError的:com.facebook.android.R $布局错误使用Facebook SDK罐子时, [英] java.lang.NoClassDefFoundError: com.facebook.android.R$layout error when using facebook sdk jar

查看:1088
本文介绍了java.lang.NoClassDefFoundError的:com.facebook.android.R $布局错误使用Facebook SDK罐子时,的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我得到的 java.lang.NoClassDefFoundError的:com.facebook.android.R $布局错误,当我联系我的项目facebookSDK jar文件,我已经复制到我的项目lib文件夹,而不是链接我的项目facebookSDK库项目在我的工作空间。它工作正常,当我在工作空间链接到库项目。

谁能告诉我怎么解决这个问题。我使用的Facebook SDK 3.0的Andr​​oid。先谢谢了。

编辑:生成JAR文件的警告后,我在我的logcat得到了以下错误

  12月1日至17日:42:04.790:E / AndroidRuntime(3073):致命异常:主要
12月一号至17号:42:04.790:E / AndroidRuntime(3073):java.lang.RuntimeException的:无法启动的活动ComponentInfo {com.games.game / com.facebook.LoginActivity}:android.content.res.Resources $ NotFoundException :从XML类型的布局资源ID#0x7f030001文件296108030489520
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1816)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1837)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.app.ActivityThread.access $ 1500(ActivityThread.java:132)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1033)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.os.Handler.dispatchMessage(Handler.java:99)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.os.Looper.loop(Looper.java:143)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.app.ActivityThread.main(ActivityThread.java:4196)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在java.lang.reflect.Method.invokeNative(本机方法)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在java.lang.reflect.Method.invoke(Method.java:507)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:839)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在dalvik.system.NativeStart.main(本机方法)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):由:android.content.res.Resources $ NotFoundException:文件296108030489520从XML类型的布局资源ID#0x7f030001
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.content.res.Resources.loadXmlResourceParser(Resources.java:1934)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.content.res.Resources.loadXmlResourceParser(Resources.java:1889)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.content.res.Resources.getLayout(Resources.java:740)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.view.LayoutInflater.inflate(LayoutInflater.java:318)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.view.LayoutInflater.inflate(LayoutInflater.java:276)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:224)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.app.Activity.setContentView(Activity.java:1702)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在com.facebook.LoginActivity.onCreate(LoginActivity.java:55)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1780)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):11 ...更多
12月一号至17号:42:04.790:E / AndroidRuntime(3073):java.io.FileNotFoundException:产生的原因296108030489520
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.content.res.AssetManager.openXmlAssetNative(本机方法)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:524)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):在android.content.res.Resources.loadXmlResourceParser(Resources.java:1916)
12月一号至17号:42:04.790:E / AndroidRuntime(3073):20 ...更多
 

解决方案

这是因为里面的JAR不包含的Facebook SDK项目的资源文件夹。

还有很2的解决方案是:

  1. 新增Facebook SDK项目作为一个项目库。

  2. 复制文件的Facebook SDK JAR文件夹到现有项目的的库和复制从Facebook SDK项目中的所有资源,当前的项目。

I get java.lang.NoClassDefFoundError: com.facebook.android.R$layout error when i link my project to facebookSDK jar file that i have copied into my project lib folder, instead of linking my project to facebookSDK library project in my workspace. It works fine when i link to library project in workspace.

Can anyone tell me how to solve this issue. I am using facebook sdk 3.0 for android. Thanks in advance.

EDIT: after generating jar file with warnings i got the following error in my 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

解决方案

It's because inside JAR doesn't contain resource folder of Facebook SDK Project.

There're 2 solutions for this:

  1. Add Facebook SDK Project as a project library.

  2. Copy file Facebook SDK JAR to folder libs of current projects and copy all resources from Facebook SDK Project to current project.

这篇关于java.lang.NoClassDefFoundError的:com.facebook.android.R $布局错误使用Facebook SDK罐子时,的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆