AppUtils.java 1.4 KB
package com.qw7277.game.util;

import android.content.Context;
import android.content.pm.ApplicationInfo;

import java.io.IOException;
import java.util.Enumeration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class AppUtils {
    public static String getLogicChannel(Context context, String prefix) {
        try {
            ApplicationInfo appInfo = context.getApplicationInfo();
            String sourceDir = appInfo.sourceDir;
            String key = "META-INF/" + prefix;
            try (ZipFile zip = new ZipFile(sourceDir)) {
                Enumeration<? extends ZipEntry> entries = zip.entries();
                while (entries.hasMoreElements()) {
                    ZipEntry entry = entries.nextElement();
                    String entryName = entry.getName();
                    if (entryName.startsWith(key)) {
                        String sidPattern = prefix + "_(\\d+)";
                        Pattern pattern = Pattern.compile(sidPattern);
                        Matcher matcher = pattern.matcher(entryName);
                        if (matcher.find()) {
                            return matcher.group(1); // 返回匹配到的数字部分
                        }
                    }
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        // 获取不到默认返回1
        return "1";
    }
}