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
- 纯 Java 代码调用 MaaFramework
- 支持 Windows、Linux、Mac 平台
- 开箱即用,开发者无需考虑如何引入和对接本地库
此方式会根据当前系统自动使用对应的 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>
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());
}
}
更多使用示例请参考 使用示例
git clone https://github.com/hanhuoer/maa-framework-java.git
- 请参考 agent - README.md 文档
方式一:手动放置本地库文件
将各平台的本地库文件手动放到对应目录中
- linux-aarch64 - README.md
- linux-x86_64 - README.md
- macos-aarch64 - README.md
- macos-x86_64 - README.md
- windows-aarch64 - README.md
- windows-x86_64 - README.md
方式二:通过脚本自动放置文件 【推荐】
- 下载所有平台的发布包放到目录 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
- 执行脚本
python scripts/copy_lib.py
该脚本会清理目标文件夹,并将解压后的本地库复制过去
mvn clean install -Dmaven.test.skip