【问题标题】:Class not found R$styleable on specific phones [duplicate]在特定手机上找不到 R$styleable 类 [重复]
【发布时间】:2016-01-11 10:53:47
【问题描述】:

我有一个奇怪的行为,在我的三星 Galaxy 上我遇到了这个错误,它找不到类 R$styleable。当我在 Nexus 5 或 Nexus 4 上运行相同的代码时,我没有遇到问题并且一切正常。

我得到这个异常的行是在我的自定义Spinner 实现ImageSpinner

TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.ImageSpinner);

这是我得到的例外:

java.lang.RuntimeException: Unable to start activity ComponentInfo{my.package.name/my.package.name.NavigationSetupActivity}: android.view.InflateException: Binary XML file line #39: Error inflating class my.package.name.views.ImageSpinner

Caused by: java.lang.NoClassDefFoundError: my.package.name.R$styleable

这是位于 values/attrs.xml 中的样式文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <declare-styleable name="ImageSpinner">
        <attr name="arrowTint" format="color" />
        <attr name="hideArrow" format="boolean" />
    </declare-styleable>
</resources>

三星 Galaxy 手机的操作系统版本是 4.2.2 (CyanogenMod),但也有现货的三星 Android 操作系统,它会崩溃。 Nexus 5 是 6.0.1,Nexus 4 是棒棒糖版本。 sdk工具和编译版本如下:

compileSdkVersion 23
buildToolsVersion '23.0.2'
minSdkVersion 16
targetSdkVersion 23

我试图清理项目并检查资源文件,一切似乎都很好,但我真的不知道如何解决这个问题。有谁知道如何解决这个问题?

感谢您的宝贵时间!

【问题讨论】:

    标签: android android-resources samsung-mobile


    【解决方案1】:

    如果您在旧版本上运行应用程序,则必须更改: compile-sdk 以降低 sdks。这就是为什么该应用程序可以在一些较新的手机上运行而在您提到的其他一些手机上不起作用的原因。 check out this link

    Styeleable 类已从较新的 SDK 中删除,因为属性在 SDK 版本之间不断变化。 这就是为什么要使用 Styleable 类时出现该错误,您必须使用旧版本的 SDK

    java.lang.RuntimeException: Unable to start activity ComponentInfo{my.package.name/my.package.name.NavigationSetupActivity}: android.view.InflateException: Binary XML file line #39: Error inflating class my.package.name.views.ImageSpinner
    
    
    Caused by: java.lang.NoClassDefFoundError: my.package.name.R$styleable
    

    【讨论】:

    • 但为什么它在我的 nexus 手机上运行?
    • 您是否有任何来源可以确认 R.styleable 已从 SDK 中删除,因为我找不到任何来源。
    • 给你一个链接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多