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]
E7[android-aarch64]
E8[android-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
D -->|Calls| E7
D -->|Calls| E8
- 纯 Java 代码调用 MaaFramework
- 支持 Windows、Linux、Mac 平台
- 开箱即用,开发者无需考虑如何引入和对接本地库
Windows 平台加载不到 dll 相关问题:
- 首先检查是否安装 Microsoft Visual C++ Redistributable
- [win32-x86-64] Unable to load library MaaFramework.dll
- [MAA-win-x86_64] 动态链接库(DLL)初始化例程失败
- 找不到动态链接库问题
- 示例代码
- maa-framework-java-sample 咸鱼之王脚本
- 咸鱼之王脚本示例:钓鱼、罐子、答题、挂机奖励等
此方式会根据当前系统自动使用对应的 jar 包
<dependency>
<groupId>io.github.hanhuoer</groupId>
<artifactId>maa-framework-java</artifactId>
<version>2.1.1</version>
</dependency>
通常情况下,只需引入 maa-framework-java
这个包即可满足开发需求。
如果您需要包含所有平台的本地库,可以选择引入 maa-all
包:
<dependency>
<groupId>io.github.hanhuoer</groupId>
<artifactId>maa-all</artifactId>
<version>2.1.1</version>
</dependency>
如果是 spring boot 项目,则可使用以下依赖 maa-spring-boot-starter 文档
<dependency>
<groupId>io.github.hanhuoer</groupId>
<artifactId>maa-spring-boot-starter</artifactId>
<version>2.1.1</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");
Tasker tasker = new Tasker();
boolean bind = tasker.bind(controller, resource);
System.out.println("bind result: " + bind);
System.out.println(tasker.inited());
tasker.close();
}
}
更多使用示例请参考 使用示例
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
- android-aarch64 - README.md
- android-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 │ MAA-android-aarch64-version.zip │ MAA-android-x86_64-version.zip
- 执行脚本
python scripts/copy_lib.py
该脚本会清理目标文件夹,并将解压后的本地库复制过去
mvn clean install -Dmaven.test.skip