iTXTech / mirai-native

强大的 mirai 原生插件加载器
GNU Affero General Public License v3.0
371 stars 141 forks source link

无法加载酷q dll和json #69

Closed Cherryluoying closed 4 years ago

Cherryluoying commented 4 years ago

请求描述 如果酷Q插件运行于mirai native发生错误,请确定该错误发生由mirai native造成。 判断依据可以查看Java生成的错误报告,最后一行跟踪显示包含[CQP.dll +0xxxxx]j org.itxtech.mirainative.xxxxxxx即为mirai native发生错误。

如果酷Q插件未能按预期运行于mirai native,请在此准确描述情况。

截图和日志 2020-08-27 17:20:16 W/MiraiNative: 当前运行环境 64 可能不与 Mirai Native 兼容,推荐使用 32位 JRE 运行 Mirai Native。 2020-08-27 17:20:16 W/MiraiNative: 如果您正在开发或调试其他环境下的 Mirai Native,请忽略此警告。 2020-08-27 17:20:16 W/MiraiNative: 图片或语音文件夹创建失败,可能没有使用管理员权限运行。位置:C:\Program Files (x86)\Common Files\Oracle\Java\javapath\data\ 2020-08-27 17:20:16 I/plugin: Successfully loaded plugin MiraiNative 2020-08-27 17:20:16 I/MiraiNative: 正在加载 E:\编程文件\mirai\mirai-console-starter-master.\plugins\MiraiNative\CQP.dll 2020-08-27 17:20:16 I/plugin: Successfully enabled plugin MiraiNative 2020-08-27 17:20:16 I/main: 1 plugin(s) loaded. 2020-08-27 17:20:16 I/main: mirai-console started successfully. 2020-08-27 17:20:16 E/MiraiNative: java.util.concurrent.CancellationException: Exception while enabling plugin java.util.concurrent.CancellationException: Exception while enabling plugin at kotlinx.coroutines.ExceptionsKt.CancellationException(Exceptions.kt:22) at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnEnable$mirai_console(JvmPluginInternal.kt:97) at net.mamoe.mirai.console.internal.plugin.JarPluginLoaderImpl.enable(JarPluginLoaderImpl.kt:116) at net.mamoe.mirai.console.plugin.jvm.JarPluginLoader$INSTANCE.enable(JarPluginLoader.kt) at net.mamoe.mirai.console.plugin.jvm.JarPluginLoader$INSTANCE.enable(JarPluginLoader.kt:35) at net.mamoe.mirai.console.plugin.DeferredPluginLoader.enable(PluginLoader.kt:176) at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.enablePlugin(PluginManagerImpl.kt:88) at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.loadAndEnableAllInOrder(PluginManagerImpl.kt:122) at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.loadEnablePlugins$mirai_console(PluginManagerImpl.kt:115) at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:102) at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:118) at net.mamoe.mirai.console.pure.MiraiConsolePureLoader.startup$mirai_console_pure(MiraiConsolePureLoader.kt:41) at net.mamoe.mirai.console.pure.MiraiConsolePureLoader.startup$mirai_console_pure$default(MiraiConsolePureLoader.kt:40) at net.mamoe.mirai.console.pure.MiraiConsolePureLoader.main(MiraiConsolePureLoader.kt:36) Caused by: java.lang.UnsatisfiedLinkError: E:\����ļ�\mirai\mirai-console-starter-master\plugins\MiraiNative\CQP.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(Unknown Source) at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.load0(Unknown Source) at java.lang.System.load(Unknown Source) at org.itxtech.mirainative.manager.LibraryManager.load(LibraryManager.kt:33) at org.itxtech.mirainative.MiraiNative.checkNativeLibs(MiraiNative.kt:61) at org.itxtech.mirainative.MiraiNative.onEnable(MiraiNative.kt:134) at net.mamoe.mirai.console.internal.plugin.JvmPluginInternal.internalOnEnable$mirai_console(JvmPluginInternal.kt:90) ... 12 more

运行环境

PeratX commented 4 years ago

当前运行环境 64 可能不与 Mirai Native 兼容,推荐使用 32位 JRE 运行 Mirai Native。

Cherryluoying commented 4 years ago

用32位运行直接无法登录

Cherryluoying commented 4 years ago

当前运行环境64可能不与Mirai Native兼容,推荐使用32位JRE运行Mirai Native。

用32位运行直接无法登录

Cherryluoying commented 4 years ago

提示:2020-08-27 17:45:10 E/console: java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97) at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113) at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108) at kotlin.reflect.full.KCallables.callSuspend(KCallables.kt:55) at net.mamoe.mirai.console.internal.command.CompositeCommandInternalKt$createSubCommand$7.invokeSuspend(CompositeCommandInternal.kt:323) at net.mamoe.mirai.console.internal.command.CompositeCommandInternalKt$createSubCommand$7.invoke(CompositeCommandInternal.kt) at net.mamoe.mirai.console.internal.command.AbstractReflectionCommand$SubCommandDescriptor.parseAndExecute$mirai_console(CompositeCommandInternal.kt:140) at net.mamoe.mirai.console.command.SimpleCommand.onCommand(SimpleCommand.kt:75) at net.mamoe.mirai.console.internal.command.InternalKt.executeCommandInternal(internal.kt:195) at net.mamoe.mirai.console.internal.command.CommandManagerImpl.executeCommand(CommandManagerImpl.kt:162) at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(CommandManager.kt:155) at net.mamoe.mirai.console.pure.ConsoleThreadKt$startupConsoleThread$inputThread$1$1.invokeSuspend(ConsoleThread.kt:48) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56) at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:274) at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:84) at kotlinx.coroutines.BuildersKtBuildersKt.runBlocking(Builders.kt:59) at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source) at kotlinx.coroutines.BuildersKtBuildersKt.runBlocking$default(Builders.kt:38) at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source) at net.mamoe.mirai.console.pure.ConsoleThreadKt$startupConsoleThread$inputThread$1.invoke(ConsoleThread.kt:34) at net.mamoe.mirai.console.pure.ConsoleThreadKt$startupConsoleThread$inputThread$1.invoke(ConsoleThread.kt) at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30) Caused by: java.io.FileNotFoundException: device.json (�ܾ����ʡ�) at java.io.FileOutputStream.open0(Native Method) at java.io.FileOutputStream.open(Unknown Source) at java.io.FileOutputStream.(Unknown Source) at java.io.FileOutputStream.(Unknown Source) at kotlin.io.FilesKtFileReadWriteKt.writeBytes(FileReadWrite.kt:108) at kotlin.io.FilesKtFileReadWriteKt.writeText(FileReadWrite.kt:134) at kotlin.io.FilesKt__FileReadWriteKt.writeText$default(FileReadWrite.kt:134) at net.mamoe.mirai.utils.SystemDeviceInfoKt.loadAsDeviceInfo(SystemDeviceInfo.kt:27) at net.mamoe.mirai.utils.LoginSolver_jvmKt$getFileBasedDeviceInfoSupplier$1.invoke(LoginSolver.jvm.kt:157) at net.mamoe.mirai.utils.LoginSolver_jvmKt$getFileBasedDeviceInfoSupplier$1.invoke(LoginSolver.jvm.kt) at net.mamoe.mirai.qqandroid.QQAndroidBotBase.(QQAndroidBot.common.kt:242) at net.mamoe.mirai.qqandroid.QQAndroidBot.(QQAndroidBot.common.kt:76) at net.mamoe.mirai.qqandroid.QQAndroid.newBot(QQAndroid.kt:31) at net.mamoe.mirai.console.MiraiConsole$INSTANCE.addBot(MiraiConsole.kt:133) at net.mamoe.mirai.console.MiraiConsole$INSTANCE.addBot$default(MiraiConsole.kt:102) at net.mamoe.mirai.console.command.BuiltInCommands$Login.handle(BuiltInCommands.kt:140) ... 27 more 2020-08-27 17:45:50 W/stderr: Exception in thread "DefaultDispatcher-worker-2" java.io.IOException: ϵͳ�Ҳ���ָ����·���� 2020-08-27 17:45:50 W/stderr: at java.io.WinNTFileSystem.createFileExclusively(Native Method) 2020-08-27 17:45:50 W/stderr: at java.io.File.createNewFile(Unknown Source) 2020-08-27 17:45:50 W/stderr: at net.mamoe.mirai.console.internal.data.MultiFilePluginDataStorageImpl.getPluginDataFile(MultiFilePluginDataStorageImpl.kt:58) 2020-08-27 17:45:50 W/stderr: at net.mamoe.mirai.console.internal.data.MultiFilePluginDataStorageImpl.store(MultiFilePluginDataStorageImpl.kt:63) 2020-08-27 17:45:50 W/stderr: at net.mamoe.mirai.console.data.AutoSavePluginData.doSave(AutoSavePluginData.kt:108) 2020-08-27 17:45:50 W/stderr: at net.mamoe.mirai.console.data.AutoSavePluginData.access$doSave(AutoSavePluginData.kt:33) 2020-08-27 17:45:50 W/stderr: at net.mamoe.mirai.console.data.AutoSavePluginData$updaterBlock$1.invokeSuspend(AutoSavePluginData.kt:87) 2020-08-27 17:45:50 W/stderr: at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 2020-08-27 17:45:50 W/stderr: at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56) 2020-08-27 17:45:50 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571) 2020-08-27 17:45:50 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:738) 2020-08-27 17:45:50 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678) 2020-08-27 17:45:50 W/stderr: at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

PeratX commented 4 years ago

无法登录是mirai console的问题,这个是已知问题,请向mirai console汇报,用管理员权限启动暂时解决

Cherryluoying commented 4 years ago

无法登录是mirai console的问题,这个是已知问题,请向mirai console汇报,用管理员权限启动暂时解决 移除除mirai native又可以登录/捂脸

PeratX commented 4 years ago

无法登录是mirai console的问题,这个是已知问题,请向mirai console汇报,用管理员权限启动暂时解决 移除除mirai native又可以登录/捂脸

管理员权限启动暂时解决,这是易语言的一个BUG,载入时会强制修改运行目录,现在已经加入patch每载入一次插件都强制设置运行目录成Java原来的