java编译时抛出异常 java.lang.RuntimeException: Stub!

本文探讨了在Android项目中直接运行Java代码并导入Android包导致的java.lang.RuntimeException:Stub!异常问题。通过将Logger.d()更改为System.out.print()成功解决了这一问题。同时分享了一个简单的Netty客户端示例,用于处理字符串消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java编译时抛出异常 java.lang.RuntimeException: Stub!

一般是Android项目 直接运行java代码导入了Android的包导致.

 

Logger.d()更改为System.out.print()就没问题了
**
 * 当编解码器为字符串时用来接收数据
 *
 * @author ${LI}
 * @date 2019.04.09
 */
public class ClientStringHandler extends ChannelInboundHandlerAdapter {
    @Override
    public void channelRead(ChannelHandlerContext ctx, Object msg) {
//        ctx.flush();
        System.out.print("client:" + msg.toString() + "\n\r");
        if (msg.toString().equals("123")) {
            ctx.close();
        }

    }

    @Override
    public void exceptionCaught(ChannelHandlerContext ctx, Throwable cause) {
        cause.printStackTrace();
        System.out.print("exceptionCaught------" + cause.getMessage());
//        ctx.close();
    }

    public static void main(String[] args) {
//        String host = "192.168.3.169";
        String host = "127.0.0.1";
        int port = 12038;
        Channel channel = new ImConnection().connect(host, port);
        channel.writeAndFlush("111111111111");
        channel.writeAndFlush("你好");
    }
}

只是简单记录 一下,如有不对请谅解!

机器分析结论: 应用名:健康 应用版本号:4.20.34_b780cda_250217 安装路径:null安装 应用进程名:com.heytap.health:SportDaemonService 问题类型:JavaCrash 问题原因:java.lang.NoClassDefFoundError错误 结果匹配:相关 关键日志: Line 5304: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: java.lang.NoClassDefFoundError: sf.b Line 5312: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: Caused by: java.lang.ExceptionInInitializerError Line 5323: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: Caused by: java.lang.RuntimeException: stub 堆栈信息: Line 5302: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: FATAL EXCEPTION: ES@DP_SyncCloud Line 5303: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: Process: com.heytap.health:SportDaemonService, PID: 22556 Line 5304: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: java.lang.NoClassDefFoundError: sf.b Line 5305: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at com.health.database.depend.d.N(SourceFile:1) Line 5306: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at pb.c.a(SourceFile:54) Line 5307: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at androidx.appcompat.widget.c.run(SourceFile:120) Line 5308: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at kg.a.run(SourceFile:6) Line 5309: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) Line 5310: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) Line 5311: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at java.lang.Thread.run(Thread.java:1012) Line 5312: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: Caused by: java.lang.ExceptionInInitializerError Line 5313: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at qd.a.initAfterPrivacyAgreed(SourceFile:12) Line 5314: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at pd.g.b(Unknown Source:2) Line 5315: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at pd.c.b(SourceFile:5) Line 5316: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at androidx.camera.core.p.run(SourceFile:91) Line 5317: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at kg.a.run(SourceFile:6) Line 5318: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at com.heytap.health.base.task.ThreadUtils$b.run(SourceFile:6) Line 5319: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:487) Line 5320: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at java.util.concurrent.FutureTask.run(FutureTask.java:264) Line 5321: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307) Line 5322: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: ... 3 more Line 5323: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: Caused by: java.lang.RuntimeException: stub Line 5324: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at com.oplus.osense.OsenseResEventClient.getInstance(Unknown Source:4) Line 5325: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: at sf.b.<clinit>(SourceFile:5) Line 5326: 03-24 15:40:12.838 22556 23127 E AndroidRuntime: ... 12 more
03-28
FATAL EXCEPTION: main Process: com.trassion.audiopath, PID: 10264 java.lang.RuntimeException: Unable to start service com.trassion.audiopath.rpc.RpcService@e57ff2e with Intent { cmp=com.trassion.audiopath/.rpc.RpcService }: java.lang.SecurityException: Starting FGS with type connectedDevice callerApp=ProcessRecord{7de7bc1 10264:com.trassion.audiopath/u0a320} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE] any of the permissions allOf=false [android.permission.BLUETOOTH_ADVERTISE, android.permission.BLUETOOTH_CONNECT, android.permission.BLUETOOTH_SCAN, android.permission.CHANGE_NETWORK_STATE, android.permission.CHANGE_WIFI_STATE, android.permission.CHANGE_WIFI_MULTICAST_STATE, android.permission.NFC, android.permission.TRANSMIT_IR, android.permission.UWB_RANGING, USB Device, USB Accessory] at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:5452) at android.app.ActivityThread.-$$Nest$mhandleServiceArgs(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2613) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loopOnce(Looper.java:311) at android.os.Looper.loop(Looper.java:408) at android.app.ActivityThread.main(ActivityThread.java:9151) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:692) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:945) Caused by: java.lang.SecurityException: Starting FGS with type connectedDevice callerApp=ProcessRecord{7de7bc1 10264:com.trassion.audiopath/u0a320} targetSDK=34 requires permissions: all of the permissions allOf=true [android.permission.FOREGROUND_SERVICE_CONNECTED_DEVICE] any of the permissions allOf=false [android.permission.BLUETOOTH_ADVERTISE, android.permission.BLUETOOTH_CONNECT, android.permission.BLUETOOTH_SCAN, android.permission.CHANGE_NETWORK_STATE, android.permission.CHANGE_WIFI_STATE, android.permission.CHANGE_WIFI_MULTICAST_STATE, android.permission.NFC, android.permission.TRANSMIT_IR, android.permission.UWB_RANGING, USB Device, USB Accessory] at android.os.Parcel.createExceptionOrNull(Parcel.java:3242) at android.os.Parcel.createException(Parcel.java:3226) at android.os.Parcel.readException(Parcel.java:3209) at android.os.Parcel.readException(Parcel.java:3151) at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:7547) at android.app.Service.startForeground(Service.java:776) at com.trassion.audiopath.rpc.RpcService.onStartCommand(RpcService.kt:59) at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:5434) ... 9 more Caused by: android.os.RemoteException: Remote stack trace: at com.android.server.am.ActiveServices.validateForegroundServiceType(ActiveServices.java:3078) at com.android.server.am.ActiveServices.setServiceForegroundInnerLocked(ActiveServices.java:2756) at com.android.server.am.ActiveServices.setServiceForegroundLocked(ActiveServices.java:2000) at com.android.server.am.ActivityManagerService.setServiceForeground(ActivityManagerService.java:15512) at android.app.IActivityManager$Stub.onTransact$setServiceForeground$(IActivityManager.java:13167)
07-18
m/soong/.intermediates/frameworks/base/services/permission/services.permission/android_common/kotlinc/srcJars" exception: org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: Exception during IR lowering File being compiled: /home/user256/work/TVE1086/system/frameworks/base/services/permission/java/com/android/server/permission/access/AccessCheckingService.kt The root cause java.lang.RuntimeException was thrown at: org.jetbrains.kotlin.backend.jvm.codegen.FunctionCodegen.generate(FunctionCodegen.kt:49) at org.jetbrains.kotlin.backend.common.CodegenUtil.reportBackendException(CodegenUtil.kt:241) at org.jetbrains.kotlin.backend.common.CodegenUtil.reportBackendException$default(CodegenUtil.kt:236) at org.jetbrains.kotlin.backend.common.phaser.PerformByIrFilePhase.invokeSequential(performByIrFile.kt:68) at org.jetbrains.kotlin.backend.common.phaser.PerformByIrFilePhase.invoke(performByIrFile.kt:55) at org.jetbrains.kotlin.backend.common.phaser.PerformByIrFilePhase.invoke(performByIrFile.kt:41) at org.jetbrains.kotlin.backend.common.phaser.NamedCompilerPhase.invoke(CompilerPhase.kt:96) at org.jetbrains.kotlin.backend.common.phaser.CompositePhase.invoke(PhaseBuilders.kt:29) at org.jetbrains.kotlin.backend.common.phaser.NamedCompilerPhase.invoke(CompilerPhase.kt:96) at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.invokeToplevel(CompilerPhase.kt:43) at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.invokeCodegen(JvmIrCodegenFactory.kt:312) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.runCodegen(KotlinToJVMBytecodeCompiler.kt:348) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:123) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:47) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:167) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:53) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:101) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:47) at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101) at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:79) at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:43) at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:179) at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit$default(CLITool.kt:177) at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:166) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler$Companion.main(K2JVMCompiler.kt:250) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.main(K2JVMCompiler.kt) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.jetbrains.kotlin.preloading.Preloader.run(Preloader.java:87) at org.jetbrains.kotlin.preloading.Preloader.main(Preloader.java:44) Caused by: java.lang.RuntimeException: Exception while generating code for: FUN name:initialize visibility:public modality:FINAL <> ($this:com.android.server.permission.access.AccessCheckingService) returnType:kotlin.Unit $this: VALUE_PARAMETER name:<this> type:com.android.server.permission.access.AccessCheckingService BLOCK_BODY SET_FIELD 'FIELD PROPERTY_BACKING_FIELD name:packageManagerInternal type:android.content.pm.PackageManagerInternal? visibility:private' type=kotlin.Unit origin=null receiver: GET_VAR '<this>: com.android.server.permission.access.AccessCheckingService declared in com.android.server.permission.access.AccessCheckingService.initialize' type=com.android.server.permission.access.AccessCheckingService origin=null value: CALL 'public open fun getService <T> (type: @[FlexibleNullability] java.lang.Class<@[FlexibleNullability] T of com.android.server.LocalServices.getService?>?): @[FlexibleNullability] T of com.android.server.LocalServices.getService? declared in com.android.server.LocalServices' type=@[FlexibleNullability] android.content.pm.PackageManagerInternal? origin=null <T>: @[FlexibleNullability] android.content.pm.PackageManagerInternal? type: CALL 'public final fun <get-java> <T> (): java.lang.Class<T of kotlin.jvm.JvmClassMappingKt.<get-java>> declared in kotlin.jvm.JvmClassMappingKt' type=java.lang.Class<android.content.pm.PackageManagerInternal> origin=GET_PROPERTY <T>: android.content.pm.PackageManagerInternal $receiver: CLASS_REFERENCE 'CLASS IR_EXTERNAL_JAVA_DECLARATION_STUB CLASS name:PackageManagerInternal modality:ABSTRACT visibility:public superTypes:[kotlin.Any]' type=kotlin.reflect.KClass<android.content.pm.PackageManagerInternal>
最新发布
08-12
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值