Android(9) Unidbg添加SpringBoot Web服务

0. Unidbg删除unidbg-ios模块

项目结构中删除unidbg-ios模块
本地删除unidbg/unidbg-ios文件夹
unidbg-parent模块(根目录unidbg)的pom文件中删除<module>unidbg-ios</module>

0.0 推荐Unidbg打Jar包后导入IDEA项目

推荐Unidbg打Jar包后导入IDEA项目https://blog.csdn.net/Palmer9/article/details/125220599

1. 添加Server模块

方法① unidbg作为模块引入

IDEA新建SpringBoot项目

在这里插入图片描述

从已存在的模块中导入Unidbg
在这里插入图片描述
在这里插入图片描述

方法② Web作为模块引入

IDEA打开Unidbg项目,新建SpringBoot模块

2. 配置Server模块

修改pom.xml文件,添加依赖

    <dependencies>
<!--        SpringBoot 所需要的-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

<!--        unidbg-android-->
        <dependency>
            <groupId>com.github.zhkl0228</groupId>
            <artifactId>unidbg-android</artifactId>
            <version>0.9.7-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
<!--        以下是unidbg-android模块中所有的依赖-->
        <dependency>
            <groupId>com.github.zhkl0228</groupId>
            <artifactId>unidbg-api</artifactId>
            <version>0.9.7-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>net.dongliu</groupId>
            <artifactId>apk-parser</artifactId>
            <version>2.6.10</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.github.zhkl0228</groupId>
            <artifactId>unidbg-dynarmic</artifactId>
            <version>0.9.7-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.github.zhkl0228</groupId>
            <artifactId>unidbg-hypervisor</artifactId>
            <version>0.9.7-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.github.zhkl0228</groupId>
            <artifactId>unidbg-kvm</artifactId>
            <version>0.9.7-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.github.zhkl0228</groupId>
            <artifactId>unidbg-unicorn2</artifactId>
            <version>0.9.7-SNAPSHOT</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>

版本号进行相应的更改

在pom中添加构建配置

    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.apk</include>
                    <include>**/*.so</include>
                </includes>
            </resource>
        </resources>
    </build>

3. 编写Unidbg代码

正常在WebServer的src目录中编写Unidbg代码即可。
可以将APK和so文件放在类的同目录,引用文件时使用以下代码:

new File(MainActivity.class.getResource("libnative.so").getFile())

4. 修改SpringBoot配置、服务

修改src/main/resources/application.properties文件改为src/main/resources/application.yml
添加SpringBoot配置

server:
  port: 7788

新建服务类server.HelloServer,代码如下

@RestController
public class HelloServer {
    @RequestMapping("/hello")
    public String hello() {
        return "Hello World";
    }
}

测试服务可以正常开启
在这里插入图片描述

新建一个Controller,新建对象模拟执行返回结果即可

项目传至Git

Clone下来后
方法①需要重新导入Unidbg模块,并再次同步maven
方法②同理

resources文件夹作为Resources Root标识会不见,重新设置一下即可,暂未发现其他问题

附项目结构
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
功能详述 用户 注册登录模块,实现简单的注册登录功能。 基本信息模块,该模块可以设置用户的基本信息,包括昵称、头像、用户密码、个人简介以及最重要的邮箱设置。 仪器管理模块,实现仪器的增删改查,仪器的属性包括有仪器名称、图片、类型、型号、参数、使用年限、历史阈值以及告警阈值。 维修工单模块,每次仪器产生预警的时候,系统会自动生成一个维修工单推送给相对空闲的维修人员,维修工单一共有四个状态:等待维修人员确认、维修人员已确认、维修人员正在维修、维修完成,用户可以查看历史产生的维修工单,也可以根据工单的状态对维修工单进行查询,获取维修人员的信息。 消息通知模块,每当用户的仪器产生告警,或者维修工单的状态发生变化,系统会对用户进行主动的消息提醒,并且发送邮箱进行通知,消息的状态有未读和已读两种状态,用户可以对消息设置已读。 维修人员 维修人员部分的功能在用户功能的基础上进行阉割: 登录模块,实现简单的登录功能,维修人员通过管理员进行注册。 基本信息模块,该模块可以设置维修人员的基本信息,内容同上。 维修工单模块,每次仪器产生预警的时候,系统会自动生成一个维修工单推送给相对空闲的维修人员,如果该维修人员分配到该维修工单,维修人员可以查看该仪器的信息,并根据维修进度更改的工单的状态。 消息通知模块,当维修人员得到系统分配的工单,系统会对维修人员进行主动的消息通知,并且发送邮箱进行通知。 管理员 登录模块,实现简单的登录功能,管理员通过修改数据库进行注册。 用户管理模块,可以查看已经注册的用户列表,可以根据用户 ID 查看用户创建的仪器列表,可以根据用户 ID 查看用户的工单列表。 维修人员管理模块,实现对维修人员的添加(注册),可以查看已经添加的维修人员列表,可以根据维修人员的 ID 查看维修人员参与的工单列表。 仪器管理模块,实现仪器分类的增删改查,实现仪器模板的增删改查(不同分类的仪器可以创建多种模板供用户创建时参考),根据仪器 ID 查看具体仪器的信息。 工单查询模块,根据工单的 ID 查看工单的基本信息,包括仪器信息,所有者信息,维修人员信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Forgo7ten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值