j2objc
Công cụ j2objc sẽ chuyển các tệp nguồn Java được chỉ định thành nguồn Objective-C hoặc Objective-C++ để sử dụng trong ứng dụng iOS.
j2objc [ options ] file1.java ...
Các tuỳ chọn sau được hỗ trợ. Đối với các tùy chọn đi theo đường dẫn, nhiều thư mục và tệp jar được phân tách bằng dấu ':', như được thực hiện với lệnh java
và javac
.
Các tùy chọn phổ biến
- -sourcepath <đường dẫn>
- Chỉ định nơi cần tìm tệp nguồn đầu vào.
- -classpath <đường dẫn>
- Chỉ định nơi cần tìm tệp của lớp người dùng.
- -d <thư mục>
- Chỉ định vị trí đặt tệp Objective-C đã tạo.
- -encoding <Mã hoá>
- Chỉ định chế độ mã hoá ký tự cho các tệp nguồn (mặc định sử dụng UTF-8).
- -source <bản phát hành>
- Cung cấp khả năng tương thích nguồn với bản phát hành đã chỉ định.
- -g
- Tạo hỗ trợ gỡ lỗi.
- -l, --list
- Liệt kê các tệp được dịch.
- -v, --verbose
- Thông báo đầu ra về những việc người dịch đang làm.
- -Werror
- Chuyển tất cả các cảnh báo thành lỗi.
- -h, --help
- In tin nhắn này.
Các lựa chọn dịch
- --add-reads
- Tùy chọn sẽ chuyển tiếp trực tiếp đến trình biên dịch Java (xem phần trợ giúp về javac để biết thông tin chi tiết).
- --allow-inherited-constructors
- Không đưa ra cảnh báo của trình biên dịch khi mã gốc truy cập vào các hàm khởi tạo kế thừa.
- --build-closure
- Dịch các lớp phụ thuộc nếu chúng đã lỗi thời (như
javac
thực hiện). - --class-properties
- Tạo thuộc tính lớp cho các biến tĩnh và hằng số enum.
- --dead-code-report <tệp>
- Chỉ định báo cáo sử dụng ProGuard để loại bỏ mã đã chết.
- --doc-comments
- Dịch các nhận xét trong Javadoc thành các nhận xét tương thích với Xcode.
- --doc-comments-warnings
- Báo cáo cảnh báo khi dịch bình luận Javadoc.
- -external-annotation-file <tệp>
- Chỉ định các chú thích phổ biến nhất ảnh hưởng đến quá trình chuyển đổi trong Tệp chỉ mục chú thích Java (định dạng do Khung kiểm tra xác định).
- -g:none
- Không hỗ trợ gỡ lỗi.
- -g:relative
- Tạo tính năng hỗ trợ gỡ lỗi với các đường dẫn tương đối.
- --generate-deprecated
- Tạo các thuộc tính không dùng nữa cho các phương thức, lớp và giao diện không dùng nữa.
- -J<gắn cờ>
- Truyền một <flag> Java, chẳng hạn như
-Xmx1G
, vào thời gian chạy của hệ thống. - --mapping <tệp>
- Thêm tệp ánh xạ phương thức.
- --no-class-properties
- Không tạo thuộc tính lớp cho các biến tĩnh và hằng số enum.
- --no-extract-unsequenced
- Đừng viết lại các biểu thức gây ra lỗi sửa đổi không theo trình tự.
- --no-nullability
- Đừng tạo chú thích thuộc tính rỗng Objective-C.
- --no-package-directories
- Không tạo thư mục cho các gói Java khi tạo tệp.
- --no-segmented-headers
- Tạo tiêu đề có bảo vệ xung quanh mỗi loại đã khai báo. Hữu ích khi phá vỡ chu kỳ nhập.
- --no-wrapper-methods
- Đừng tạo phương thức trình bao bọc Objective-C cho hàm dựng và phương thức tĩnh. (J2ObjC tạo các hàm C cho các loại tệp thực thi này)
- --nullability
- Chuyển đổi chú thích rỗng và không rỗng thành chú thích Objective-C.
- --patch-module
- Tùy chọn sẽ chuyển tiếp trực tiếp đến trình biên dịch Java (xem phần trợ giúp về javac để biết thông tin chi tiết).
- --prefix <package=prefix>
- Thay thế một tiền tố đã chỉ định cho tên gói.
- --prefixes <tệp>
- Chỉ định tệp thuộc tính có định nghĩa tiền tố.
- --preserve-full-paths
- Tạo tệp đầu ra có đường dẫn tương đối giống với tệp đầu vào.
- -processor <class1>[,<class2>...]
- Tên của trình xử lý chú giải sẽ chạy; bỏ qua quy trình khám phá mặc định.
- -processorpath <đường dẫn>
- Chỉ định nơi cần tìm các trình xử lý chú giải.
- --reflection:{all,none,enum-constants,-enum-constants,name-mapping,-name-mapping}
- Tạo hoặc loại trừ sự hỗ trợ cụ thể cần thiết cho việc phản chiếu trong Java.
- --reserved-names <tệp>
- Tránh xác định lại các giá trị nhận dạng có trong tiêu đề hệ thống.
- --static-accessor-methods
- Tạo phương thức truy cập cho các biến tĩnh và hằng số enum.
- --strip-gwt-incompatible
- Xoá các phương thức được đánh dấu bằng chú thích
GwtIncompatible
trừ phi giá trị của phương thức đó được tương thích. - --strip-reflection
- Không tạo siêu dữ liệu cần thiết cho tính năng phản chiếu trong Java (lưu ý: điều này sẽ làm giảm đáng kể khả năng hỗ trợ phản chiếu).
- --swift-friendly
- Tạo mã hỗ trợ việc nhập Swift (tương đương với --class-properties --nullability).
- --system
- Tùy chọn sẽ chuyển tiếp trực tiếp đến trình biên dịch Java (xem phần trợ giúp về javac để biết thông tin chi tiết).
- -t, --timing-info
- Thời gian in được thực hiện trong các bước dịch thuật.
- --timing-info:{all,total,none}
- Thời gian in được thực hiện trong các bước dịch thuật.
- -use-arc
- Tạo mã Objective-C để hỗ trợ đếm tham chiếu tự động (ARC).
- -use-reference-counting
- Tạo mã Objective-C để hỗ trợ đếm tham chiếu thủ công cho iOS (mặc định).
- -version
- Thông tin phiên bản.
- -x <ngôn ngữ>
- Chọn ngôn ngữ đầu ra. Các giá trị có thể có là objective-c (mặc định) và objective-c++.
- -X
- In trợ giúp cho các tùy chọn không đúng chuẩn.
Tùy chọn không chuẩn
- -Xbootclasspath:<đường dẫn>
- Đường dẫn khởi động được dịch sử dụng (không phải do chính công cụ).
- -Xlint
- Bật tất cả cảnh báo.
- -Xlint:none
- Tắt tất cả cảnh báo không bắt buộc theo Thông số kỹ thuật ngôn ngữ Java.
- -Xlint:-xxx
- Tắt cảnh báo xxx, trong đó xxx là một trong những tên cảnh báo được hỗ trợ cho -Xlint:xxx ở bên dưới.
- -Xlint:cast
- Cảnh báo về các biểu thức truyền không cần thiết và thừa.
- -Xlint:deprecation
- Cảnh báo về việc sử dụng các mục không dùng nữa.
- -Xlint:dep-ann
- Cảnh báo về các mục được ghi lại bằng bình luận Javadoc @deprecated, nhưng không có chú thích @Deprecated.
- -Xlint:empty
- Cảnh báo về câu lệnh trống.
- -Xlint:fallthrough
- Kiểm tra khối chuyển đổi cho các trường hợp chuyển tiếp và đưa ra thông báo cảnh báo cho những trường hợp được tìm thấy.
- -Xlint:finally
- Cảnh báo về mệnh đề finally không thể hoàn thành bình thường.
- -Xlint:rawtypes
- Cảnh báo về các thao tác chưa đánh dấu trên các loại thô.
- -Xlint:serial
- Cảnh báo về việc thiếu khai báo serialVersionUID trên các lớp có thể tuần tự hoá.
- -Xlint:static
- Cảnh báo về các phương thức nối tiếp được gọi trên các thực thể.
- -Xlint:unchecked
- Cung cấp thêm thông tin chi tiết cho những cảnh báo về lượt chuyển đổi chưa đánh dấu bắt buộc theo Quy cách ngôn ngữ Java.
- -Xlint:varargs
- Cảnh báo về việc sử dụng các phương thức đối số biến (varargs) không an toàn, cụ thể là những phương thức chứa đối số không thể sửa đổi.
- -Xno-jsni-warnings
- Cảnh báo nếu bạn sử dụng dấu phân tách mã gốc JSNI (GWT) thay vì dấu phân tách OCNI.