j2objc

j2objc-dagger:使用 J2Objc 对 Dagger2 进行测试翻译 j2objc-匕首 使用 J2Objc 对 Dagger2 进行测试翻译 笔记 您必须将 bash 文件中的正确路径设置为 j2objc 的正确位置。 立即下载

谷歌推出的j2objc可以将不涉及UI的java代码转换(翻译)为objective-c的代码。推出此工具的目的是能够使用java编写的逻辑部分、数据处理部分等不涉及UI的核心代码,而这些代码能够轻松的使用在web端,Android客户端,和ios客户端(j2objc)。前2个因为本身就是java环境,所以java的核心代码重复使用没有太大的问题,而ios客户端采用Objective-c作为编程语言,j2objc转制的代码可用性大吗?和相同业务逻辑用原生objective-c编写出来的代码,有多大的差异?虽然java有垃圾回收机制,但是ios5之后xcode不是有ARC么,唯一不同的地方仅仅是objective-c的垃圾回收由编译器在编译的时候就完成了。

注意注意注意:该j2objc不能转换jar包和UI代码!!!

接下来我们聊一下具体的转换操作:

1.项目->TARGETS->Build Rules新建Java Source files,内容:

/Users/gaolailong/Desktop/Java2OC/j2objc-2.0.5/j2objc -d ${DERIVED_FILE_DIR} -sourcepath ${PROJECT_DIR}/Java2OCTest \
--no-package-directories ${INPUT_FILE_PATH};

注意修改你自己的项目名字和你下载的j2objc目录的正确性。
/Users/gaolailong/Desktop/Java2OC/j2objc-2.0.5/j2objc为你下载的j2objc目录文件夹;
这里写图片描述
Java2OCTest为我自己的项目名字。

如图:
这里写图片描述

然后在Output Files中添加

$(DERIVED_FILE_DIR)/${INPUT_FILE_BASE}.h

$(DERIVED_FILE_DIR)/${INPUT_FILE_BASE}.m

2.Build Settings-Search Paths中添加你下载的j2objc目录中的子目录如图:
这里写图片描述

这里写图片描述

3.最后,Build Settings-Linking-Other Linker Flags中添加

$(inherited) -l"z" -l"jre_emul" -l"icucore" -l jre_emul -ObjC 

OK。是时候写一个项目实践一下了。
Demo地址:Java2OCTest 密码:bsrr

另外需要注意的是
1.当新增了java方法之后,直接调用的话是会报错的,因为j2objc还没有编译出对应的objc的代码,此时需要将整个工程Build编译一下,然后就可以调用了,当然,把工程clean之后也会默认报类似的错,Build一下工程即可。
2.如果java代码中使用了包,则j2objc会默认更改类名(在原有类名之前加包名),commod+鼠标左键进入查看具体变化,再根据实际情况调用。
有关包名加前缀的问题,可以参考官方文档 https://github.com/google/j2objc/wiki/Package-Prefixes
3.对于使用数组的情况,暂时还没发现把j2objc的数组直接转化为objectC数组的方法(强转当然是不行的),因此使用IOSIntArray取得数组中的元素,数组操作查看该类.h文件。

j2objcJava转成Objective-C的用于移植Android库到iOS j2objc:Java转成Objective-C的用于移植Android库到iOS 立即下载

相关推荐

j2objcDemo

使用j2objc实现iOS调java的demo

基于 J2objc 的跨平台组件化开发实践

本文内容已经开源,包括:j2objc 工具链,Android库移植 在移动端众多的跨平台方案中,j2objc 方案是一种比较特殊的存在。它不像 Flutter 那样几乎完全重新搞了一套语言和框架,也不像 React Native、Weex 等通过 JS 脚本引擎与原始功能对接。那 j2objc 是怎么样实现跨平台的呢? J2objc 简介 首先,j2objc 是一个语言转换工具,它将我们用 java 语言实现的代码,转换为 Objective-C (OC...

luansxx的专栏 997

J2OBJC的demo

该文件为J2OBJC的demo,可以将Java功能模块转化为OC的代码。

j2objc_Google工具J2ObjC将Java转换为Objective-C

地狱冻结了吗? 昨晚,Google 发布了一个开源命令行工具,用于将Java代码的大块代码转换为Objective-C,从而使将Android应用程序移植到iOS变得更加容易。 目前, J2ObjC使Java代码成为iOS应用程序构建的一部分,而目前在“ alpha和beta质量之间”,而无需对生成的文件进行任何额外的编辑-从理论上讲。 它显然已经在多个Google应用程序中使用,尽管他们警...

1172

Xcode-J2ObjC-Example:将 j2objc 生成的文件设置为静态库目标的示例 xcode 项目

介绍 这是关于如何在 Xcode 中将 J2ObjC 设置为静态库的分步指南。 完成本指南后,您将能够在 Xcode 中设置 j2objc 并准备好工作。 共享的 java 文件被添加到 Xcode 中进行跟踪,它们生成的代码被编译到一个静态库中,并关闭 ARC(自动引用计数)。 先决条件 本指南假设如下。 您已经在某处安装了 J2ObjC。 如果你还没有,这里是。 示例项目假定安装位置 -- $HOME/bin/j2objc。 如果您将其安装在不同的位置,则需要稍后修改 LibConfig.xcconfig 和 AppConfig.xcconfig 中的 J2OBJC_HOME 变量。 您安装了最新的 Xcode(版本 6 或更高版本) 您已经创建了一个 iOS Xcode 项目。 如果您在 Mac 上工作,则需要为 Mac 而不是 iOS 创建一个静态库。 分步指南 为静态库添加

告别“静态组件”:Adobe XD的堆栈+状态,打造“活”的响应式UI

今天,我想分享一套能彻底告别这种“笨方法”的、Adobe XD中的进阶技巧,通过组合使用“堆栈”、“内边距”和“组件状态”,去构建一个能自动适应内容、真正“活”起来的智能响应式组件。

Kingsdesigner的博客 762

【亲测免费】 J2ObjC 项目使用教程

J2ObjC 项目的目录结构如下: ``` j2objc/ ├── docs/ ├── examples/ ├── include/ ├── lib/ ├── scripts/ ├── tests/ ├── tools/ ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── RELEASENOTES.md └── build.sh ``` ### ...

gitblog_00346的博客 1018

Ubuntu 22.04 LTS下Xenomai 3.3实时内核配置全攻略(附常见错误排查)

本文详细介绍了在Ubuntu 22.04 LTS系统上配置Xenomai 3.3实时内核的完整流程,包括环境准备、内核补丁应用、编译优化及常见错误排查。特别针对工业自动化和机器人控制场景,提供了性能优化建议和故障解决方案,帮助开发者实现毫秒级精度的实时任务处理。

weixin_29268385的博客 464

使用j2objc实现iOS调java

故事背景为Google发布的j2objc可以将java代码转换为objc,这便为iOS,安卓,服务器大一统提供了有利前提。 可以在github上找到j2objc的项目源码(https://github.com/google/j2objc),其实wiki上已经有很详细的说明了 使用步骤: 1、下载JDK并安装(https://support.apple.co

xyxjn的专栏 2万+

【计算机组成原理】课程设计四:控制器设计(二)

本文主要是介绍了计算机组成原理课程设计四其二,即控制器设计(二),属于计算机课程设计专栏

superiony的博客 1430

ST-Link V2的隐藏技能:多通道串口调试的终极指南

本文深入探讨了ST-Link V2的多通道串口调试功能,突破传统烧录工具的限制。通过详细的硬件配置、Arduino IDE设置和实战案例,展示了如何利用SWD接口实现多通道数据监控,提升STM32F103C8T6等开发板的调试效率。文章还提供了PCB布局优化和性能调优技巧,助力开发者充分发挥ST-Link V2的潜能。

weixin_29285605的博客 357

J2ObjC Gradle 插件使用教程

J2ObjC Gradle 插件使用教程 1. 项目的目录结构及介绍 J2ObjC Gradle 插件的目录结构如下: j2objc-gradle/ ├── build.gradle ├── gradle │ └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.p...

gitblog_00009的博客 829

AI提示词实战:用EARS语法5步搞定产品需求拆解(附完整案例)

本文详细介绍了如何运用EARS语法将模糊的产品需求进行原子化拆解,转化为清晰、可执行的结构化指令。通过一个完整的自由职业者项目管理工具案例,演示了从原始需求分析到构建增强AI提示词的五步实战流程,帮助产品经理和技术人员实现高效、精准的需求传达与协作。

nokia的博客 1036

[IOS]How to use J2Objc

jameskaron的专栏 299

【MM小贴士】关于SAP系统中关税的处理方式

的运费,这部分来讲,我们关税的计价基础,就应该是货物价值+包邮到中国港口的运费,完后进行报关操作,缴纳关税,后半段从中国港口拉回到企业里面的运输费,就会做到费用里面去,而不是计入到存货成本。1、我们自己的企业和国外厂家A购买一项物资,厂家A的报价会分成几个组成部分货物本身的价值或者货物本身的价值+到国外港口的运费或者货物本身的价值+到中国港口的运费或者货物本身的价值+包邮到你们自己企业的整体运费。所以我的关税就是不确定的。重点是运费是哪一段的运费,如何结算,结算的货币,何时能够确定运费。.........

竹大的博客 9029

Visual Tracker Benchamark傻瓜式教程(二)

问题  1 1  在调用main.m跑TRE和SRE时,因为会生成相应的.mat数据文件,如果跑完以后发现自己算法生成的.mat文件有问题,那么要把该文件删除,待找到错误原因后,重新生成相应的.mat文件。因为程序中写的是如果已经存在了.mat文件,例如已经存在car4_STC.mat文件,即使该文件中的数据有错误,但是重新跑时会默认该文件中的数据写完,不会重新写入数据 问题  2  b

mingbujingren的专栏 9928

j2objc的使用

本文系flychen原创,转载请注明出处。http://www.cnblogs.com/flychen/archive/2012/10/15/j2objc.html 前段时间谷歌发布了j2objc工具(java代码转换成objective-c工具),公司让我做个调研报告,上个星期已经完成提交了。这个东西怎么样,我在这里就不做评价了,相信大家会有自己的体会。我把工具的使用方法写在这上面,因为网

msh940620的专栏 1447

记录Nvidia AGX Orin的配置日常(二)设置上电自动开机和远程桌面

因为要拿AGX作为机器人的主控板,所以需要给他设置一下通电后无需按电源键就自动开机,然后再配置一下远程桌面。

AutomaticForever的博客 1363

J2ObjC 的使用

——只灯片笺 Ps:根据笔者自己的使用测试对比,发现Xcode在实现J2ObjC时,比Eclipse实现J2ObjC成功率更高,且更方便快捷。 So,此处先讲解Xcode中J2ObjC的实现。 Xcode中配置并使用J2ObjC,实现java代码转为objective-c代码 1.首先,到github上下...

weixin_34235371的博客 537

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

j2objc简单调用

j2objc 解析java转成oc githubDemo地址 https://github.com/google/j2objc 下载包的地址 https://github.com/google/j2objc/releases 使用 因为是java转成oc语言 所以不能java种的jar包 先用一段实验的代码 package test; public class Status {

rpf的博客 1992

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Build the iOS Things with J2Objc

Build the iOS Things with J2Objc 1. Install the J2Objc Get the latest file from here https://j2objc.googlecode.com/files/j2objc-0.7.zip. Unzip and put in the tool directory. Link it to the work...

快马扬鞭须努力! 223

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

J2ObjC 终极指南:从Java到iOS的完整跨平台开发教程

J2ObjC是一款强大的开源工具,能够将Java代码无缝翻译成iOS Objective-C代码,让开发者可以重用现有的Java业务逻辑,快速构建原生iOS应用。这个Java到iOS的翻译工具和运行时环境为跨平台开发提供了革命性的解决方案。 ## 🚀 J2ObjC 是什么? J2ObjC(Java to Objective-C)是一个由Google开发的翻译工具和运行时库,它能够将Java源

gitblog_00468的博客 853

J2ObjC性能优化:10个提升翻译效率的技巧

J2ObjC作为一款强大的Java到iOS Objective-C翻译工具和运行时环境,在跨平台开发中发挥着重要作用。然而,随着项目规模的增长,翻译效率可能成为瓶颈。本文将分享10个实用的J2ObjC性能优化技巧,帮助您显著提升翻译效率。🎯 ## 1. 理解J2ObjC翻译流程 J2ObjC的翻译过程分为多个阶段:Java源码解析、类型转换、Objective-C代码生成等。了解这些流程有助

gitblog_00767的博客 979

j2objc java代码转换成objective-c

前段时间谷歌发布了j2objc工具(java代码转换成objective-c工具),公司让我做个调研报告,上个星期已经完成提交了。这个东西怎么样,我在这里就不做评价了,相信大家会有自己的体会。我把工具的使用方法写在这上面,因为网上只有关于j2objc的一篇新闻,至于怎么使用倒没有介绍。我先做了个铺垫,让后续者少浪费点时间。 J2objc的使用 1 要求: Xcode 4 or higher

xinqing08007的专栏 3224
上一篇: Python中测试用例(unittest)简单使用
下一篇: iOS SDK 中unrecognized selector sent to instance错误
longlongValue
博客等级 码龄10年 52粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值