android API 22

时间:2015-04-27 08:48:47

标签: android api android-studio gradle

在使用最新更新时和添加编译com.android.support:appcompat-v7:22.1.0后在Android Studio中创建新项目时 依赖关系仍然存在这个问题(如果我使用API 21,则会解决):

  

异常详细信息java.lang.NoSuchFieldError:在android.support.v7.widget.Toolbar的android.support.v7.internal.widget.ViewUtils.themifyContext(ViewUtils.java:124)中的View_theme。(Toolbar.java:198 )在android.sview.LayoutInflater.rInflate_Original(LayoutInflater.java:806)的java.lang.reflect.Constructor.newInstance(Constructor.java:422)的android.support.v7.widget.Toolbar。(Toolbar.java:192)。 )在android.view.LayoutInflater.rInflate(LayoutInflater.Deava.java:64)的android.view.LayoutInflater.rInflate(LayoutInflater.java:782)android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:809)android.view .LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:64)在android.view.LayoutInflater.inflate(LayoutInflater.java:782)的android.view.LayoutInflater.inflate(LayoutInflater.java:504)android.view.LayoutInflater.inflate( LayoutInflater.java:414)com.android.layoutlib.bridge.bars.BridgeActionBar。(Br idgeActionBar.java:84)at com.android.layoutlib.bridge.bars.AppCompatActionBar。(AppCompatActionBar.java:56)

当我打开最初使用eclipse创建的项目时,API 22的呈现在Android Studio上运行良好。

有人可以解释一下吗?

我遇到的另一个问题是,在升级SDK时,它会添加Android M API,它就像Android 5.1.1一样调用API 22,这也会导致渲染问题。 解决方案只是切换回API 22 5.1.1 希望能帮助到你 。

2 个答案:

答案 0 :(得分:1)

更新 执行Build>Clean Projectgradle Sync Project将解决问题。

旧答案: 根据22.1更改日志(source):

  

Lollipop通过使用android:theme XML属性添加了在视图级别的视图中覆盖主题的功能 - 对于诸如灯光活动中的暗动作条等事物非常有用。现在,AppCompat 允许您对工具栏使用android:theme (弃用之前使用的 app:theme ),甚至更好地为API上的所有视图带来android:theme支持11个以上的设备。

所以我想如果你将app:theme更改为android:theme它会起作用。

答案 1 :(得分:1)

就我而言,解决方案就像

一样简单
  1. @style添加到父主题
  2. <style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
    
    1. android.support.v7.widget.

    2. 中移除Toolbar
    3. app:theme移至android:theme

    4. <Toolbar
          xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/toolbar"
          android:layout_height="wrap_content"
          android:layout_width="match_parent"
          android:minHeight="?attr/actionBarSize"
          android:background="?attr/colorPrimary"
          android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />