网易首页 > 网易号 > 正文 申请入驻

【厚积薄发】java.lang.NoSuchMethodError的不明崩溃问题

0
分享至

这是第384篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

UWA社区主页: community.uwa4d.com

本期目录:

  • java.lang.NoSuchMethodError的不明崩溃问题
  • 微信小游戏有可行的分析Mono内存的方法吗
  • 游戏运行中,从对象池里拿Item时动态设置物体锚点,导致DC成倍增加
  • Scriptable Build Pipeline打包Scritptable Object报错

Crash

Q:最近被Android的一个崩溃搞得毫无头绪。烦请各位大佬帮忙指导分析一下。

这里是从Bugly截取的最后一段崩溃日志,Unity线程运行良好。然后一个不知名线程突然就报了一个java.lang.NoSuchMethodError的崩溃,更奇怪的找不到函数名name='Thread-37' ,来源文件也是Unknown Source。

19404-18 15:18:27.898 21248 21470 I Unity : CreateScene sceneInst complete 2

19504-18 15:18:27.911 21248 21470 I Unity : Lod level: 1

19604-18 15:18:28.264 21248 22705 W Unity : ! parseType; T is not known!

197--------- beginning of crash

19804-18 15:18:28.282 21248 22705 E AndroidRuntime: FATAL EXCEPTION: Thread-37

19904-18 15:18:28.282 21248 22705 E AndroidRuntime: Process: com.readygo.barrel.gp, PID: 21248

20004-18 15:18:28.282 21248 22705 E AndroidRuntime: java.lang.NoSuchMethodError: no non-static method with name='Thread-37' signature='Thread-37' in class Ljava.lang.Object;

20104-18 15:18:28.282 21248 22705 E AndroidRuntime: at com.unity3d.player.ReflectionHelper.getMethodID(Unknown Source:162)

这个大概会是什么问题呢?全网搜遍没有类似的问题。

同时,此问题在GooglePlay后台报的崩溃错误如下:

初始是怀疑第三方库导致,但是和公司同项目组比较过。使用同样的第三方库的项目并没有出现类似崩溃。

所以请问有没有类似的问题经验或者思路启发?非常感谢。

A1: 目前使用了一些简单的方法,此问题算是绕过了。应该是给Java层传递某个动作的时候,sig里传入了一个‘T',底层并没有处理这个T导致,但是不知道为什么会传入,确定没有调用任何Java的函数,没有任何的JNI调用。此问题暂时总结到这里吧,以后有高手遇到此问题,可以深挖。

程序报错出自:ReflectionHelper.java中:

if (Log.LOG_WARN) Log.Log(Log.WARN, "! parseType; " + c + " is not known!");

伪代码如下:

private static Class parseType(String sig, int[] sigPos)
{
if (Log.LOG_VERBOSE && LOGV) Log.Log(Log.VERBOSE, "- parse '" + sig + "' at " + sigPos[0]);
while(sigPos[0] < sig.length())
{
char c = sig.charAt(sigPos[0]++);
if (c == '(')
continue;
else if (c == ')')
continue;

if (c == 'L')
{
int end = sig.indexOf(';', sigPos[0]);
if (end == -1)
break;

String typeName = sig.substring(sigPos[0], end);
sigPos[0] = end+1;

typeName = typeName.replace('/', '.');
if (Log.LOG_VERBOSE && LOGV) Log.Log(Log.VERBOSE, "- typename = " + typeName);

Class t;
try {
t = Class.forName(typeName);
} catch (ClassNotFoundException e) {
if (Log.LOG_VERBOSE && LOGV) Log.Log(Log.VERBOSE, e.toString());
break;
}

return t;
}

if (c == 'Z') return boolean.class
;
if (c == 'I') return int.class
;
if (c == 'F') return float.class
;
if (c == 'V') return void.class
;
if (c == 'B') return byte.class
;
if (c == 'C') return char.class
;
if (c == 'S') return short.class
;
if (c == 'J') return long.class
;
if (c == 'D') return double.class
;

if(c == '[')
{
Class type = parseType(sig, sigPos);
return Array.newInstance(type, 0).getClass();
}

if (Log.LOG_WARN) Log.Log(Log.WARN, "! parseType; " + c + " is not known!");

break;
}
return null;

感谢题主beginner@UWA问答社区提供了回答

A2:可以看下这个链接:

https://rollbar.com/blog/how-to-fix-java-lang-nosuchmethoderror-in-java/

感谢Xh6LLqqaaoVb@UWA问答社区提供了回答

A3:针对A2提供的解答,虽然提示java.lang.NoSuchMethodError,但实际上并不是NoSuchMethodError,感觉是开启线程的时候崩溃了。此问题真的很诡异,目前基本确定了问题是和线程有关系的。

感谢题主beginner@UWA问答社区提供了回答,欢迎大家转至社区交流:

https://answer.uwa4d.com/question/6620f1b05ce8a46b00fc4ce5

WebGL

Q:微信小游戏有什么可行的分析Mono内存的方法吗?Memory Profiler一抓帧就卡死。

欢迎有经验的朋友转至社区交流:

https://answer.uwa4d.com/question/6627973d5c7f5d2c5805d3b6

UI

Q:游戏运行中,从对象池里拿Item时候动态设置物体锚点,导致DC成倍增加,为什么动态设置锚点会影响DC呢?

A:通过UGUI查是否合批通过Profiler的UI Module最方便。

感谢Wenbo@UWA问答社区提供了回答,欢迎大家转至社区交流:

https://answer.uwa4d.com/question/5e8327036a616e19893abe02

AssetBundle

Q:1. 发生了什么?

给定一个自定义可编写脚本的对象,它有一个类似于MyScriptableObject m_RefObject的字段,创建3个名为A、B、C的对象。

C引用B、B引用A,使用SBP CompatibilityBuildPipeline.BuildAssetBundles将3个资产构建为单独的捆绑包。

加载捆绑包A、B、C,加载资产A、B、C。A和B加载成功,而加载C失败,导致警告“The referenced script on this Behaviour (Game Object ' ') is missing!'' 并返回 null。

切换到UnityEditor.BuildPipeline.BuildAssetBundles,A、B、C 均加载成功。

2. 如何使用所附示例重现它?

打开示例场景并单击“播放”,控制台将显示资源加载失败,所有行为均在Entry.cs内。

使用版本:

com.unity.scriptablebuildpipeline: 1.20.2/ 1.21.9

Unity 2021.3.25f1

有没有人遇到过这个问题,怎么解决?

欢迎有经验的朋友转至社区交流:

https://answer.uwa4d.com/question/661364835c7f5d2c5805d394

封面图来源于网络

今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com

UWA社区:community.uwa4d.com

UWA学堂:edu.uwa4d.com

点击下方名片关注我们,将我设为星标,及时接收小编每日推送哦,性能优化不迷路~

近期精彩回顾

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
谷爱凌发布会落泪:刚得知外婆去世,我向她保证过会勇敢

谷爱凌发布会落泪:刚得知外婆去世,我向她保证过会勇敢

澎湃新闻
2026-02-22 23:24:28
“儿媳,俩侄子放寒假送去你家,你好好培养”儿媳:我伺候不起

“儿媳,俩侄子放寒假送去你家,你好好培养”儿媳:我伺候不起

清水家庭故事
2026-02-23 14:59:38
亡人在阴间最缺什么?孟婆告诫:别只烧纸,这三样才是真正关键

亡人在阴间最缺什么?孟婆告诫:别只烧纸,这三样才是真正关键

千秋文化
2025-11-21 09:35:38
回顾“91女神”琪琪:五官出众,却因天真让自己“受伤”

回顾“91女神”琪琪:五官出众,却因天真让自己“受伤”

就一点
2025-11-22 10:36:39
为什么《金瓶梅》里的人都像疯了一样纵欲?

为什么《金瓶梅》里的人都像疯了一样纵欲?

乐言悦读
2026-02-23 21:25:15
这下彻底没救了!网传平顶山受害者态度强硬,坚决不签谅解书…

这下彻底没救了!网传平顶山受害者态度强硬,坚决不签谅解书…

火山詩话
2026-02-24 10:51:39
仗打了四年后,泽连斯基通告全球:乌克兰收复失地,没有输掉战争

仗打了四年后,泽连斯基通告全球:乌克兰收复失地,没有输掉战争

福建平子
2026-02-24 11:32:47
1948年,中央提出换掉粟裕,陈毅:无论用谁代替他,都会全军覆没

1948年,中央提出换掉粟裕,陈毅:无论用谁代替他,都会全军覆没

芊芊子吟
2026-02-24 12:30:03
白袜MM据说是最纯欲的一个,跟眼镜妹是两个极端

白袜MM据说是最纯欲的一个,跟眼镜妹是两个极端

挪威森林
2026-02-23 08:26:39
几乎从不露面的SHEIN老板许仰天在广州露面了

几乎从不露面的SHEIN老板许仰天在广州露面了

出海湃
2026-02-24 12:29:57
28岁乌克兰世界踢拳冠军牺牲前线:从拳台王者到卫国战士

28岁乌克兰世界踢拳冠军牺牲前线:从拳台王者到卫国战士

老马拉车莫少装
2026-02-18 00:36:06
娜然跟霍启山回香港!逛街消费幸福肥明显,霍家认可或已“明牌”

娜然跟霍启山回香港!逛街消费幸福肥明显,霍家认可或已“明牌”

动物奇奇怪怪
2026-02-24 07:40:47
A股:重回4100点,尾盘很明显,明天,2月25日,很可能这样走

A股:重回4100点,尾盘很明显,明天,2月25日,很可能这样走

虎哥闲聊
2026-02-24 15:10:02
球迷在皇马门口举牌抗议!赫伊森看到后开车加速就跑:差点撞到人

球迷在皇马门口举牌抗议!赫伊森看到后开车加速就跑:差点撞到人

念洲
2026-02-24 13:36:37
中国卡不住西方脖子了?澳企成功生产稀土产品,已与美欧接洽供货

中国卡不住西方脖子了?澳企成功生产稀土产品,已与美欧接洽供货

我心纵横天地间
2026-02-22 23:10:04
广东省委书记黄坤明:要发展壮大新兴产业、未来产业 培育更多万亿元级、千亿元级产业集群

广东省委书记黄坤明:要发展壮大新兴产业、未来产业 培育更多万亿元级、千亿元级产业集群

财联社
2026-02-24 11:55:16
8000元相亲餐男子尿遁逃单!女子被迫买单,婚介甩锅:与我们无关

8000元相亲餐男子尿遁逃单!女子被迫买单,婚介甩锅:与我们无关

今朝牛马
2026-02-01 21:14:04
西部乱了,雷霆重返第1却高兴不起来,3-6名太激烈,附加赛无意义

西部乱了,雷霆重返第1却高兴不起来,3-6名太激烈,附加赛无意义

铁甲西奇
2026-02-24 15:24:44
挣再多钱有啥用,61岁崔培军如今的现状,给所有企业家提了醒

挣再多钱有啥用,61岁崔培军如今的现状,给所有企业家提了醒

妙知
2026-02-18 11:48:10
我国著名主持人赴瑞士安乐死,儿子讲述其死前惨状:我非常后悔

我国著名主持人赴瑞士安乐死,儿子讲述其死前惨状:我非常后悔

阿讯说天下
2026-02-21 12:35:11
2026-02-24 17:15:00
侑虎科技UWA incentive-icons
侑虎科技UWA
游戏/VR性能优化平台
1551文章数 986关注度
往期回顾 全部

科技要闻

AI颠覆发展最新牺牲品!IBM跳水重挫超13%

头条要闻

巴拿马当局已接管长江和记两座港口 外交部回应

头条要闻

巴拿马当局已接管长江和记两座港口 外交部回应

体育要闻

苏翊鸣总结米兰征程:我仍是那个热爱单板滑雪的少年

娱乐要闻

杨洋传遇上缅北剧组 开机就离开剧组?

财经要闻

县城消费「限时繁荣」了十天

汽车要闻

入门即满配 威兰达AIR版上市 13.78万元起

态度原创

本地
亲子
时尚
数码
公开课

本地新闻

春花齐放2026:《骏马奔腾迎新岁》

亲子要闻

湖南永州1岁男童患免疫缺陷需造血干细胞移植,父亲发起筹款

今年春天一定要拥有的针织,这样穿减龄又好看!

数码要闻

OPPO Enco Air5 Pro 3月2日开售:54小时续航,起售价279元

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版