j2objc

A Java to iOS Objective-C translation tool and runtime.

  • Owner: google/j2objc
  • Platform:
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

J2ObjC: Java to Objective-C Translator and Runtime

Project site: https://j2objc.org
J2ObjC blog: https://j2objc.blogspot.com
Questions and discussion: https://groups.google.com/group/j2objc-discuss

What J2ObjC Is

J2ObjC is an open-source command-line tool from Google that translates
Java source code to Objective-C for the iOS (iPhone/iPad) platform. This tool
enables Java source to be part of an iOS application's build, as no editing
of the generated files is necessary. The goal is to write an app's non-UI
code (such as application logic and data models) in Java, which is then
shared by web apps (using GWT), Android apps,
and iOS apps.

J2ObjC supports most Java language and runtime features required by
client-side application developers, including exceptions, inner and
anonymous classes, generic types, threads and reflection. JUnit test
translation and execution is also supported.

J2ObjC is currently beta quality. Several Google projects rely on it, but
when new projects first start working with it, they usually find new bugs
to be fixed. If you run into issues with your project, please report them!

What J2ObjC isn't

J2ObjC does not provide any sort of platform-independent UI toolkit, nor are
there any plans to do so in the future. We believe that iOS UI code needs to
be written in Objective-C, Objective-C++ or Swift using Apple's iOS SDK (Android
UIs using Android's API, web app UIs using GWT, etc.).

J2ObjC cannot convert Android binary applications. Developers must have source
code for their Android app, which they either own or are licensed to use.

Requirements

License

This library is distributed under the Apache 2.0 license found in the
LICENSE file.
The protocol buffers library is distributed under the same BSD license as
Google's protocol buffers. See its
README and
LICENSE.

Running on GNU/Linux

To build and run on GNU/Linux, install the Darling project, then following its Compile and Run a Program example. Please note that j2objc is only supported on iOS/macOS.

Main metrics

Overview
Name With Ownergoogle/j2objc
Primary LanguageJava
Program languageMakefile (Language Count: 14)
Platform
License:Apache License 2.0
所有者活动
Created At2014-01-30 20:19:56
Pushed At2025-09-04 15:50:46
Last Commit At2025-09-04 08:48:19
Release Count42
Last Release Name3.1 (Posted on )
First Release Name0.8.7 (Posted on 2014-01-30 16:38:13)
用户参与
Stargazers Count6k
Watchers Count284
Fork Count1k
Commits Count6k
Has Issues Enabled
Issues Count1138
Issue Open Count67
Pull Requests Count949
Pull Requests Open Count22
Pull Requests Close Count437
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private