Android APP打包后程序运行报错,求大神,/AndroidRuntime: FATAL EXCEPTION: main。
2022-06-21 16:33:39.826 8277-8277/com.sqsxiu.sampling_record E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.sqsxiu.sampling_record, PID: 8277
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sqsxiu.sampling_record/com.sqsxiu.sampling_record.activity.RaskListDetailsActivity}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2944)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3079)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1836)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6702)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
Caused by: java.lang.NullPointerException
at java.io.Writer.<init>(Writer.java:88)
at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:97)
at com.example.print_sdk.PrintUtil.<init>(PrintUtil.java:56)
at com.sqsxiu.sampling_record.activity.RaskListDetailsActivity.initPos(RaskListDetailsActivity.java:444)
at com.sqsxiu.sampling_record.activity.RaskListDetailsActivity.onCreate(RaskListDetailsActivity.java:226)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread
Caused by: java.lang.NullPointerException
存在空指针异常
看下下面这几处的代码:
com.example.print_sdk.PrintUtil.<init>(PrintUtil.java:56)
at com.sqsxiu.sampling_record.activity.RaskListDetailsActivity.initPos(RaskListDetailsActivity.java:444)
at com.sqsxiu.sampling_record.activity.RaskListDetailsActivity.onCreate(RaskListDetailsActivity.java:226)
从题主贴出来的log日志可以看出来在 RaskListDetailsActivity的 444行的 initPos()的这个函数中用到了 com.example.print_sdk.PrintUtil 这个类来输出Log 信息,而给PrintUtil类调用的方法 入参为null,导致无法进行log输出而空指针异常。
解决方法:
1.对PrintUtil类调用的方法入参进行非空判断
2.可以临时注释该方法的调用(如果输出的内容仅仅是为了排查问题的话)
望采纳
public OutputStreamWriter(OutputStream out) {
super(out);
try {
se = StreamEncoder.forOutputStreamWriter(out, this, (String)null);
} catch (UnsupportedEncodingException e) {
throw new Error(e);
}
}
应该是你没有校验out这个吧,导致传入了空指针
出现了空指针异常,仔细检查一下代码
不止是空指针异常的问题,那个环境明显也得改
Unable to start activity ComponentInfo{com.sqsxiu.sampling_record/com.sqsxiu.sampling_record.activity.RaskListDetailsActivity}: java.lang.NullPointerException
你用了空指针引起的
检查注册表和Activity的xml有没有报错
空指针导致的页面无法打开,可以在报错堆栈中找到对应信息如下:
Caused by: java.lang.NullPointerException
at java.io.Writer.<init>(Writer.java:88)
at java.io.OutputStreamWriter.<init>(OutputStreamWriter.java:97)
at com.example.print_sdk.PrintUtil.<init>(PrintUtil.java:56)
at com.sqsxiu.sampling_record.activity.RaskListDetailsActivity.initPos(RaskListDetailsActivity.java:444)
at com.sqsxiu.sampling_record.activity.RaskListDetailsActivity.onCreate(RaskListDetailsActivity.java:226)
```java
在RaskListDetailsActivity的444行方法中排查,使用对象前进行判空操作、或者使用kotlin中的安全空可以避免类似的错误
错误空指针异常错误,你那里又个写的io流,那你可以断点调试看一下,读的io流是否正常,个人觉得是io流操作导致空指针异常,你一步一步跟踪可以定位问题
1.空指针异常,看代码报错位置是读写文件输入对象为空,没有做空判断
main方法中空指针异常 了,你看下调用RaskListDetailsActivity类的第226行和444行的代码,有没有空指针存在的可能,添加逻辑判断。同时可以参考如下链接试试
Android studio 报错E/AndroidRuntime: FATAL EXCEPTION: main_學點的博客-CSDN博客
有没有可能是代码逻辑的问题,检查一下 activity生命周期、方法执行顺序、io流开启时机、handle sendMessage时机之间有没有什么逻辑错误 ,只看报错日志的话没有办法确定问题到底出现在哪里。。。
建议楼主学一下debug代码调试,这种问题需要自己去单步调试加log去分析,一般有提示的问题都不难。
往上开发都是需要自己去学着解决问题
PrintUtil.java的56行传了null
你在哪里设置 ((java.io.OutputStream)globalMap.get("excel_output_stream")) ?
因为你没有为able变量设置那个值,因为你得到了空指针异常。请查看以下链接如何使用输出流。
https://help.talend.com/reader/KxVIhxtXBBFymmkkWJ~O4Q/orwGOyJ72nAubGeMxRyZ8w
空指针异常,看看是不是运行环境的配置问题。
可以看出来是空指针异常导致的,看代码报错位置是读写文件输入对象为空,没有做空判断
如果其他人都没解决的话,可以联系我,包解决