exagear吧 关注:186,600贴子:543,571

Exagear Extra Control 开发进度记录

取消只看楼主收藏回复

EEC旨在为Exagear App提供一个扩展的可定制化的操作模式。
楼主用的是华为手机,以前想用Exagear被吧友们无情抬走。现在终于能用了,但是感觉控制游戏不太得劲,想用的按键找半天找不到,按键排列也不人性化,于是便想开发一个可以根据个人喜好定制操控界面的程序。
发这个帖子主要想记录一下开发的过程,收集一下吧友们的建议,顺带在取得阶段性成果时发布几个测试版,最终让软件能达到一个更好的效果吧(其实是想水贴)
镇楼图就用随便瞎写的短期目标吧


IP属地:山东来自Android客户端1楼2022-01-08 00:46回复
    备用楼


    IP属地:山东来自Android客户端2楼2022-01-08 00:47
    收起回复
      2026-07-04 16:26:13
      广告
      不感兴趣
      开通SVIP免广告
      day0. 其实今天不是写这个软件的第一天,但是今天把它传到了github上,所以权当是第一天吧。
      目前仓库未公开,等到设计模式基本成熟了再公开。


      IP属地:山东来自Android客户端4楼2022-01-08 00:52
      回复
        给各位介绍一下这个软件的实现原理: 这个软件不是采用吧里的Keyboard程序那样通过进程和悬浮窗的方式实现的,而是通过反编译Exagear App注入代码来实现的,因此最终它和Exagear是合二为一的。具体的做法就是向反编译代码指定位置添加一个新的Control类,来取得当前的上下文,进而执行EEC的程序代码。
        源代码分为两个部分,其中EED API是用来提供Exagear App的部分类和接口模型的,其中最重要的就是我之前说的上下文,但是它不提供任何具体实现,因此注入的时候要把这下面的smali代码全部删掉。EEC Main就是程序的核心部分了,它提供了程序的全部代码,包括一个用于测试的活动窗口,以便于不注入Exagear App的时候测试程序。


        IP属地:山东来自Android客户端5楼2022-01-08 01:04
        回复
          目前的效果:
          它是作为额外的操作模式添加的




          IP属地:山东来自Android客户端6楼2022-01-08 01:06
          回复
            不注入Exagear时,用于测试的活动窗口


            IP属地:山东来自Android客户端7楼2022-01-08 01:08
            回复
              漏了一张:不影响原来的操作模式,EEC是独立的


              IP属地:山东来自Android客户端8楼2022-01-08 01:12
              回复
                day0是1月7日,day1的今天干完活再更,睡觉去了


                IP属地:山东来自Android客户端10楼2022-01-08 01:23
                回复
                  2026-07-04 16:20:13
                  广告
                  不感兴趣
                  开通SVIP免广告
                  统一回复一下各位的一些疑问,这个软件是有一个比较简易的本地化支持的,所以肯定有中文的


                  IP属地:山东22楼2022-01-08 10:19
                  回复
                    本地化:



                    IP属地:山东23楼2022-01-08 10:20
                    回复
                      day1. 今天写了几个Profile和Model类,用于存储自定义的布局和里面的控件的信息


                      IP属地:山东来自Android客户端34楼2022-01-08 23:26
                      回复
                        day2. 感谢各位搭楼目前EEC的输入系统的底层事件封装基本完成了,主要包括三种输入事件(Keyboard事件、Pointer事件和滚轮事件),一个键值翻译器(基于KeyCodeX),一个输入事件队列和事件处理线程。接下来是设计自定义界面的交互和逻辑了,这是比较关键的地方,需要的时间也更久。


                        IP属地:山东来自Android客户端44楼2022-01-09 23:39
                        收起回复
                          今天也稍微写了一点儿试个水,但是感觉会有更好的想法,等考虑周全了再重新写




                          IP属地:山东来自Android客户端45楼2022-01-09 23:43
                          回复
                            因为代码要注入的原因,没用xml设计界面,java纯手撸


                            IP属地:山东来自Android客户端46楼2022-01-09 23:45
                            回复
                              2026-07-04 16:14:13
                              广告
                              不感兴趣
                              开通SVIP免广告
                              day3. 今天考虑了一下自定义这方面的基本逻辑,抽象一下就是这个样子:

                              简单介绍一下:自定义布局是一个自定义的界面的总和,是单独为一个\一种游戏或者情景所创建的。自定义层是自定义布局所包含的子项,是单独为一个\一种状态所创建的,通过在使用中切换自定义层,就能够达到方便的适应当前使用情景的目的。
                              后面就按照这个基础来搭建上层的逻辑了


                              IP属地:山东53楼2022-01-10 19:49
                              收起回复