我已经满足了在mac上安装j2objc的要求,如下所示:
Apple macOC Catalina Version 10.15.7
Xcode Version 12.2 (12B45b)
JDK 1.8 installed - JAVA_HOME=`/usr/libexec/java_home -v 1.8`
JDK 11 installed
/Users/userName/Downloads/apache-maven-3.6.3" installed
Xcode command line tools installed
J2OBJC_HOME=/Users/userName/J2objc
J2ObjC project successfully cloned
libprotoc 3.14.0 installed在终端I cd to j2objc目录中,运行make dist。这个过程似乎是永无止境的,事实上,我已经注意到编译命令被重复了很多次。我让它运行了将近一个小时,但它从来没有结束过。同样,当运行其他make命令时,结果也是相同的。
我尝试过用下面的命令编译一个文本java对象:
$ j2objc javaTest.java
and this results in the following error message:
Exception in thread "main" com.sun.tools.javac.util.FatalError: Fatal Error: Unable to find package java.lang in classpath or bootclasspath我还尝试在Xcode中打开并运行HelloSwift应用程序,但是尽管它编译成功,模拟器并没有启动。我确实按照说明中的说明指定了J2OBJC_ARCHS。
我猜我漏掉了什么,或者没有理解说明。任何帮助都将不胜感激。
发布于 2020-12-15 23:52:37
完整的j2objc构建可能需要一个多小时,因为Java Runtime Environement (JRE)和Guava库都非常大。它的构建看起来像是在重复自己,因为每个翻译后的源文件都需要为特定的体系结构单独编译,目前每种苹果硬件和CPU类型的组合都需要11个。
make命令按顺序运行命令,但是因为所有Mac系统都有多核处理器,所以使用-j标志指定要使用的并发构建任务的数量时,构建速度会快得多。我的Macbook Pro有六个内核,所以用make -j6运行构建将在几乎六分之一的时间内构建它。
下一个最大的构建速度改进是指定您提到的J2OBJC_ARCHS的子集;my ~/.bashrc中的设置是export J2OBJC_ARCHS="macosx simulator64" (如果您通常开发iOS设备,请将其arch添加到该列表中)。archs j2objc构建列表是created here,在上一个j2objc版本之后添加了macosx64 (macOS ARM)。
https://stackoverflow.com/questions/65305636
复制相似问题