EventBus3.0实用教程

本文介绍了EventBus在Android开发中的使用方法,包括添加依赖、定义事件、事件接收者和发布者的步骤,并通过示例展示了如何在不同模块之间进行事件通信。

作为一个Android开发者,我们在日常的开发中肯定会使用到EventBus,比如说当我们在做app的消息模块的时候,接收到后台推送的消息之后,为了方便用户查看,就需要把消息保存到本地,正常情况下在页面上会有个badge显示消息数量,如果我们不在badge显示界面的话,就需要在接收到后台推送之后更新badge上显示的消息数量,这个时候就可以使用EventBus发出一个事件,这样订阅者接收到事件之后,就会从数据库拿未读消息数,显示在badge上面。说了这么多,下面就简单的介绍下EventBus的使用:

EventBus地址:GitHub

一、EventBus 介绍

ventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。这个消息总线主要有三个部分:
1. 事件(Event)
2. 事件订阅者(Subscriber)(有没有想到RxJava里面的订阅者 ==。)
3. 事件发布者(Publisher)

官方的关系图

官方关系图

特征叙述:

  • 简化组件间的通信
    • 事件发送者和接收者解耦
    • 在活动、片段和后台线程中执行良好
    • 避免了复杂、易出错的依赖关系和生命周期问题
  • 使你的代码更加简单
  • 快!
  • 小!(大约50K)
  • 在100,000,000+个程序上使用
  • 先进特征,比如指定线程、设置优先级等

二、使用EventBus仅需四步

1. 添加依赖

使用Gradle

compile 'org.greenrobot:eventbus:3.0.0'

或者Maven

<dependency>
    <groupId>org.greenrobot</groupId>
    <artifactId>eventbus</artifactId>
    <version>3.0.0</version>
</dependency>

又或者下载Jar包添加到项目中
jar包下载

2. 定义事件(Event)

public class TestMsg {
}

这个TestMsg由从事件发布者发出,到事件订阅者接收,当然也可以加上额外的信息,比如下面可以传递name

public class TestMsg {
    private String name;

    public TestMsg(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

3. 定义事件接收者(Subscriber)

首先在所属的ActivityonCreate()里面注册

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_lib);
        EventBus.getDefault().register(this);
    }

onDestory里面取消注册

@Override
    protected void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }

然后定义处理事件:

@Subscribe(threadMode = ThreadMode.MAIN)
    public void onEventMainThread(TestMsg testMsg) {

        if (testMsg != null) {
            Log.d("MainActivity", "你收到的名字为: "+testMsg.getName());
        }
    }

这里的定义了事件接收者以及使用注解@Subscribe(threadMode = ThreadMode.MAIN)指定了执行的线程。ThreadMode有下面四种类型:

  1. MAIN UI主线程
  2. POSTING 默认调用方式,在调用post方法的线程执行,避免了线程切换,性能开销最少

  3. BACKGROUND 如果调用post方法的线程不是主线程,则直接在该线程执行。
    如果是主线程,则切换到后台单例线程,多个方法公用同个后台线程,按顺序执行,避免耗时操作

  4. ASYNC 开辟新独立线程,用来执行耗时操作,例如网络访问。

当然这里可以在注解里面设置优先级,比如下面设置优先级为100,越大就越线先接收到事件:

@Subscribe(threadMode = ThreadMode.POSTING,priority = 100)
    public void onEventMainThread(TestMsg testMsg) {

        if (testMsg != null) {
            Log.d("MainActivity", "你收到的名字为: "+testMsg.getName());
        }
    }

如果你有三个接收事件,并且设置了不同的优先级,比如100、50、10,你也可以在priority = 100的接收到之后取消事件的传递,那么priority = 50和10的就不会接收到事件了。但是请注意,只能在ThreadMode.PostThread类型的才能取消,其他的三种ThreadMode类型是不能取消的。

如何设置:

EventBus.getDefault().cancelEventDelivery(event) ;

4.定义事件发布者(Publisher)发出事件

sendMessage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                EventBus.getDefault().post(new TestMsg("测试EventBus"));
            }
        });

我写了一个小Demo,这个Demo是我在主module,也就是在app下面定义了事件接收者,在主app依赖的module下面发出事件来测试的。结果是可行的。有兴趣的小伙伴可以去看下:

Demo地址

==================== Basic Information ==================== FCL Version: 1.2.1.8 Architecture: arm64 Android SDK: 31 Java Version: 17 Renderer: Holy-GL4ES Summarize: Application error, unable to launch, exit code = 6 ==================== Basic Information ==================== invoke redirectStdio invoke setLogPipeReady [FCL Internal] C:/Users/Administrator/Desktop/Project_Files/Android_Project/FoldCraftLauncher/FCLauncher/src/main/jni/fcl/fcl_loader.c:130 Log pipe ready. invoke setFCLNativeWindow invoke setEventPipe ==================== Start Minecraft ==================== Device: Huawei ADY-AL10 ADY-AL10 Architecture: arm64 CPU: kirin Android SDK: 31 Language: zh_CN_#Hans FCL Version Code: 1218 ==================== Mods ==================== 1.19.2-damage_number-1.3.1 | damage_number | 1.3.1 | FORGE AttributeFix-Forge-1.19.2-17.2.8 | attributefix | 17.2.8 | FORGE BetterPingDisplay-1.19-1.1 | betterpingdisplay | 1.1 | FORGE Bookshelf-Forge-1.19.2-16.3.20 | bookshelf | 16.3.20 | FORGE CreativeCore_FORGE_v2.11.28_mc1.19.2 | creativecore | 2.11.28 | FORGE EnchantmentDescriptions-Forge-1.19.2-13.0.20 | enchdesc | 13.0.20 | FORGE Highlighter-1.19.1-1.1.4 | highlighter | 1.1.4 | FORGE I18nUpdateMod-3.6.2-all | i18nupdatemod | 3.6.2 | FABRIC Iceberg-1.19.2-forge-1.1.4 | iceberg | 1.1.4 | FORGE InventoryProfilesNext-forge-1.19-1.10.14 | inventoryprofilesnext | 1.10.14 | FORGE ItemPhysic_FORGE_v1.6.7_mc1.19.2 | itemphysic | 1.6.7 | FORGE Jade-1.19.1-forge-8.9.2 | jade | 8.9.2 | FORGE MemorySweep-1.19.3-0.8 | memorysweep | 1.19.3-0.8 | FORGE ModernUI-Forge-1.19.2-3.10.1.2-universal | modernui | 3.10.1.2 | FORGE Pehkui-3.7.11+1.19.2-forge | pehkui | 3.7.11+1.19.2-forge | FORGE PickUpNotifier-v4.2.4-1.19.2-Forge | pickupnotifier | 4.2.4 | FORGE PuzzlesLib-v4.4.3-1.19.2-Forge | puzzleslib | 4.4.3 | FORGE ShoulderSurfing-Forge-1.19.2-4.10.4 | shouldersurfing | 1.19.2-4.10.4 | FORGE Tokusatsu Hero Instrumentality Project-6.5.2 release | tokusatsu_hero_completion_plan | 6.5.0 | FORGE XaerosWorldMap_1.39.4_Forge_1.19.1 | xaeroworldmap | 1.39.4 | FORGE Xaeros_Minimap_25.2.0_Forge_1.19.1 | xaerominimap | 25.2.0 | FORGE [边拿边走] InvMove-0.9.0+1.19.4-Forge | invmove | 0.9.0 | FORGE appleskin-forge-mc1.19-2.4.2 | appleskin | 2.4.2+mc1.19 | FORGE architectury-6.6.92-forge | architectury | 6.6.92 | FORGE asteorbar-forge-1.19.2-1.4.6 | asteorbar | 1.4.6 | FORGE balm-forge-1.19.2-4.6.0 | balm | 4.6.0 | FORGE bendy-lib-forge-2.1.1 | bendylib | 2.1.1 | FORGE biggerstacks-1.19.2-3.8.2-all | biggerstacks | 1.19.2-3.8.2 | FORGE carryon-forge-1.19.2-2.1.2.23 | carryon | 2.1.2.23 | FORGE cloth-config-8.3.134-forge | cloth_config | 8.3.134 | FORGE combatroll-forge-1.1.5+1.19 | combatroll | 1.1.5+1.19 | FORGE configured-2.1.1-1.19.2 | configured | 2.1.1 | FORGE constructionwand-1.19.2-2.10 | constructionwand | 1.19.2-2.10 | FORGE dummmmmmy-1.19.2-1.7.1 | dummmmmmy | 1.19.2-1.7.1 | FORGE elenaidodge2-1.0.2 | elenaidodge2 | 1.0.2 | FORGE emotecraft-for-MC1.19.2-2.2.7-b.build.50-forge | emotecraft | 2.2.7-b.build.50 | FORGE entityculling-forge-1.6.1-mc1.19.2 | entityculling | 1.6.1 | FORGE explosiveenhancement-1.0.1 | explosiveenhancement | 1.0.1 | FORGE feathers-1.1.2 | feathers | 1.1.2 | FORGE ferritecore-5.0.3-forge | ferritecore | 5.0.3 | FORGE ftb-chunks-forge-1902.4.7-build.420 | ftbchunks | 1902.4.7-build.420 | FORGE ftb-library-forge-1902.4.1-build.236 | ftblibrary | 1902.4.1-build.236 | FORGE ftb-quests-forge-1902.5.10-build.497 | ftbquests | 1902.5.10-build.497 | FORGE ftb-teams-forge-1902.2.14-build.123 | ftbteams | 1902.2.14-build.123 | FORGE ftb-ultimine-forge-1902.4.2-build.14 | ftbultimine | 1902.4.2-build.14 | FORGE gamemenumodoption-mc1.19.2-1.18.1 | gamemenumodoption | 1.18.1 | FORGE geckolib-forge-1.19-3.1.40 | geckolib3 | 3.1.40 | FORGE item-filters-forge-1902.2.9-build.51 | itemfilters | 1902.2.9-build.51 | FORGE jecharacters-1.19.2-forge-4.5.13 | jecharacters | 4.5.13 | FORGE jei-1.19.2-forge-11.8.1.1034 | jei | 11.8.1.1034 | FORGE justenoughbreeding-forge-1.19.2-1.4.0 | justenoughbreeding | 1.4.0 | FORGE kotlinforforge-3.12.0-all | kotlinforforge-3.12.0-all | | UNKNOWN lanserverproperties-1.9.1-forge | lanserverproperties | 1.9.1 | FORGE libIPN-forge-1.19-4.0.2 | libipn | 4.0.2 | FORGE lightspeed-1.19.2-1.0.5 | lightspeed | 1.19.2-1.1.0 | FORGE memoryusagescreen-forge-mc1.19-1.6 | memoryusagescreen | 1.6 | FORGE mobbattle-1.19-2.4.3-forge | mobbattle | 1.19-2.4.3 | FORGE moonlight-1.19.2-2.3.7-forge | moonlight | 1.19.2-2.3.7 | FORGE player-animation-lib-forge-1.0.2 | playeranimator | 1.0.2 | FORGE prefab-1.9.2.5 | prefab | 1.9.2.5 | FORGE sophisticatedbackpacks-1.19.2-3.20.2.1035 | sophisticatedbackpacks | 1.19.2-3.20.2.1035 | FORGE sophisticatedcore-1.19.2-0.6.4.730 | sophisticatedcore | 1.19.2-0.6.4.730 | FORGE starlight-1.1.1+forge.cf5b10b | starlight | 1.1.1+forge.a3aea74 | FORGE stepitup-1.0-1.19-forge | stepitup | 1.0-1.19 | FORGE tacz-1.19.2-1.1.4-hotfix-all | tacz | 1.1.4-hotfix | FORGE trashslot-forge-1.19.2-12.1.0 | trashslot | 12.1.0 | FORGE voicechat-forge-1.19.2-2.5.29 | voicechat | 1.19.2-2.5.29 | FORGE 一键整理前置kotlinforforge-3.12.0-all | 一键整理前置kotlinforforge-3.12.0-all | | UNKNOWN 安全模式修复datapackloaderrorfix-1.19.x-19.1.0 | datapackloaderrorfix | 19.1.0 | FORGE 怪兽100天附属4.0 | monster_subsidiary | 1.0.0 | FORGE 玩家血条显示[1.19.2][Forge]+RPG-HUD-3.10.1 | rpghud | 3.10.1 | FORGE 综合格斗-1.0.5-forge-1.19.2 | mixed_martial_arts | 1.0.0 | FORGE 血量显示TES-forge-1.19.2-1.1.2 | tslatentitystatus | 1.1.2 | FORGE ==================== Env Map ==================== Env: PATH=/data/user/0/com.fcl.gsybt/app_runtime/java/jre17/bin:/product/bin:/apex/com.android.runtime/bin:/apex/com.android.art/bin:/system_ext/bin:/system/bin:/system/xbin:/odm/bin:/vendor/bin:/vendor/xbin Env: FCL_VERSION_CODE=1218 Env: POJAV_RENDERER=opengles2 Env: POJAV_NATIVEDIR=/data/app/~~xUxyGC1PwCnIxXAuAZl4Iw==/com.fcl.gsybt-wmkeJDaHEswLsXa43A5DQQ==/lib/arm64 Env: LIBGL_NOINTOVLHACK=1 Env: FORCE_VSYNC=false Env: JAVA_HOME=/data/user/0/com.fcl.gsybt/app_runtime/java/jre17 Env: LIBGL_MIPMAP=3 Env: TMPDIR=/data/user/0/com.fcl.gsybt/cache Env: LIBGL_ES=2 Env: FCL_NATIVEDIR=/data/app/~~xUxyGC1PwCnIxXAuAZl4Iw==/com.fcl.gsybt-wmkeJDaHEswLsXa43A5DQQ==/lib/arm64 Env: DRIVER_PATH=/data/app/~~xUxyGC1PwCnIxXAuAZl4Iw==/com.fcl.gsybt-wmkeJDaHEswLsXa43A5DQQ==/lib/arm64 Env: LD_LIBRARY_PATH=/system/lib64:/vendor/lib64:/vendor/lib64/hw:/data/app/~~xUxyGC1PwCnIxXAuAZl4Iw==/com.fcl.gsybt-wmkeJDaHEswLsXa43A5DQQ==/lib/arm64 Env: LIBGL_NOERROR=1 Env: INST_FORGE=1 Env: HOME=/storage/emulated/0/FCL/log Env: LIBGL_NORMALIZE=1 ==================== Env Map ==================== DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libjli.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/server/libjvm.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libfreetype.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libverify.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libjava.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libnet.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libnio.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libawt.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libawt_headless.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libfontmanager.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libsctp.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libnet.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libextnet.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libfreetype.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libverify.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libjli.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libjdwp.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libzip.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libawt.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libjaas.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libmanagement_agent.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libjimage.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/liblcms.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libnio.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libawt_headless.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libmanagement_ext.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/librmi.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libjawt.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libmlib_image.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libmanagement.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libjavajpeg.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libj2pkcs11.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libfontmanager.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libprefs.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libdt_socket.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libinstrument.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libj2gss.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libjsig.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libjava.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/server/libjvm.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/server/libjsig.so DLOPEN: loading /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/libawt_xawt.so DLOPEN: loading /data/app/~~xUxyGC1PwCnIxXAuAZl4Iw==/com.fcl.gsybt-wmkeJDaHEswLsXa43A5DQQ==/lib/arm64/libopenal.so Initialising gl4es v1.1.5 built on Jul 14 2024 19:34:14 Using GLES 2.0 backend loaded: libGLESv2.so loaded: libEGL.so Using GLES 2.0 backend Hardware Full NPOT detected and used Extension GL_EXT_blend_minmax detected and used FBO are in core, and so used PointSprite are in core, and so used CubeMap are in core, and so used BlendColor is in core, and so used Blend Subtract is in core, and so used Blend Function and Equation Separation is in core, and so used Texture Mirrored Repeat is in core, and so used Extension GL_OES_mapbuffer detected Extension GL_OES_element_index_uint detected and used Extension GL_OES_packed_depth_stencil detected and used Extension GL_OES_depth24 detected and used Extension GL_OES_rgb8_rgba8 detected and used Extension GL_EXT_texture_format_BGRA8888 detected and used Extension GL_OES_depth_texture detected and used Extension GL_OES_texture_stencil8 detected and used Extension GL_EXT_texture_rg detected and used Extension GL_OES_texture_float detected and used Extension GL_OES_texture_half_float detected and used Extension GL_EXT_color_buffer_float detected and used Extension GL_EXT_color_buffer_half_float detected and used high precision float in fragment shader available and used Max vertex attrib: 16 Extension GL_OES_standard_derivatives detected and used Extension GL_ARM_shader_framebuffer_fetch detected and used Extension GL_OES_get_program_binary detected and used Number of supported Program Binary Format: 1 Max texture size: 8192 Max Varying Vector: 31 Texture Units: 16/16 (hardware: 16), Max lights: 8, Max planes: 6 Extension GL_EXT_texture_filter_anisotropic detected and used Max Anisotropic filtering: 16 Hardware vendor is HUAWEI GLSL 300 es supported GLSL 310 es supported and used GLSL 320 es supported Max Color Attachments: 8 / Draw buffers: 8 sRGB surface supported EGLImage to Texture2D supported EGLImage to RenderBuffer supported ignore MipMap glGetError() always return GL_NOERROR Targeting OpenGL 2.1 No hack in shader converter to define overloaded function with int Not trying to batch small subsequent glDrawXXXX try to use VBO Force texture for Attachment color0 on FBO Hack to trigger a SwapBuffers when a Full Framebuffer Blit on default FBO is done Force normals to be normalized on FPE shaders glX Will try to recycle EGL Surface Current folder is:/ Working directory: /storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/versions/怪兽100天 DLOPEN: loading /data/app/~~xUxyGC1PwCnIxXAuAZl4Iw==/com.fcl.gsybt-wmkeJDaHEswLsXa43A5DQQ==/lib/arm64/libgl4es_114.so (error = undefined symbol: glTranslatex) ==================== Minecraft Arguments ==================== Java argument: /data/user/0/com.fcl.gsybt/app_runtime/java/jre17/bin/java Java argument: -Djava.awt.headless=false Java argument: -Dcacio.managed.screensize=2760x1256 Java argument: -Dcacio.font.fontmanager=sun.awt.X11FontManager Java argument: -Dcacio.font.fontscaler=sun.font.FreetypeFontScaler Java argument: -Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel Java argument: -Dawt.toolkit=com.github.caciocavallosilano.cacio.ctc.CTCToolkit Java argument: -Djava.awt.graphicsenv=com.github.caciocavallosilano.cacio.ctc.CTCGraphicsEnvironment Java argument: -Djava.system.class.loader=com.github.caciocavallosilano.cacio.ctc.CTCPreloadClassLoader Java argument: --add-exports=java.desktop/java.awt=ALL-UNNAMED Java argument: --add-exports=java.desktop/java.awt.peer=ALL-UNNAMED Java argument: --add-exports=java.desktop/sun.awt.image=ALL-UNNAMED Java argument: --add-exports=java.desktop/sun.java2d=ALL-UNNAMED Java argument: --add-exports=java.desktop/java.awt.dnd.peer=ALL-UNNAMED Java argument: --add-exports=java.desktop/sun.awt=ALL-UNNAMED Java argument: --add-exports=java.desktop/sun.awt.event=ALL-UNNAMED Java argument: --add-exports=java.desktop/sun.awt.datatransfer=ALL-UNNAMED Java argument: --add-exports=java.desktop/sun.font=ALL-UNNAMED Java argument: --add-exports=java.base/sun.security.action=ALL-UNNAMED Java argument: --add-opens=java.base/java.util=ALL-UNNAMED Java argument: --add-opens=java.desktop/java.awt=ALL-UNNAMED Java argument: --add-opens=java.desktop/sun.font=ALL-UNNAMED Java argument: --add-opens=java.desktop/sun.java2d=ALL-UNNAMED Java argument: --add-opens=java.base/java.lang.reflect=ALL-UNNAMED Java argument: --add-opens=java.base/java.net=ALL-UNNAMED Java argument: -Xbootclasspath/a:/data/user/0/com.fcl.gsybt/app_runtime/caciocavallo17/cacio-shared-1.19-SNAPSHOT.jar:/data/user/0/com.fcl.gsybt/app_runtime/caciocavallo17/cacio-tta-1.19-SNAPSHOT.jar Java argument: -Xmx3712m Java argument: -Dfile.encoding=UTF-8 Java argument: -Dsun.stdout.encoding=UTF-8 Java argument: -Dsun.stderr.encoding=UTF-8 Java argument: -Djava.rmi.server.useCodebaseOnly=true Java argument: -Dcom.sun.jndi.rmi.object.trustURLCodebase=false Java argument: -Dcom.sun.jndi.cosnaming.object.trustURLCodebase=false Java argument: -Dlog4j2.formatMsgNoLookups=true Java argument: -Dlog4j.configurationFile=/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/versions/怪兽100天/log4j2.xml Java argument: -Dminecraft.client.jar=/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/versions/怪兽100天/怪兽100.jar Java argument: -XX:ActiveProcessorCount=8 Java argument: -Dfml.ignoreInvalidMinecraftCertificates=true Java argument: -Dfml.ignorePatchDiscrepancies=true Java argument: -Dext.net.resolvPath=/data/user/0/com.fcl.gsybt/app_runtime/java/resolv.conf Java argument: -Djava.io.tmpdir=/data/user/0/com.fcl.gsybt/cache/fclauncher Java argument: -Dos.name=Linux Java argument: -Dos.version=Android-12 Java argument: -Dorg.lwjgl.opengl.libname=libgl4es_114.so Java argument: -Dorg.lwjgl.freetype.libname=/data/app/~~xUxyGC1PwCnIxXAuAZl4Iw==/com.fcl.gsybt-wmkeJDaHEswLsXa43A5DQQ==/lib/arm64/libfreetype.so Java argument: -Dfml.earlyprogresswindow=false Java argument: -Dglfwstub.windowWidth=2760 Java argument: -Dglfwstub.windowHeight=1256 Java argument: -Dglfwstub.initEgl=false Java argument: -Dloader.disable_forked_guis=true Java argument: -Duser.home=/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft Java argument: -Duser.language=zh Java argument: -Duser.timezone=Asia/Shanghai Java argument: -Dorg.lwjgl.vulkan.libname=libvulkan.so Java argument: -Dsodium.checks.issue2561=false Java argument: -Djdk.lang.Process.launchMechanism=FORK Java argument: -Dcpu.name=kirin Java argument: -Djna.boot.library.path=/data/user/0/com.fcl.gsybt/app_runtime/jna/5.13.0 Java argument: -Dfcl.injector=4:net.minecraft.client.Minecraft:m_91087_:f_91077_:m_6662_ Java argument: -javaagent:/data/user/0/com.fcl.gsybt/files/plugins/MioLibPatcher.jar Java argument: -Djava.library.path=/data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib:/data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/jli:/data/user/0/com.fcl.gsybt/app_runtime/java/jre17/lib/server:/system/lib64:/vendor/lib64:/vendor/lib64/hw:/data/user/0/com.fcl.gsybt/app_runtime/jna:/data/app/~~xUxyGC1PwCnIxXAuAZl4Iw==/com.fcl.gsybt-wmkeJDaHEswLsXa43A5DQQ==/lib/arm64 Java argument: -Dminecraft.launcher.brand=怪兽100天 Java argument: -Dminecraft.launcher.version=1.2.1.8 Java argument: -cp Java argument: /data/user/0/com.fcl.gsybt/app_runtime/lwjgl/lwjgl.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/ow2/asm/asm/9.7.1/asm-9.7.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/ow2/asm/asm-commons/9.7.1/asm-commons-9.7.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/ow2/asm/asm-tree/9.7.1/asm-tree-9.7.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/ow2/asm/asm-util/9.7.1/asm-util-9.7.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/ow2/asm/asm-analysis/9.7.1/asm-analysis-9.7.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecraftforge/accesstransformers/8.0.4/accesstransformers-8.0.4.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/antlr/antlr4-runtime/4.9.1/antlr4-runtime-4.9.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecraftforge/eventbus/6.0.3/eventbus-6.0.3.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecraftforge/forgespi/6.0.0/forgespi-6.0.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecraftforge/coremods/5.2.4/coremods-5.2.4.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/cpw/mods/modlauncher/10.0.8/modlauncher-10.0.8.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecraftforge/unsafe/0.2.0/unsafe-0.2.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/electronwill/night-config/core/3.6.4/core-3.6.4.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/electronwill/night-config/toml/3.6.4/toml-3.6.4.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/apache/maven/maven-artifact/3.8.5/maven-artifact-3.8.5.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/jodah/typetools/0.8.3/typetools-0.8.3.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecrell/terminalconsoleappender/1.2.0/terminalconsoleappender-1.2.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/jline/jline-reader/3.12.1/jline-reader-3.12.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/jline/jline-terminal/3.12.1/jline-terminal-3.12.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/openjdk/nashorn/nashorn-core/15.4/nashorn-core-15.4.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecraftforge/JarJarSelector/0.3.16/JarJarSelector-0.3.16.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecraftforge/JarJarMetadata/0.3.16/JarJarMetadata-0.3.16.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/apache/logging/log4j/log4j-slf4j-impl/2.19.0/log4j-slf4j-impl-2.19.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/apache/logging/log4j/log4j-api/2.19.0/log4j-api-2.19.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/apache/logging/log4j/log4j-core/2.19.0/log4j-core-2.19.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/java/dev/jna/jna/5.13.0/jna-5.13.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/java/dev/jna/jna-platform/5.12.1/jna-platform-5.12.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecraftforge/JarJarFileSystems/0.3.16/JarJarFileSystems-0.3.16.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecraftforge/fmlloader/1.19.2-43.4.12/fmlloader-1.19.2-43.4.12.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/mojang/logging/1.0.0/logging-1.0.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/mojang/blocklist/1.0.10/blocklist-1.0.10.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/mojang/patchy/2.2.10/patchy-2.2.10.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/github/oshi/oshi-core/5.8.5/oshi-core-5.8.5.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/slf4j/slf4j-api/1.8.0-beta4/slf4j-api-1.8.0-beta4.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/apache/logging/log4j/log4j-slf4j18-impl/2.17.0/log4j-slf4j18-impl-2.17.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/ibm/icu/icu4j/70.1/icu4j-70.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/mojang/javabridge/1.2.24/javabridge-1.2.24.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/sf/jopt-simple/jopt-simple/5.0.4/jopt-simple-5.0.4.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/io/netty/netty-common/4.1.77.Final/netty-common-4.1.77.Final.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/io/netty/netty-buffer/4.1.77.Final/netty-buffer-4.1.77.Final.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/io/netty/netty-codec/4.1.77.Final/netty-codec-4.1.77.Final.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/io/netty/netty-handler/4.1.77.Final/netty-handler-4.1.77.Final.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/io/netty/netty-resolver/4.1.77.Final/netty-resolver-4.1.77.Final.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/io/netty/netty-transport/4.1.77.Final/netty-transport-4.1.77.Final.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/io/netty/netty-transport-native-unix-common/4.1.77.Final/netty-transport-native-unix-common-4.1.77.Final.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/io/netty/netty-transport-classes-epoll/4.1.77.Final/netty-transport-classes-epoll-4.1.77.Final.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/commons-io/commons-io/2.11.0/commons-io-2.11.0.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/commons-codec/commons-codec/1.15/commons-codec-1.15.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/mojang/brigadier/1.0.18/brigadier-1.0.18.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/mojang/datafixerupper/5.0.28/datafixerupper-5.0.28.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/google/code/gson/gson/2.8.9/gson-2.8.9.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/mojang/authlib/3.11.49/authlib-3.11.49.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/apache/commons/commons-compress/1.21/commons-compress-1.21.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/commons-logging/commons-logging/1.2/commons-logging-1.2.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/apache/httpcomponents/httpcore/4.4.14/httpcore-4.4.14.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/it/unimi/dsi/fastutil/8.5.6/fastutil-8.5.6.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/com/mojang/text2speech/1.16.7/text2speech-1.16.7.jar:/data/user/0/com.fcl.gsybt/files/plugins/MioLaunchWrapper.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/versions/怪兽100天/怪兽100.jar Java argument: -Djava.net.preferIPv6Addresses=system Java argument: -DignoreList=bootstraplauncher,securejarhandler,asm-commons,asm-util,asm-analysis,asm-tree,asm,JarJarFileSystems,client-extra,fmlcore,javafmllanguage,lowcodelanguage,mclanguage,forge-,怪兽100.jar,怪兽100.jar Java argument: -DmergeModules=jna-5.12.1.jar,jna-platform-5.12.1.jar Java argument: -DlibraryDirectory=/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries Java argument: -p Java argument: /storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/cpw/mods/bootstraplauncher/1.1.2/bootstraplauncher-1.1.2.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/cpw/mods/securejarhandler/2.1.4/securejarhandler-2.1.4.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/ow2/asm/asm-commons/9.7.1/asm-commons-9.7.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/ow2/asm/asm-util/9.7.1/asm-util-9.7.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/ow2/asm/asm-analysis/9.7.1/asm-analysis-9.7.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/ow2/asm/asm-tree/9.7.1/asm-tree-9.7.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/org/ow2/asm/asm/9.7.1/asm-9.7.1.jar:/storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/libraries/net/minecraftforge/JarJarFileSystems/0.3.16/JarJarFileSystems-0.3.16.jar Java argument: --add-modules Java argument: ALL-MODULE-PATH Java argument: --add-opens Java argument: java.base/java.util.jar=cpw.mods.securejarhandler Java argument: --add-opens Java argument: java.base/java.lang.invoke=cpw.mods.securejarhandler Java argument: --add-exports Java argument: java.base/sun.security.util=cpw.mods.securejarhandler Java argument: --add-exports Java argument: jdk.naming.dns/com.sun.jndi.dns=java.naming Java argument: --add-exports Java argument: cpw.mods.bootstraplauncher/cpw.mods.bootstraplauncher=ALL-UNNAMED MainClass: mio.Wrapper MainClass: cpw.mods.bootstraplauncher.BootstrapLauncher Minecraft argument: --username Minecraft argument: litians Minecraft argument: --version Minecraft argument: 怪兽100天 Minecraft argument: --gameDir Minecraft argument: /storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/versions/怪兽100天 Minecraft argument: --assetsDir Minecraft argument: /storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/assets Minecraft argument: --assetIndex Minecraft argument: 1.19 Minecraft argument: --uuid Minecraft argument: f9ee02e528b6413497000f0ab10d9e51 Minecraft argument: --accessToken Minecraft argument: *** Minecraft argument: --clientId Minecraft argument: ${clientid} Minecraft argument: --xuid Minecraft argument: ${auth_xuid} Minecraft argument: --userType Minecraft argument: msa Minecraft argument: --versionType Minecraft argument: 怪兽100天 Minecraft argument: --width Minecraft argument: 2760 Minecraft argument: --height Minecraft argument: 1256 Minecraft argument: --launchTarget Minecraft argument: forgeclient Minecraft argument: --fml.forgeVersion Minecraft argument: 43.4.12 Minecraft argument: --fml.mcVersion Minecraft argument: 1.19.2 Minecraft argument: --fml.forgeGroup Minecraft argument: net.minecraftforge Minecraft argument: --fml.mcpVersion Minecraft argument: 20220805.130853 Hook success [FCL Internal] C:/Users/Administrator/Desktop/Project_Files/Android_Project/FoldCraftLauncher/FCLauncher/src/main/jni/pojav/jre_launcher.c:220 Done processing args [FCL Internal] C:/Users/Administrator/Desktop/Project_Files/Android_Project/FoldCraftLauncher/FCLauncher/src/main/jni/pojav/jre_launcher.c:146 Found JLI lib [FCL Internal] C:/Users/Administrator/Desktop/Project_Files/Android_Project/FoldCraftLauncher/FCLauncher/src/main/jni/pojav/jre_launcher.c:158 Calling JLI_Launch # # A fatal error has been detected by the Java Runtime Environment: # # SIGILL (0x4) at pc=0x0000006224fc69d4, pid=15031, tid=15201 # # JRE version: (17.0.10) (build ) # Java VM: OpenJDK 64-Bit Server VM (17.0.10-internal+0-adhoc.runner.openjdk, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64) # Problematic frame: # j java.lang.System.registerNatives()V+0 java.base # # Core dump will be written. Default location: core.15031 (may not exist) # # An error report file with more information is saved as: # /storage/emulated/0/Android/data/com.fcl.gsybt/files/.minecraft/versions/怪兽100天/hs_err_pid15031.log # # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # OpenJDK exited with code : 6
最新发布
12-23
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值