Я пытаюсь собрать это на своем устройстве, но у меня есть некоторые проблемы в процессе сборки. Прежде всего, я синхронизировал исходное дерево AOSP 4.3_r2.2. Затем я скопировал все краеугольные коды (из ветки v4.3_r2.2) в исходное дерево. Потом начинаю строить.
Во-первых, я получил много ошибок, таких как эти:
frameworks/base/core/res/res/values/public.xml:244: error: Symbol 'config_bluetooth_adapter_quick_switch' declared with <java-symbol> not defined
frameworks/base/core/res/res/values/public.xml:1558: error: Symbol 'config_enableDreams' declared with <java-symbol> not defined
frameworks/base/core/res/res/values/public.xml:919: error: Symbol 'ic_suggestions_add' declared with <java-symbol> not defined
frameworks/base/core/res/res/values/public.xml:920: error: Symbol 'ic_suggestions_delete' declared with <java-symbol> not defined
...
После многих сравнений я обнаружил много отсутствующих символов, кажется, только в public.xml. Если я был прав, я думаю, что эти символы должны быть определены где-то еще, а затем добавлены в public.xml. Поэтому я просто удалил их, восстановив файл public.xml без изменений (git checkout).
И затем, когда я снова запустил сборку, я получил такую ошибку:
frameworks/base/services/java/com/android/server/wm/DimAnimator.java:57: cannot find symbol
symbol : variable FX_SURFACE_DIM
location: class android.view.Surface
Surface.FX_SURFACE_DIM);
^
frameworks/base/services/java/com/android/server/wm/DimAnimator.java:54: internal error; cannot instantiate com.android.server.wm.WindowStateAnimator.SurfaceTrace.<init> at com.android.server.wm.WindowStateAnimator.SurfaceTrace to ()
mDimSurface = new WindowStateAnimator.SurfaceTrace(session, 0,
^
...
frameworks/base/services/java/com/android/server/wm/DimSurface.java:48: cannot find symbol
symbol : variable FX_SURFACE_DIM
location: class android.view.Surface
Surface.FX_SURFACE_DIM);
^
frameworks/base/services/java/com/android/server/wm/DimSurface.java:45: internal error; cannot instantiate com.android.server.wm.WindowStateAnimator.SurfaceTrace.<init> at com.android.server.wm.WindowStateAnimator.SurfaceTrace to ()
mDimSurface = new WindowStateAnimator.SurfaceTrace(session, 0,
^
...
Изучив исходный код AOSP, я обнаружил, что Surface.FX_SURFACE_DIM должен быть SurfaceControl.FX_SURFACE_DIM, а номер параметра конструктора WindowStateAnimator.SurfaceTrace отличается. Поэтому мне интересно, использую ли я «правильное» исходное дерево AOSP? Если нет, то какую версию мне следует синхронизировать? Поскольку существует так много различий, чем коды в краеугольном камне.
Спасибо.