Use shared library when libapp.so is found (flutter/engine#9172)
This commit is contained in:
@@ -188,7 +188,11 @@ public class FlutterMain {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
sResourceExtractor.waitForCompletion();
|
||||
// There are resources to extract. For example, the AOT blobs from the `assets` directory.
|
||||
// `sResourceExtractor` is `null` if there isn't any AOT blob to extract.
|
||||
if (sResourceExtractor != null) {
|
||||
sResourceExtractor.waitForCompletion();
|
||||
}
|
||||
|
||||
List<String> shellArgs = new ArrayList<>();
|
||||
shellArgs.add("--icu-symbol-prefix=_binary_icudtl_dat");
|
||||
@@ -309,6 +313,13 @@ public class FlutterMain {
|
||||
* This is required by the Dart runtime, so it can read the blobs.
|
||||
*/
|
||||
private static void initResources(@NonNull Context applicationContext) {
|
||||
// When the AOT blobs are contained in the native library directory,
|
||||
// we don't need to extract them manually because they are
|
||||
// extracted by the Android Package Manager automatically.
|
||||
if (!sSnapshotPath.equals(PathUtils.getDataDirectory(applicationContext))) {
|
||||
return;
|
||||
}
|
||||
|
||||
new ResourceCleaner(applicationContext).start();
|
||||
|
||||
final String dataDirPath = PathUtils.getDataDirectory(applicationContext);
|
||||
@@ -389,7 +400,9 @@ public class FlutterMain {
|
||||
* </ul>
|
||||
*
|
||||
* <p>When the blobs are contained in the native library directory,
|
||||
* the format <b>`lib_%s.so`</b> is applied to the file name.
|
||||
* this method looks for blobs named <b>`lib_%s.so`</b>.
|
||||
*
|
||||
* The shared library should have the `lib` prefix only. e.g. <b>`libapp.so`</b>.
|
||||
*
|
||||
* <p>Note: The name of the files can be customized in the app's metadata, but the
|
||||
* format is preserved.
|
||||
@@ -404,7 +417,7 @@ public class FlutterMain {
|
||||
String aotVmSnapshotInstrLib = "lib_" + sAotVmSnapshotInstr + ".so";
|
||||
String aotIsolateSnapshotDataLib = "lib_" + sAotIsolateSnapshotData + ".so";
|
||||
String aotIsolateSnapshotInstrLib = "lib_" + sAotIsolateSnapshotInstr + ".so";
|
||||
String aotSharedLibraryLib = "lib_" + sAotSharedLibraryPath + ".so";
|
||||
String aotSharedLibraryLib = "lib" + sAotSharedLibraryPath;
|
||||
|
||||
boolean isPrecompiledBlobInLib = libs
|
||||
.containsAll(Arrays.asList(
|
||||
|
||||
Reference in New Issue
Block a user