Немного предыстории:

  • Android Studio проект скомпилирован с подмодулем
  • Модуль импортирован из пакета .aar
  • Рабочий код, только что клонированный из Git. Главное приложение работает как задумано
  • Добавление одной строки в модуль

    Log.d("DemoModeManager", «здесь что-то происходит»);

  • Из импортированного модуля декомпилированный файл .class показывает новую строку кода, как и должно

Перед вышеупомянутым добавлением есть второй оператор Log, который появляется в Logcat с ожидаемыми значениями. Сразу после этого идет новая строка, которая никогда не видна в Logcat (проверка как в терминале, так и в Android Studio)

Это расширение более крупной проблемы, при которой ЛЮБОЕ изменение / дополнение не обновляется в apk.

APK устанавливается как привилегированное приложение в каталоге system/priv-app. Установка такая же, как и в любой другой раз, когда я работал.

Метод установки (который работал каждый раз)переименовываете и распаковываете файл apk. Adb root adb remount. Удаляет все старые файлы. * /system/lib64/app.debug

Это приводит меня к мысли, что происходит одна из трех вещей:

  1. Программная проблема, из-за которой APK как-то перезаписывается
  2. Аппаратная проблема, из-за которой APK никогда не обновляется со старой версии (несмотря на полное удаление с устройства)
  3. Аппаратная проблема, которая не связана с APK

Некоторые попытки исправления (без определенного порядка):

  • Перестроить проект
  • Чистый проект
  • Обновить связанный C++
  • Синхронизировать проект с файлами Gradle
  • Ре-импорт грейд-проекта
  • Синхронизировать с файловой системой
  • Недействительный кеш и перезапуск
  • Протрите и откиньте проект Git
  • Удалите и переустановите Android Studio
  • Отключить мгновенный запуск

Любые мысли или идеи, которые стоит попробовать, будут высоко оценены.

1 ответ1

0

Я смог решить это.

Модуль и приложение были двумя отдельными студийными проектами. Создана программная ссылка (ln -sf) из папки модуля в основную папку проекта приложения.

Затем пришлось настроить файлы manifest, build.gradle, settings.gradle и gradle.properties, чтобы построить модуль по мягкой ссылке, а не указывать локальный путь к файлу .aar.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .