Skip to content

Commit

Permalink
Require GMS to be system app
Browse files Browse the repository at this point in the history
  • Loading branch information
aviraxp committed Aug 20, 2024
1 parent e6bd2ff commit 03c49ca
Showing 1 changed file with 11 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
package com.topjohnwu.magisk;

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

public class ProviderInstaller {

private static final String GMS_PACKAGE_NAME = "com.google.android.gms";

public static boolean install(Context context) {
try {
// Try installing new SSL provider from Google Play Service
Context gms = context.createPackageContext("com.google.android.gms",
Context gms = context.createPackageContext(GMS_PACKAGE_NAME,
Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);

// Check if gms is a system app
ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(GMS_PACKAGE_NAME, 0);
if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
return false;
}

gms.getClassLoader()
.loadClass("com.google.android.gms.common.security.ProviderInstallerImpl")
.getMethod("insertProvider", Context.class)
Expand Down

0 comments on commit 03c49ca

Please sign in to comment.