OSUtil.java 源代码
package com.x8zs.plugin.utils;
import android.app.ActivityManager;
import android.content.Context;
import android.os.Build;
import android.os.Environment;
import android.os.Process;
import android.os.StatFs;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;
import java.util.Locale;
public class OSUtil {
public static String getCPUName() {
FileReader fileReader;
BufferedReader bufferedReader;
String readLine;
BufferedReader bufferedReader2 = null;
try {
fileReader = new FileReader("/proc/cpuinfo");
try {
bufferedReader = new BufferedReader(fileReader);
} catch (Throwable unused) {
}
} catch (Throwable unused2) {
fileReader = null;
}
do {
try {
readLine = bufferedReader.readLine();
} catch (Throwable unused3) {
bufferedReader2 = bufferedReader;
IOUtil.close(bufferedReader2);
IOUtil.close(fileReader);
return "";
}
if (readLine == null) {
IOUtil.close(bufferedReader);
IOUtil.close(fileReader);
return "";
}
} while (!readLine.contains("Hardware"));
String trim = readLine.split(":")[1].trim();
IOUtil.close(bufferedReader);
IOUtil.close(fileReader);
return trim;
}
public static String getCurrentProcessName(Context context) {
int myPid = Process.myPid();
List<ActivityManager.RunningAppProcessInfo> runningAppProcesses = ((ActivityManager) context.getSystemService("activity")).getRunningAppProcesses();
if (runningAppProcesses == null) {
return "";
}
for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : runningAppProcesses) {
if (runningAppProcessInfo.pid == myPid) {
return runningAppProcessInfo.processName;
}
}
return "";
}
public static String getHostCPUName() {
FileReader fileReader;
BufferedReader bufferedReader;
String readLine;
BufferedReader bufferedReader2 = null;
try {
fileReader = new FileReader("/xescape/proc/cpuinfo");
try {
bufferedReader = new BufferedReader(fileReader);
} catch (Throwable unused) {
}
} catch (Throwable unused2) {
fileReader = null;
}
do {
try {
readLine = bufferedReader.readLine();
} catch (Throwable unused3) {
bufferedReader2 = bufferedReader;
IOUtil.close(bufferedReader2);
IOUtil.close(fileReader);
return "";
}
if (readLine == null) {
IOUtil.close(bufferedReader);
IOUtil.close(fileReader);
return "";
}
} while (!readLine.contains("Hardware"));
String trim = readLine.split(":")[1].trim();
IOUtil.close(bufferedReader);
IOUtil.close(fileReader);
return trim;
}
public static long getSDFreeSize() {
StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getPath());
return statFs.getAvailableBlocks() * statFs.getBlockSize();
}
public static long getSDTotalSize() {
StatFs statFs = new StatFs(Environment.getExternalStorageDirectory().getPath());
return statFs.getBlockCount() * statFs.getBlockSize();
}
public static String getSystemProperty(String str, String str2) {
try {
return (String) Class.forName("android.os.SystemProperties").getMethod("get", String.class, String.class).invoke(null, str, str2);
} catch (Exception e6) {
e6.printStackTrace();
return str2;
}
}
public static final boolean is64Bit() {
boolean is64Bit;
if (Build.VERSION.SDK_INT >= 23) {
is64Bit = Process.is64Bit();
return is64Bit;
}
try {
Class<?> cls = Class.forName("dalvik.system.VMRuntime");
Object invoke = cls.getMethod("is64Bit", new Class[0]).invoke(cls.getMethod("getRuntime", new Class[0]).invoke(null, new Object[0]), new Object[0]);
if (!(invoke instanceof Boolean)) {
return false;
}
return ((Boolean) invoke).booleanValue();
} catch (Throwable unused) {
return false;
}
}
public static boolean isCPU64() {
FileReader fileReader;
BufferedReader bufferedReader;
String readLine;
BufferedReader bufferedReader2 = null;
try {
fileReader = new FileReader("/proc/cpuinfo");
try {
bufferedReader = new BufferedReader(fileReader);
try {
readLine = bufferedReader.readLine();
} catch (Throwable unused) {
bufferedReader2 = bufferedReader;
IOUtil.close(bufferedReader2);
IOUtil.close(fileReader);
return false;
}
} catch (Throwable unused2) {
}
} catch (Throwable unused3) {
fileReader = null;
}
if (readLine != null) {
boolean contains = readLine.toLowerCase(Locale.US).contains("arch64");
IOUtil.close(bufferedReader);
IOUtil.close(fileReader);
return contains;
}
IOUtil.close(bufferedReader);
IOUtil.close(fileReader);
return false;
}
public static boolean isHostCPU64() {
FileReader fileReader;
BufferedReader bufferedReader;
String readLine;
BufferedReader bufferedReader2 = null;
try {
fileReader = new FileReader("/xescape/proc/cpuinfo");
try {
bufferedReader = new BufferedReader(fileReader);
try {
readLine = bufferedReader.readLine();
} catch (Throwable unused) {
bufferedReader2 = bufferedReader;
IOUtil.close(bufferedReader2);
IOUtil.close(fileReader);
return false;
}
} catch (Throwable unused2) {
}
} catch (Throwable unused3) {
fileReader = null;
}
if (readLine != null) {
boolean contains = readLine.toLowerCase(Locale.US).contains("arch64");
IOUtil.close(bufferedReader);
IOUtil.close(fileReader);
return contains;
}
IOUtil.close(bufferedReader);
IOUtil.close(fileReader);
return false;
}
public static boolean isMainProcess(Context context) {
String currentProcessName = getCurrentProcessName(context);
if (currentProcessName != null && currentProcessName.endsWith(context.getPackageName())) {
return true;
}
return false;
}
public static String getCurrentProcessName() {
BufferedReader bufferedReader;
Throwable th;
Exception e6;
try {
bufferedReader = new BufferedReader(new InputStreamReader(new FileInputStream("/proc/self/cmdline"), com.anythink.expressad.foundation.f.a.F));
try {
try {
StringBuilder sb = new StringBuilder();
while (true) {
int read = bufferedReader.read();
if (read > 0) {
sb.append((char) read);
} else {
sb.trimToSize();
String sb2 = sb.toString();
try {
bufferedReader.close();
return sb2;
} catch (IOException e7) {
e7.printStackTrace();
return sb2;
}
}
}
} catch (Exception e8) {
e6 = e8;
e6.printStackTrace();
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e9) {
e9.printStackTrace();
}
}
return "";
}
} catch (Throwable th2) {
th = th2;
if (bufferedReader != null) {
try {
bufferedReader.close();
} catch (IOException e10) {
e10.printStackTrace();
}
}
throw th;
}
} catch (Exception e11) {
bufferedReader = null;
e6 = e11;
} catch (Throwable th3) {
bufferedReader = null;
th = th3;
if (bufferedReader != null) {
}
throw th;
}
}
}