This commit is contained in:
郭涛
2022-10-27 14:40:06 +08:00
parent ea51827ed6
commit da8717693d
30 changed files with 797 additions and 110 deletions

View File

@ -28,6 +28,8 @@ import com.gh.gamecenter.BuildConfig;
import com.gh.gamecenter.common.constant.Constants;
import com.gh.gamecenter.common.utils.ExtensionsKt;
import com.gh.gamecenter.common.utils.PackageFlavorHelper;
import com.gh.gamecenter.core.AppExecutor;
import com.gh.gamecenter.core.utils.MD5Utils;
import com.gh.gamecenter.core.utils.SentryHelper;
import com.gh.gamecenter.entity.ApkEntity;
import com.gh.gamecenter.entity.GameEntity;
@ -55,6 +57,7 @@ import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
@ -72,6 +75,36 @@ public class PackageUtils {
private static final String TAG = "PackageUtils";
public static String getInstallPackageInfoSourceDir(String packageName) {
try {
return HaloApp.getInstance().getApplication().getPackageManager().getPackageInfo(packageName,
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT).applicationInfo.sourceDir;
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
/**
* 根据packageName和模拟器apk文件的MD5去判断目标文件是否需要更新
*
* @param packageName 包名
* @param MD5Str 文件MD5
*/
public static boolean isInstalledApkMatchedMd5(String packageName, String MD5Str) {
if (MD5Str == null){
Utils.log("MD5Str is null");
return false;
}
String path = getInstallPackageInfoSourceDir(packageName);
if (path == null){
Utils.log("File path null");
return false;
}
File file = new File(path);
return !(MD5Str.equals(MD5Utils.calculateMD5(file)));
}
/*
* 判断是否可以更新只判断gh_version的大小
*/