| viewcompiler
Скомпилировать файлы макета XML в код Java Тип файла: команда Рус viewcompiler: Compile XML layout files into equivalent Java language code
example usage: viewcompiler layout.xml --package com.example.androidapp
Flags from external/gflags/src/gflags.cc:
-flagfile (load flags from file) type: string default: ""
-fromenv (set flags from the environment [use 'export FLAGS_flag1=value'])
type: string default: ""
-tryfromenv (set flags from the environment if present) type: string
default: ""
-undefok (comma-separated list of flag names that it is okay to specify on
the command line even if the program does not define a flag with that
name. IMPORTANT: flags in this list that have arguments MUST use the
flag=value format) type: string default: ""
Flags from external/gflags/src/gflags_completions.cc:
-tab_completion_columns (Number of columns to use in output for tab
completion) type: int32 default: 80
-tab_completion_word (If non-empty, HandleCommandLineCompletions() will
hijack the process and attempt to do bash-style command line flag
completion on this value.) type: string default: ""
Flags from external/gflags/src/gflags_reporting.cc:
-help (show help on all flags [tip: all flags can have two dashes])
type: bool default: false currently: true
-helpfull (show help on all flags -- same as -help) type: bool
default: false
-helpmatch (show help on modules whose name contains the specified substr)
type: string default: ""
-helpon (show help on the modules named by this flag value) type: string
default: ""
-helppackage (show help on all modules in the main package) type: bool
default: false
-helpshort (show help on only the main module for this program) type: bool
default: false
-helpxml (produce an xml version of help) type: bool default: false
-version (show version and build info and exit) type: bool default: false
Flags from frameworks/base/startop/view_compiler/main.cc:
-apk (Compile layouts in an APK) type: bool default: false
-dex (Generate a DEX file instead of Java) type: bool default: false
-infd (Read input from the given file descriptor) type: int32 default: -1
-out (Where to write the generated class) type: string default: "stdout"
-package (The package name for the generated class (required)) type: string
default: "" Комментарии Android Q содержит новый экспериментальный инструмент командной строки viewcompiler.
Он расположен в /bin/viewcompiler.
Загрузите файл макета xml (теги слияния и включения не поддерживаются) и будет создан файл CompiledView.java.
Добавьте его в свой проект и вызовите setContentView(CompiledView.inflate(this))
вместо традиционного setContentView(R.layout.my_layout).
Количество вещей, которые он компилирует, кажется ограниченным,
однако он по-прежнему извлекает атрибуты из исходного файла my_layout.xml, которые должны присутствовать.
https://android.googlesource.com/platform/frameworks/base/+/master/startop/view_compiler/README.md
Экспериментальный компилятор для файлов макетов.
Он возьмет XML-файл макета и создаст файл CompiledLayout.java
со специальной функцией расширения макета.
Чтобы использовать его, предположим, что у вас есть макет в my_layout.xml,
а ваше приложение находится в языковом пакете Java com.example.myapp.
Выполните следующую команду:
viewcompiler my_layout.xml --package com.example.myapp --out CompiledView.java
Это создаст CompiledView.java, который затем можно будет скомпилировать
в ваше приложение для Android. Затем, чтобы использовать его, в местах,
где вы заполнили бы R.layouts.my_layout, вместо этого вызовите CompiledView.inflate.
Подобная предварительная компиляция представлений обычно сокращает время,
необходимое для их заполнения.
Этот инструмент все еще находится на ранних стадиях и имеет ряд ограничений.
В настоящее время одновременно может быть скомпилирован только один макет.
узлы слияния и включения не поддерживаются.
Компиляция представления — это ручной процесс, который требует внесения изменений в код приложения.
Это работает только для приложений, которые не используют надувной модуль пользовательского макета.
Другие ограничения еще предстоит обнаружить.
|
|