一个public引发的惨案
开发Shizuku API时,编译生成的APK在调用Shizuku.bindUserService时无任何响应且无报错,排查近5个小时:
由于kotlin转java时的疏忽,对于顶层UserService类的声明使用了类似class UserService extends IUserService.Stub,不同于kotlin,java最顶层类默认访问修饰符为包级私有(package-private),由于太过小众由于默认整包内都可访问到,因此项目内没有任何报错信息。然而,系统logcat也是空空如也,更加蛋疼的是,覆盖安装修改后的apk不会改变原有的结果,必须卸载重装才可以
在没有任何日志的情况下,经历如此痛苦的debug,充分暴露了技术的欠缺(平时注重分包,即可避免这类问题)与java的傻逼,未来还有很长的路要走
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Sunight
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果