springboot (apk)文件上传解析 文件名称,包名,版本号,版本名称

springboot (apk)文件上传解析 文件名称,包名,版本号,版本名称

撸过的代码,遇到的问题记下

环境依赖

引入解析Apk的依赖

 <dependency>
            <groupId>net.dongliu</groupId>
            <artifactId>apk-parser</artifactId>
            <version>2.6.10</version>
        </dependency>

解析Apk工具类

import net.dongliu.apk.parser.ApkFile;
import net.dongliu.apk.parser.bean.ApkMeta;
import net.dongliu.apk.parser.bean.UseFeature;

import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

public class ApkInfoUtil {
    public static Map<String, Object> readAPK(File apkUrl) {
        Map<String, Object> resMap = new HashMap<String, Object>();
        try (ApkFile apkFile = new ApkFile(apkUrl)) {
            ApkMeta apkMeta = apkFile.getApkMeta();
            resMap.put("filename", apkMeta.getName());
            resMap.put("pkgname", apkMeta.getPackageName());
            resMap.put("versioncode", apkMeta.getVersionCode());
            resMap.put("versionname", apkMeta.getVersionName());
            for (UseFeature feature : apkMeta.getUsesFeatures()) {
                System.out.println(feature.getName());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return resMap;

    }
}

效果图: 自己去网上下一个QQApk的安装包文件 进行测试
在这里插入图片描述

踩过的坑:因为本人使用的是:MultipartFile 格式 去接受上传文件的,

@ResponseBody
    @RequestMapping(value = "/upload", method = RequestMethod.POST)
    public UploadFile upload(@RequestPart("file") MultipartFile file, @RequestParam("filePath") String filePath) {
       }

其中因为上传的文件过大 需要去配置 大小。application.yml中配置

spring:
  application:
    name: uploadFile-Service
  servlet:
    multipart:
      enabled: true
      file-size-threshold: 0
      max-file-size: 20MB
      max-request-size: 100MB
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值