优化安装xapk,不成功

This commit is contained in:
2025-04-22 02:34:31 +08:00
parent 39a3cb4eb9
commit a95958cf20
2 changed files with 12 additions and 5 deletions

View File

@@ -566,6 +566,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
Toaster.show("文件不存在");
return;
}
XapkUtils xapkUtils =new XapkUtils(MainActivity.this);
xapkUtils.setApkFilePath(file.getAbsolutePath());
xapkUtils.installXapk();
@@ -579,6 +580,14 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
// if (xapkInstaller != null) {
// xapkInstaller.installXapk(MainActivity.this);
// }
// try {
// XapkUtils.unzipXapk(MainActivity.this, file);
// File outputDir = new File(getExternalCacheDir(), "xapk_unzip");
// XapkUtils.installXapk(MainActivity.this, outputDir);
// } catch (IOException e) {
// e.printStackTrace();
// }
}
private void requestPackageInstalls() {

View File

@@ -96,7 +96,7 @@ public class XapkUtils {
if (ZipUtil.containsEntry(mApkFile, "manifest.json")) {
//判断json文件是否存在
String dirName = FileUtils.getFileNoExName(mApkFile.getAbsolutePath());
mUnpackPath = mContext.getExternalCacheDir()+ File.separator + "xapk_unzip" + File.separator + dirName;
mUnpackPath = mContext.getExternalCacheDir() + File.separator + "xapk_unzip" + File.separator + dirName;
File unpackDir = new File(mUnpackPath);
ZipUtil.unpack(mApkFile, unpackDir);
String jsonString = JsonUtils.readJsonFile(unpackDir.getAbsolutePath() + File.separator + "manifest.json");
@@ -304,7 +304,6 @@ public class XapkUtils {
Toaster.show("正在安装应用");
install(packageInstaller, sessionId, mContext);
// }
//
}
}
@@ -315,10 +314,9 @@ public class XapkUtils {
// Intent intent = new Intent(context, InstallResultReceiver.class);
// PendingIntent pendingIntent = PendingIntent.getBroadcast(
// context,
// 0, intent,
// PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT
// context, sessionId, intent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT
// );
Intent intent = new Intent(mContext, InstallActivity.class);
intent.setAction(PACKAGE_INSTALLED_ACTION);
PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, 0);