Blankj / Blankj/AndroidUtilCode

在自定义View里使用,布局不能预览。

Open
#1,562 4 comments 0 reactions 1 assignee Claimed by @Blankj View on GitHub
bug
Dominant language
Java
Stars
33.6k
Forks
10.6k
PR merge metrics
No merged PRs in 30d

Description

## 描述 Bug

自定义view中调用了Utils.getApp()方法,无法预览,搜索别人反馈的无法预览的bug,和我这个不一样

- AndroidUtilCode 的版本:1.30.6
- 出现 Bug 的设备型号: studio直接预览报错
- 设备的 Android 版本:项目编译sdk api 30

## 相关代码

```
init {
Utils.getApp()
}
```

## 异常堆栈
```
Exception Details java.lang.NullPointerException  
 at java.lang.reflect.Method.invoke(Method.java:559)   
at com.blankj.utilcode.util.UtilsActivityLifecycleImpl.getApplicationByReflect(UtilsActivityLifecycleImpl.java:180)   
at com.blankj.utilcode.util.UtilsBridge.getApplicationByReflect(UtilsBridge.java:104)   
at com.blankj.utilcode.util.Utils.getApp(Utils.java:71)
```

## 截图

![image](https://user-images.githubusercontent.com/90268640/141335766-46818694-e8e2-4e38-93f7-cd99f1ee2e3c.png)

## 分析
在此处调用invoke,会在自定义view中预览时抛出Null异常。

![image](https://user-images.githubusercontent.com/90268640/141336046-146b14a0-62c3-4a9f-bccc-8495efa5da64.png)

invoke 方法会报错

![image](https://user-images.githubusercontent.com/90268640/141336363-d52e6e08-350c-4beb-b22f-a91a4b420f90.png)

报错后未try catch

![image](https://user-images.githubusercontent.com/90268640/141336552-878ea55d-c83b-45fa-88d9-a2ba14c89e7d.png)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.