@Implementation
  protected static ApkAssets loadFromPath(String path, boolean system)
      throws IOException {
    """
	Necessary to shadow this method because the framework path is hard-coded.
	Called from AssetManager.createSystemAssetsInZygoteLocked() in P+.
    """
    System.out.println(
        "Called loadFromPath("
            + path
            + ", " + system + "); mode="
            + (RuntimeEnvironment.useLegacyResources() ? "legacy" : "binary")
            + " sdk=" + RuntimeEnvironment.getApiLevel());

    if (FRAMEWORK_APK_PATH.equals(path)) {
      path = RuntimeEnvironment.getAndroidFrameworkJarPath().toString();
    }

    String finalPath = path;
    return getFromCacheOrLoad(
        new Key(null, path, system, false, false),
        () -> directlyOn(ApkAssets.class, "loadFromPath",
            ClassParameter.from(String.class, finalPath),
            ClassParameter.from(boolean.class, system)));
  }
@Implementation
  protected static ApkAssets loadFromPath(String path, boolean system)
      throws IOException {
    System.out.println(
        "Called loadFromPath("
            + path
            + ", " + system + "); mode="
            + (RuntimeEnvironment.useLegacyResources() ? "legacy" : "binary")
            + " sdk=" + RuntimeEnvironment.getApiLevel());

    if (FRAMEWORK_APK_PATH.equals(path)) {
      path = RuntimeEnvironment.getAndroidFrameworkJarPath().toString();
    }

    String finalPath = path;
    return getFromCacheOrLoad(
        new Key(null, path, system, false, false),
        () -> directlyOn(ApkAssets.class, "loadFromPath",
            ClassParameter.from(String.class, finalPath),
            ClassParameter.from(boolean.class, system)));
  }
@ Implementation protected static ApkAssets loadFromPath ( String path , boolean system ) throws IOException { System . out . println ( "Called loadFromPath(" + path + ", " + system + "); mode=" + ( RuntimeEnvironment . useLegacyResources ( ) ? "legacy" : "binary" ) + " sdk=" + RuntimeEnvironment . getApiLevel ( ) ) ; if ( FRAMEWORK_APK_PATH . equals ( path ) ) { path = RuntimeEnvironment . getAndroidFrameworkJarPath ( ) . toString ( ) ; } String finalPath = path ; return getFromCacheOrLoad ( new Key ( null , path , system , false , false ) , ( ) -> directlyOn ( ApkAssets . class , "loadFromPath" , ClassParameter . from ( String . class , finalPath ) , ClassParameter . from ( boolean . class , system ) ) ) ; }
Necessary to shadow this method because the framework path is hard-coded.
Called from AssetManager.createSystemAssetsInZygoteLocked() in P+.
Necessary to shadow this method because the framework path is hard - coded . Called from AssetManager . createSystemAssetsInZygoteLocked () in P + .