Android: что означает coreApp в манифесте - PullRequest
2 голосов
/ 12 мая 2019

В манифесте я видел по коду

<manifest xmlns:tools="http://schemas.android.com/tools"
    package="com.example.test"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="1"
    android:versionName="1.0"
    android:sharedUserId="android.uid.system"
    coreApp="true">

Что означает coreApp?

Ответы [ 2 ]

1 голос
/ 17 июня 2019

В соответствии с кодом Android-8.0 com.android.server.SystemServer # startBootstrapServices

        // Only run "core" apps if we're encrypting the device.
    String cryptState = SystemProperties.get("vold.decrypt");
    if (ENCRYPTING_STATE.equals(cryptState)) {
        Slog.w(TAG, "Detected encryption in progress - only parsing core apps");
        mOnlyCore = true;
    } else if (ENCRYPTED_STATE.equals(cryptState)) {
        Slog.w(TAG, "Device encrypted - only parsing core apps");
        mOnlyCore = true;
    }

    // Start the package manager.
    if (!mRuntimeRestart) {
        MetricsLogger.histogram(null, "boot_package_manager_init_start",
                (int) SystemClock.elapsedRealtime());
    }
    traceBeginAndSlog("StartPackageManagerService");
    mPackageManagerService = PackageManagerService.main(mSystemContext, installer,
            mFactoryTestMode != FactoryTest.FACTORY_TEST_OFF, mOnlyCore);
    mFirstBoot = mPackageManagerService.isFirstBoot();
    mPackageManager = mSystemContext.getPackageManager();
    traceEnd();
1 голос
/ 12 мая 2019

coreApp = "true" означает, что приложение будет запущено, когда включен конкретный мод загрузки, возможно, "Безопасный режим":

Система может успешно загрузиться (хотя и немного болезненно) с только framework-res.apk, SettingsProvider.apk, SystemUI.apk, DefaultContainerService.apk и Launcher2.apk установлены в качестве основных приложений.

Из хранилища Android Git: https://android.googlesource.com/platform/frameworks/base/+/d2509fd83597595914ef0627685e917380863eb6%5E!/

...