Как собрать часть исходного кода Android в Android Studio без клонирования всей библиотеки android? - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь лучше понять часть исходного кода Android.

Но вместо того, чтобы просто читать его, я хотел бы иметь его в Android Studio и иметь возможность изменять его и заново собрать, запустить и т.д. c.

Раньше я делал это, просто копируя Java файл / файлы из исходного кода в Android Studio по очереди -one, переименовав их и изменив имя их пакета на мое собственное ... и исправив все сломанные зависимости.

Этот способ работы сработал для простых классов, таких как RadioButton. java, но «часть» / модуль, который я пытаюсь «импортировать» сейчас, это все файлы в пакете tts .

Итак, я нашел TextToSpeech. java онлайн, скопировал и вставил его в Android Studio, переименовал его в MyTTS. java и изменил имя пакета на мое ... и начал перебирать "неразрешенные символы" и повторять процесс по мере необходимости .. .

Но, поскольку этот пакет tts гораздо «глубже» в дереве кода Android , Я столкнулся с несколькими препятствиями при разрешении неработающих зависимостей (компоненты, не относящиеся к publi c, вспомогательные файлы, аннотации и т. Д.!), По которым я мог бы просто задать отдельные вопросы, но прежде чем попробовать это, мне было интересно, уже существует некоторый устоявшийся способ сделать это, не требующий импорта всей библиотеки Android в Android Studio).

1 Ответ

0 голосов
/ 26 мая 2020

Вероятно, лучше всего клонировать репозиторий Android исходного кода, ограничив то, что вы загружаете, а затем использовать команду idegen. sh для создания проекта Android Studio, который предоставит вам полный доступ к исходному тексту из в Android Studio.

Чтобы клонировать минимальное количество Android Source, убедитесь, что вы указали конкретную ветвь c для команды репо, ограничьте глубину git до 1 и укажите git частичный клон . Это ускорит ваш клон, но все равно потребуется время. Например,

$ repo init --depth=1 -u https://android.googlesource.com/platform/manifest -b android-9.0.0_r46 --partial-clone
...
$ repo sync -j 4
...

После загрузки вы можете запустить команду idegen. sh для создания файла проекта Android Studio:

$ source build/envsetup.sh
...
$ lunch aosp_x86-eng
...
$ mmm development/tools/idegen/
...
$ development/tools/idegen/idegen.sh
...

Затем вы найдете Android Файлы проекта Studio в верхней части дерева AOSP. Обратите внимание, что индексация занимает много времени при каждом открытии проекта.

...