j2objc
Narzędzie j2objc tłumaczy określone pliki źródłowe w Javie na źródła w celach (C-lub C++) do wykorzystania w aplikacjach na iOS.
j2objc [ options ] file1.java ...
Obsługiwane są następujące opcje. W przypadku opcji obejmujących kilka ścieżek wiele katalogów i plików jar jest oddzielanych znakiem „:”, tak jak w przypadku poleceń java
i javac
.
Typowe opcje
- -sourcepath <ścieżka>
- Określ, gdzie chcesz znaleźć wejściowe pliki źródłowe.
- -classpath <ścieżka>
- Określ, gdzie znaleźć pliki zajęć użytkownika.
- -d <katalog>
- Określ, gdzie umieścić wygenerowane pliki z celami C.
- -encoding <kodowanie>
- Określ kodowanie plików źródłowych (domyślnie UTF-8).
- -source <release>
- Zapewnij zgodność źródła z określoną wersją.
- -g
- Obsługa debugowania.
- -l, --list
- Lista przetłumaczonych plików.
- -v, --verbose
- Przekazuj komunikaty o tym, co robi tłumacz.
- -Werror
- Umieść wszystkie ostrzeżenia w błędach.
- -h, --help
- Wydrukuj tę wiadomość.
Opcje tłumaczenia
- --add-reads
- Opcja została przekazana bezpośrednio do kompilatora Java (szczegóły znajdziesz w pomocy dotyczącej języka javac).
- --allow-inherited-constructors
- Nie wyświetlaj ostrzeżeń dotyczących kompilatora, gdy kod natywny uzyskuje dostęp do dziedziczonych konstruktorów.
- --build-closure
- Tłumacz zajęcia zależne, jeśli są nieaktualne (jak
javac
robi to). - --class-properties
- Generuje właściwości klasy na potrzeby zmiennych statycznych i wartości stałych wyliczeniowych.
- --dead-code-report <plik>
- Określ raport użytkowania ProGuard na potrzeby eliminacji niewidocznego kodu.
- --doc-comments
- Tłumacz komentarze w języku Javadoc na komentarze zgodne z Xcode.
- --doc-comments-warnings
- Zgłoś ostrzeżenia podczas tłumaczenia komentarzy w języku Javadoc.
- -external-annotation-file <plik>
- Podaj najczęstsze adnotacje, które wpływają na transpilację w pliku indeksu adnotacji w Javie (w formacie zdefiniowanym przez platformę sprawdzającą).
- -g:none
- Nie debuguj pomocy.
- -g:relative
- Utwórz obsługę debugowania ze ścieżkami względnymi.
- --generate-deprecated
- Generuj wycofane atrybuty dla wycofanych metod, zajęć i interfejsów.
- -J<flag>
- Przekaż do środowiska wykonawczego Javę <flag>, np.
-Xmx1G
. - --mapping <plik>
- Dodaj plik mapowania metod.
- --no-class-properties
- Nie generuj właściwości klasy w przypadku zmiennych statycznych ani stałych wyliczeniowych.
- --no-extract-unsequenced
- Nie przepisuj wyrażeń, które mogłyby spowodować błędy w niesekwencyjnej modyfikacji.
- --no-nullability
- Nie twórz adnotacji o wartości null w celu C.
- --no-package-directories
- Podczas generowania plików nie twórz katalogów dla pakietów Java.
- --no-segmented-headers
- Generuje nagłówki z wartościami zabezpieczającymi wokół każdego zadeklarowanego typu. Jest to przydatne w przypadku przerywania cykli importowania.
- --no-wrapper-methods
- Nie generuj metod kodów towarzyszących celu C w przypadku konstruktorów i metod statycznych. (J2ObjC generuje funkcje C dla takich plików wykonywalnych)
- --nullability
- Konwertuje adnotacje o wartości null i niepuste w celu C.
- --patch-module
- Opcja została przekazana bezpośrednio do kompilatora Java (szczegóły znajdziesz w pomocy dotyczącej języka javac).
- --prefix <package=prefix>
- Zamień określony pakiet na prefiks.
- --prefixes <plik>
- Podaj plik właściwości z definicjami prefiksów.
- --preserve-full-paths
- Generuje pliki wyjściowe o tych samych ścieżkach względnych co pliki wejściowe.
- -processor <klasa1>[,<klasa2>...]
- Nazwy procesorów adnotacji do uruchomienia; pomijają domyślny proces wykrywania.
- -processorpath <ścieżka>
- Określ, gdzie znaleźć procesory adnotacji.
- --reflection:{all,none,enum-constants,-enum-constants,name-mapping,-name-mapping}
- Utwórz lub wyklucz odpowiednią obsługę języka Javy.
- --reserved-names <plik>
- Unikanie definiowania identyfikatorów w nagłówkach systemowych.
- --static-accessor-methods
- Generuje metody dostępu jako zmienne statyczne i stałe wyliczenia.
- --strip-gwt-incompatible
- Usuwa metody oznaczone adnotacją
GwtIncompatible
, o ile jest ona zgodna. - --strip-reflection
- Nie generuj metadanych potrzebnych do odbicia kodu Java (uwaga: znacznie zmniejszy to obsługę odbicia).
- --swift-friendly
- Wygeneruj kod ułatwiający importowanie Swift (odpowiednik --class-properties --nullability).
- --system
- Opcja została przekazana bezpośrednio do kompilatora Java (szczegóły znajdziesz w pomocy dotyczącej języka javac).
- -t, --timing-info
- Spędzany czas na tłumaczeniu.
- --timing-info:{all,total,none}
- Spędzany czas na tłumaczeniu.
- -use-arc
- Wygeneruj kod celu C, aby umożliwić automatyczne liczenie plików referencyjnych.
- -use-reference-counting
- Wygeneruj kod celu C, aby umożliwić ręczne liczenie plików referencyjnych w systemie iOS (domyślnie).
- -version
- Informacje o wersji.
- -x <język>
- Określ język wyjściowy. Możliwe wartości to objective-c (domyślnie) i objective-c++.
- -X
- Pomoc dotycząca opcji niestandardowych.
Opcje niestandardowe
- -Xbootclasspath:<ścieżka>
- Ścieżka początkowa tłumaczona (nie narzędzie).
- -Xlint
- Włącz wszystkie ostrzeżenia.
- -Xlint:none
- Wyłącz wszystkie ostrzeżenia, które nie są wymagane w specyfikacji języka Java.
- -Xlint:-xxx
- Wyłącz ostrzeżenie „xxx”, gdzie xxx to jedna z nazw ostrzeżeń obsługiwanych przez -Xlint:xxx poniżej.
- -Xlint:cast
- Ostrzegaj o niepotrzebnych i nadmiernych wyrażeniach przesyłających.
- -Xlint:deprecation
- Ostrzegaj o wycofanych elementach.
- -Xlint:dep-ann
- Ostrzegaj, które elementy są udokumentowane przy użyciu komentarza w języku Javadoc @deprecated, ale bez adnotacji @Deprecated.
- -Xlint:empty
- Ostrzegaj o pustych wyciągach.
- -Xlint:fallthrough
- Sprawdzaj, czy w blokach przełączników nie występują przypadki awarii, i w razie ich wykrycia wyświetla się ostrzeżenie.
- -Xlint:finally
- Wyświetlaj ostrzeżenie (finally) klauzulę, która nie może działać normalnie.
- -Xlint:rawtypes
- Ostrzegaj o niezaznaczonych operacjach na typach nieprzetworzonych.
- -Xlint:serial
- Ostrzegaj o serialVersionUID definicjach klas, które można serializować.
- -Xlint:static
- Ostrzeżenie o metodach szeregowych wywołanych przez instancje.
- -Xlint:unchecked
- Podaj więcej informacji o niezaznaczonych ostrzeżeniach dotyczących konwersji, które są obowiązkowe w specyfikacji języka Java.
- -Xlint:varargs
- Wyświetlaj ostrzeżenie o niebezpiecznym stosowaniu argumentów zmiennej (varargs), szczególnie w tych, które zawierają argumenty niemożliwe do zweryfikowania.
- -Xno-jsni-warnings
- Wyświetlaj ostrzeżenie, jeśli zamiast separatorów OCNI używane są JSNI (GWT) separatory kodu natywnego.