AppUtils.java
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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";
}
}