【问题标题】:Android Studio Null pointer exception when rendering xml layouts渲染xml布局时Android Studio Null指针异常
【发布时间】:2014-09-10 17:10:18
【问题描述】:

昨天我对我的应用程序进行了一些更改,特别是 ActionBar 颜色,我工作得很好,我能够毫无问题地在 android studio 上预览并在我的设备上运行它,但今天早上当我打开 android studio 时,它不会预览并抛出此异常:

java.lang.NullPointerException
    at android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:599)
    at android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:120)
    at android.graphics.Bitmap_Delegate.createBitmap(Bitmap_Delegate.java:102)
    at com.android.layoutlib.bridge.impl.ResourceHelper.getDrawable(ResourceHelper.java:236)
    at com.android.layoutlib.bridge.bars.ActionBarLayout.getDrawable(ActionBarLayout.java:222)
    at com.android.layoutlib.bridge.bars.ActionBarLayout.setupActionBar(ActionBarLayout.java:160)
    at com.android.layoutlib.bridge.bars.ActionBarLayout.<init>(ActionBarLayout.java:127)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.createActionBar(RenderSessionImpl.java:1627)
    at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:355)
    at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:329)
    at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:332)
    at com.android.tools.idea.rendering.RenderService$3.compute(RenderService.java:575)
    at com.android.tools.idea.rendering.RenderService$3.compute(RenderService.java:564)
    at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:932)
    at com.android.tools.idea.rendering.RenderService.createRenderSession(RenderService.java:564)
    at com.android.tools.idea.rendering.RenderService.render(RenderService.java:691)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.doRender(AndroidLayoutPreviewToolWindowManager.java:604)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager.access$1900(AndroidLayoutPreviewToolWindowManager.java:80)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7$1.run(AndroidLayoutPreviewToolWindowManager.java:546)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:178)
    at com.intellij.openapi.progress.ProgressManager.executeProcessUnderProgress(ProgressManager.java:209)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:212)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:171)
    at org.jetbrains.android.uipreview.AndroidLayoutPreviewToolWindowManager$7.run(AndroidLayoutPreviewToolWindowManager.java:541)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:320)
    at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:310)
    at com.intellij.util.ui.update.MergingUpdateQueue$2.run(MergingUpdateQueue.java:254)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:269)
    at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:227)
    at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:217)
    at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:238)
    at com.intellij.util.Alarm$Request$1.run(Alarm.java:327)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

所有活动甚至是空的都会导致这个问题

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context="com.andujardev.money.AccountCreator">
</RelativeLayout>

渲染预览时抛出异常

有什么帮助吗?

询问是否需要更多信息

编辑: 出于某种原因,错误与操作栏有关,因为我的布局不显示操作栏并且可以正常呈现,我只是找不到问题所在,因为程序可以在我想要的任何时候编译和运行.

【问题讨论】:

  • 没有 xml 和没有 java 代码我怎么知道.....空指针异常在哪里......发布代码将是个好主意
  • 你做了什么来调试这个?
  • 它显示在 xml 预览屏幕上,关键是即使使用空的空布局(带有基本 ... )也会引发此异常。但它编译在我的手机中运行
  • 重点是,我不知道要粘贴哪个 (xml/Java) 代码,因为我的应用程序在我的设备上完美运行,并在我遇到 Android-Studio 问题后编译它跨度>

标签: android android-studio preview


【解决方案1】:

已解决! 似乎我使用的应用程序图标图像(我昨晚更改了)格式不正确,因此渲染库无法正确渲染图像,但是我的设备能够正确使用它。

【讨论】:

    【解决方案2】:

    来自我在另一个post的回答:

    此异常通常是由于可绘制对象损坏。确保您能够打开并查看您已链接的所有可绘制对象。

    如果您碰巧看到任何此类错误消息或无法查看您的drawable,请尝试用原始文件再次替换它,或者如果您已下载它,请尝试重新下载。

    【讨论】:

      猜你喜欢
      • 2021-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 2019-01-25
      相关资源
      最近更新 更多