io.github.hanhuoer:maa-framework-java

Java 代码实现调用 MaaFramework, 适配 Win/Mac/Linux


Keywords
jdk11, jna, maa, maa-framework, maven, sdk
License
LGPL-2.1+

Documentation

Maa Framework Java

graph TD
    subgraph Developer
        A[Developer]
        B[Java Application]
    end

    subgraph SDK
        C[SDK Library\nMaa Framework Java\n]
    end

    subgraph JNA
        D[JNA]
    end

    subgraph Native Libraries
        E1[linux-aarch64]
        E2[linux-x86_64]
        E3[macos-aarch64]
        E4[macos-x86_64]
        E5[windows-aarch64]
        E6[windows-x86_64]
    end

    A --> B
    B --> C
    C --> D
    D --> |Calls| E1
    D --> |Calls| E2
    D --> |Calls| E3
    D --> |Calls| E4
    D --> |Calls| E5
    D --> |Calls| E6
Loading

👏 项目特点

  • 纯 Java 代码调用 MaaFramework
  • 支持 Windows、Linux、Mac 平台
  • 开箱即用,开发者无需考虑如何引入和对接本地库

🎉 快速开始

示例代码

1️⃣ 添加依赖

此方式会根据当前系统自动使用对应的 jar 包

<dependency>
  <groupId>io.github.hanhuoer</groupId>
  <artifactId>maa-framework-java</artifactId>
  <version>1.0.3</version>
</dependency>

通常情况下,只需引入 maa-framework-java 这个包即可满足开发需求。

如果您需要包含所有平台的本地库,可以选择引入 maa-all 包:

<dependency>
  <groupId>io.github.hanhuoer</groupId>
  <artifactId>maa-all</artifactId>
  <version>1.0.3</version>
</dependency>

2️⃣ 使用示例

public class Main {
    public static void main(String[] args) {
        MaaOptions options = new MaaOptions();
        Maa maa = Maa.create(options);

        List<AdbInfo> adbInfoList = AdbController.find();
        AdbController controller = new AdbController(adbInfoList.get(0));
        controller.connect();
        Resource resource = new Resource();
        resource.load("./resource");
        Instance instance = new Instance();
        boolean bind = instance.bind(controller, resource);
        System.out.println("bind result: " + bind);
        System.out.println(instance.inited());
    }
}

更多使用示例请参考 使用示例

💻 开发指南

1️⃣ 拉取仓库代码

git clone https://github.com/hanhuoer/maa-framework-java.git

2️⃣ 添加本地库文件

MaaAgentBinary

MaaFramework Native Libraries

方式一:手动放置本地库文件

将各平台的本地库文件手动放到对应目录中

方式二:通过脚本自动放置文件 【推荐】

  1. 下载所有平台的发布包放到目录 maa-libs
    └─maa-libs
      │ MAA-linux-aarch64-version.zip
      │ MAA-linux-x86_64-version.zip
      │ MAA-macos-aarch64-version.zip
      │ MAA-macos-x86_64-version.zip
      │ MAA-win-aarch64-version.zip
      │ MAA-win-x86_64-version.zip
    
  2. 执行脚本 python scripts/copy_lib.py

    该脚本会清理目标文件夹,并将解压后的本地库复制过去

3️⃣ 安装

mvn clean install -Dmaven.test.skip

相关项目