j2objc
Инструмент j2objc переводит указанные исходные файлы Java в исходные коды Objective-C или Objective-C++ для использования в приложении iOS.
j2objc [ options ] file1.java ...
Поддерживаются следующие параметры. Для параметров, у которых есть путь, несколько каталогов и JAR-файлов разделяются символом ':', как это делается с командами java
и javac
.
Общие параметры
- -sourcepath путь <путь>
- Укажите, где найти входные исходные файлы.
- -classpath <путь>
- Укажите, где найти файлы классов пользователей.
- -d <каталог>
- Укажите, куда поместить сгенерированные файлы Objective-C.
- -encoding <кодирование>
- Укажите кодировку исходных файлов (по умолчанию UTF-8).
- -source <выпуск>
- Обеспечьте совместимость исходного кода с указанным выпуском.
- -g
- Создание поддержки отладки.
- -l, --list
- Список файлов, которые переведены.
- -v, --verbose
- Выводить сообщения о том, что делает переводчик.
- -Werror
- Превратите все предупреждения в ошибки.
- -h, --help
- Распечатать это сообщение.
Варианты перевода
- --add-reads
- Параметр передается непосредственно компилятору Java (подробности см. в справке по javac).
- --allow-inherited-constructors
- Не выдавать предупреждения компилятора, когда собственный код обращается к унаследованным конструкторам.
- --build-closure
- Переведите зависимые классы, если они устарели (как это делает
javac
). - --class-properties
- Генерирует свойства класса для статических переменных и констант перечисления.
- --dead-code-report <файл>
- Укажите отчет об использовании ProGuard для устранения мертвого кода.
- --doc-comments
- Преобразуйте комментарии Javadoc в комментарии, совместимые с Xcode.
- --doc-comments-warnings
- Сообщайте о предупреждениях при переводе комментариев Javadoc.
- -external-annotation-file <файл>
- Укажите наиболее распространенные аннотации, влияющие на транспиляцию, в индексном файле аннотаций Java (формат, определенный платформой проверки).
- -g:none
- Не создавать поддержку отладки.
- -g:relative
- Создайте поддержку отладки с относительными путями.
- --generate-deprecated
- Создавайте устаревшие атрибуты для устаревших методов, классов и интерфейсов.
- -J <флаг>
- Передайте <flag> Java, например
-Xmx1G
, среде выполнения системы. - --mapping <файл>
- Добавьте файл сопоставления методов.
- --no-class-properties
- Не создавайте свойства класса для статических переменных и констант перечисления.
- --no-extract-unsequenced
- Не переписывайте выражения, которые могут привести к непоследовательным ошибкам модификации.
- --no-nullability
- Не создавайте аннотации обнуляемости Objective-C.
- --no-package-directories
- Не создавайте каталоги для пакетов Java при создании файлов.
- --no-segmented-headers
- Генерирует заголовки с защитой вокруг каждого объявленного типа. Полезно для прерывания циклов импорта.
- --no-wrapper-methods
- Не создавайте методы-оболочки Objective-C для конструкторов и статических методов. (J2ObjC генерирует функции C для таких исполняемых файлов)
- --nullability
- Преобразует аннотации Nullable и Nonnull в аннотации Objective-C.
- --patch-module
- Параметр передается непосредственно компилятору Java (подробности см. в справке по javac).
- --prefix <пакет=префикс>
- Замените указанный префикс на имя пакета.
- --prefixes <файл>
- Укажите файл свойств с определениями префиксов.
- --preserve-full-paths
- Генерирует выходные файлы с теми же относительными путями, что и входные файлы.
- -processor <класс1>[,<класс2>...]
- Имена процессоров аннотаций для запуска; обходит процесс обнаружения по умолчанию.
- -processorpath <путь>
- Укажите, где найти обработчики аннотаций.
- --reflection:{all,none,enum-constants,-enum-constants,name-mapping,-name-mapping}
- Создайте или исключите конкретную поддержку, необходимую для отражения Java.
- --reserved-names <файл>
- Избегает переопределения идентификаторов, присутствующих в системных заголовках.
- --static-accessor-methods
- Создает методы доступа для статических переменных и констант перечисления.
- --strip-gwt-incompatible
- Удаляет методы, помеченные аннотацией
GwtIncompatible
, если не известно, что их значение совместимо. - --strip-reflection
- Не генерируйте метаданные, необходимые для отражения Java (примечание: это значительно уменьшит поддержку отражения).
- --swift-friendly
- Создайте код, облегчающий импорт Swift (эквивалент --class-properties --nullability ).
- --system
- Параметр передается непосредственно компилятору Java (подробности см. в справке по javac).
- -t, --timing-info
- Вывести время, затраченное на этапы перевода.
- --timing-info:{all,total,none}
- Вывести время, затраченное на этапы перевода.
- -use-arc
- Создайте код Objective-C для поддержки автоматического подсчета ссылок (ARC).
- -use-reference-counting
- Создайте код Objective-C для поддержки ручного подсчета ссылок iOS (по умолчанию).
- -version
- Информация о версии.
- -x <язык>
- Укажите, на каком языке выводить. Возможные значения: objective-c (по умолчанию) и objective-c++ .
- -X
- Распечатать справку для нестандартных опций.
Нестандартные варианты
- - Xbootclasspath: <путь>
- Путь загрузки, используемый переводом (не самим инструментом).
- -Xlint
- Включить все предупреждения.
- -Xlint:none
- Отключите все предупреждения, не предусмотренные спецификацией языка Java.
- -Xlint:- xxx
- Отключите предупреждение xxx , где xxx — это одно из имен предупреждений, поддерживаемых для -Xlint:xxx ниже.
- -Xlint:cast
- Предупреждать о ненужных и избыточных выражениях приведения.
- -Xlint:deprecation
- Предупреждать об использовании устаревших элементов.
- -Xlint:dep-ann
- Предупреждать об элементах, которые задокументированы с комментарием @deprecated Javadoc, но не имеют аннотации @Deprecated .
- -Xlint:empty
- Предупреждать о пустых заявлениях.
- -Xlint:fallthrough
- Проверьте блоки переключателей на наличие провалов и предоставьте предупреждающее сообщение для всех обнаруженных.
- -Xlint:finally
- Предупреждать о предложениях finally , которые не могут завершиться нормально.
- -Xlint:rawtypes
- Предупреждать о непроверенных операциях с необработанными типами.
- -Xlint:serial
- Предупреждать об отсутствии определений serialVersionUID в сериализуемых классах.
- -Xlint:static
- Предупреждать о последовательных методах, вызываемых экземплярами.
- -Xlint:unchecked
- Предоставьте более подробную информацию о предупреждениях о непроверенном преобразовании, которые предусмотрены спецификацией языка Java.
- -Xlint:varargs
- Предупреждать о небезопасном использовании методов с переменными аргументами ( varargs ), в частности тех, которые содержат аргументы, не подлежащие повторению.
- -Xno-jsni-warnings
- Предупреждать, если вместо разделителей OCNI используются собственные разделители кода JSNI (GWT) .