Приложение вылетает при запуске, если оно создано как системное приложение

Я разработал приложение, использующее DJI SDK. При установке в качестве системного приложения он вылетает при запуске, потому что не может загрузить библиотеки. Работает нормально при установке как обычное приложение.

Шаги, предпринятые для создания системного приложения

1) рутировал устройство

2) Скопировал файл .apk в каталог system / app

3) Перезагрузил устройство

4) Приложение было установлено как приложение по умолчанию, но вылетело при запуске

Закомментировав следующую строку, относящуюся к DJI SDK, и выполнив те же действия, что и выше. Он отлично работал как системное приложение.

       Helper.install(context);

Реализация класса Helper, который находится в DJI SDK, выглядит следующим образом:

    public static void install(Application app) {
    Object var1 = null;

    try {
        System.loadLibrary("DexHelper_sdk");
        if (PPATH != null) {
            System.load(PPATH);
        }
    } catch (Error var3) {
        ;
    }

    String app_dataDir = app.getApplicationInfo().dataDir;
    DexInstall.install(app, new File(app_dataDir + "/.cache_sdk/sdkclasses.jar"));
}

Насколько я понимаю, сбой происходит из-за того, что система не может загрузить библиотеки.

Мой градиент выглядит примерно так, как в следующей ссылке:

https://github.com/dji-sdk/Mobile-SDK-Android/blob/master/Sample%20Code/app/build.gradle

3
0
251
1

Ответы 1

эта проблема исправлена, начиная с версии Android SDK 4.6, попробуйте обновить ее до более поздней версии, сейчас выпущена версия 4.7.1.

Другие вопросы по теме