启动我的应用时出现这些日志错误:
> 05-20 01:48:35.312: E/AndroidRuntime(23032): FATAL EXCEPTION: main
05-20 01:48:35.312: E/AndroidRuntime(23032): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tomsyweb.suna/com.tomsyweb.suna.MainActivity}: android.view.InflateException: Binary XML file line #9: Error inflating class com.origamilabs.library.views.StaggeredGridView
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.os.Handler.dispatchMessage(Handler.java:99)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.os.Looper.loop(Looper.java:130)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.app.ActivityThread.main(ActivityThread.java:3687)
05-20 01:48:35.312: E/AndroidRuntime(23032): at java.lang.reflect.Method.invokeNative(Native Method)
05-20 01:48:35.312: E/AndroidRuntime(23032): at java.lang.reflect.Method.invoke(Method.java:507)
05-20 01:48:35.312: E/AndroidRuntime(23032): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
05-20 01:48:35.312: E/AndroidRuntime(23032): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
05-20 01:48:35.312: E/AndroidRuntime(23032): at dalvik.system.NativeStart.main(Native Method)
05-20 01:48:35.312: E/AndroidRuntime(23032): Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class com.origamilabs.library.views.StaggeredGridView
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.view.LayoutInflater.createView(LayoutInflater.java:518)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
05-20 01:48:35.312: E/AndroidRuntime(23032): at com.actionbarsherlock.internal.ActionBarSherlockCompat.setContentView(ActionBarSherlockCompat.java:853)
05-20 01:48:35.312: E/AndroidRuntime(23032): at com.actionbarsherlock.app.SherlockActivity.setContentView(SherlockActivity.java:229)
05-20 01:48:35.312: E/AndroidRuntime(23032): at com.tomsyweb.suna.MainActivity.onCreate(MainActivity.java:72)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
05-20 01:48:35.312: E/AndroidRuntime(23032): ... 11 more
05-20 01:48:35.312: E/AndroidRuntime(23032): Caused by: java.lang.reflect.InvocationTargetException
05-20 01:48:35.312: E/AndroidRuntime(23032): at java.lang.reflect.Constructor.constructNative(Native Method)
05-20 01:48:35.312: E/AndroidRuntime(23032): at java.lang.reflect.Constructor.newInstance(Constructor.java:415)
05-20 01:48:35.312: E/AndroidRuntime(23032): at android.view.LayoutInflater.createView(LayoutInflater.java:505)
05-20 01:48:35.312: E/AndroidRuntime(23032): ... 21 more
05-20 01:48:35.312: E/AndroidRuntime(23032): Caused by: java.lang.NoClassDefFoundError: android.support.v4.util.SparseArrayCompat
05-20 01:48:35.312: E/AndroidRuntime(23032): at com.origamilabs.library.views.StaggeredGridView.<init>(StaggeredGridView.java:297)
05-20 01:48:35.312: E/AndroidRuntime(23032): at com.origamilabs.library.views.StaggeredGridView.<init>(StaggeredGridView.java:304)
05-20 01:48:35.312: E/AndroidRuntime(23032): ... 24 more
安装Android SDK Tools Rev. 22,Android SDK Build-tools和更新Google Play服务后,问题就出现了。
而在此错误中
引起:java.lang.NoClassDefFoundError:android.support.v4.util.SparseArrayCompat
并注意到对于所有“android.support.v4”导入,Javadoc无法访问
注意:此元素既没有附加源也没有附加Javadoc,因此找不到Javadoc。
问题可能是由于Android支持库。
希望所有这些信息都能帮助您找到解决方案。
答案 0 :(得分:39)
右键点击您的项目 - &gt;构建路径 - &gt;配置构建路径 - &gt;订单和导出标签。
确保选中“Android私有库”进行导出。
如果您已从libs /文件夹中添加了任何库,请将其删除,因为它们会自动添加到“Android私有库”部分中。
答案 1 :(得分:1)
我总是得到这个,只需重新启动eclipse即可在MAC笔记本电脑上解决它。
答案 2 :(得分:1)
虽然您的编译版本与您的Minimum Required SDK版本不同,但android会创建appcompat,创建的appcompat可能会引用它自己的support-v4
,而support-v4
版本可能与{ {1}}您已经使用过,即使您拥有兼容的support-v7
。我解决了这个问题只是为了让Minimum Required SDK版本与编译版本相同。希望能帮到每个人。
答案 3 :(得分:0)
右键单击项目 - 属性 - java构建路径 - 订购和导出 - 勾选Android私有库和您添加的所有库
答案 4 :(得分:0)
解决方案:
答案 5 :(得分:0)
您可能想查看android的官方文档。
以最低SDK(15)运行我的应用时,我在以下发生了此错误:
Fatal Exception: java.lang.NoSuchMethodError: android.util.LongSparseArray.removeAt
在这里阅读了实际的android文档后: https://developer.android.com/reference/android/util/LongSparseArray(仅在API级别16中添加)
如果您使用第三方库(在我的情况下,我使用的是 Chuck ),则可能想问问他们是否支持最低级别的SDK API。否则,增加您的最低SDK使其与最低API库相匹配,或者这样做(不建议这样做,会使您的应用程序崩溃)
// AndroidManifest
<manifest
<uses-sdk tools:overrideLibrary="com.readystatesoftware.chuck, your.another.package.here" />
<application>
// ommited...
</application>
</manifest