https://developers.google.com/j2objc J2ObjC * J2ObjC [ ] [Language ] Sign in Guides Reference Support J2ObjC * J2ObjC * Guides * Reference * Support * Overview * Why Use J2ObjC? * Getting Started * Building with J2ObjC * Using J2ObjC with Xcode * External Build Projects * Xcode Build Rules * The JreEmulation Project * Using J2ObjC with Make * Eclipse Plugin * Gradle Plugin * Maven Plugin * Required Link Flags * Translating JUnit Tests * Using Protocol Buffers * Developing for J2ObjC * Translation Reference * Reading Generated Sources * Changing Method Names * Writing Native Methods * Memory Management * J2ObjC Memory Model * Cycle Finder Tool * Dead Code Elimination * Package Prefixes * Segmented Headers * Java Resources * Customize iOS Logging * Community * Reporting Issues * Building J2ObjC * Project Ideas * How to Contribute * Projects that use J2ObjC * * FAQ * Home * Products * J2ObjC 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. Get Started 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. 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 * JDK 1.8 or JDK 11 (see announcement) * Mac workstation or laptop * Mac OS X 10.14 or higher * Xcode 11 or higher Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates. Last updated 2020-10-15 UTC. [{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"Missing the information I need" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"Too complicated / too many steps" },{ "type": "thumb-down", "id": "outOfDate", "label":"Out of date" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"Samples / code issue" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }] * file_download Downloads Grab the latest zips of J2ObjC! * GitHub GitHub J2ObjC Project Source * Blog Blog Read about the latest updates, customer stories, and tips. * Stack Overflow Stack Overflow Ask a question under the j2objc tag * Product Info + Terms of Service + Usage Limits + Release Notes * Community + J2ObjC Discussions + GitHub Repo * Help + Issue Tracker + Stack Overflow Google Developers * Android * Chrome * Firebase * Google Cloud Platform * All products * Terms * Privacy * Sign up for the Google Developers newsletter Subscribe [Language ]