【问题标题】:java.lang.NoSuchFieldError: android.support.v7.appcompatjava.lang.NoSuchFieldError: android.support.v7.appcompat
【发布时间】:2014-10-30 14:06:29
【问题描述】:

我将我的支持库从 r20 更新到 r21,现在当我运行我的应用程序时,我在主要活动的 super.onCreate 中收到此错误:

java.lang.NoSuchFieldError: android.support.v7.appcompat.R$styleable.Theme_windowActionBar
    at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:145)
    at android.support.v7.app.ActionBarActivityDelegateBase.onCreate(ActionBarActivityDelegateBase.java:139)
    at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:123)
    at (packageName).Main.onCreate(Main.java:64)
    at android.app.Activity.performCreate(Activity.java)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java)
    at android.app.ActivityThread.access$700(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
    at android.os.Handler.dispatchMessage(Handler.java)
    at android.os.Looper.loop(Looper.java)
    at android.app.ActivityThread.main(ActivityThread.java)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
    at dalvik.system.NativeStart.main(Native Method)

我的主题.xml:

<style name="AppBaseTheme" parent="Theme.AppCompat">
</style>

<style name="AppTheme" parent="AppBaseTheme">
    <item> ... </item>
</style>

在清单中:

android:theme="@style/AppTheme"

有什么问题?

谢谢

【问题讨论】:

  • 您的应用使用什么主题和父主题?
  • @petey,更新后...,它在更新之前工作
  • 看你的target SDKcompile SDK 版本??
  • min=11, Target&compile=21,BTW 我已经安装了 API 21 SDK。

标签: android android-support-library android-appcompat


【解决方案1】:

我更新 SDK 时也发生了同样的情况。如果您有版本 21 的库“Android 支持库”,则会出现此错误。我不知道是什么原因,但最后一个版本产生了这个错误。

您可以通过从此处:https://dl-ssl.google.com/android/repository/support_r20.zip 下载以前版本的“Android 支持库”(r20) 并在您的项目中使用它来解决此问题。

不客气!

【讨论】:

  • 我遇到了同样的问题。做了相当多的搜索,但找不到任何真正的修复。所以最后我回滚到R20。这并不理想,但现在可以使用。我认为这个问题与谷歌在 5.0 上推广的新材料主题有关。在我看来,如果你只需要支持 API 14 及以上版本,那么支持库比解决它们带来的麻烦更多。
  • 如果您没有严格针对 sdk 21,您可以通过在清单中将 targetSDK 设置为小于 21(比如 19)来暂时摆脱错误,您的构建工具版本仍然是 21。
【解决方案2】:

我比较了support_v7_appcompat(版本20)和support_v7_appcompat(版本21)。在res/values/attrs.xml(版本21)中,windowActionBar属性不在&lt;declare-styleable name="Theme"&gt;

【讨论】:

  • 啊哈。换句话说,它们使版本 21 不向后兼容。我在 Google 上没有看到太多...
【解决方案3】:

如果你使用 intellij => 你必须添加 /project strutures/modules/ => YOURSDK\extras\android\support\v7\appcompat 然后在你的项目中添加 那样你永远是最后的支持

【讨论】:

  • 好像漏了半句。请您再次制定您的答案以使其更易于理解吗?
猜你喜欢
  • 1970-01-01
  • 2015-09-22
  • 2019-03-08
  • 2015-12-03
  • 1970-01-01
  • 2016-03-07
  • 1970-01-01
  • 2015-10-10
  • 2013-06-05
相关资源
最近更新 更多