Java教程

JAVA转OC j2objc

本文主要是介绍JAVA转OC j2objc,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

官方文档:

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

 

1、Targets—>Build Rules,添加自定义脚本 

if [ ! -f "${J2OBJC_HOME}/j2objc" ]; then echo "J2OBJC_HOME not correctly defined in Settings.xcconfig, currently set to '${J2OBJC_HOME}'"; exit 1; fi;
"${J2OBJC_HOME}/j2objc" -d ${DERIVED_FILES_DIR} -sourcepath "${PROJECT_DIR}/JavaToObjc" --no-package-directories -g ${INPUT_FILE_PATH};

 

Output Files 添加 

${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.h
${DERIVED_FILES_DIR}/${INPUT_FILE_BASE}.m

    2、Build Setting 设置        3、新建一个java文件 TestLog.java
public class TestLog {
    public void log() {
        System.out.println("java println log");
    }
}

 

编译报错:

    根据提示:other linker 添加 -liconv    编译成功   4、使用 #import “TestLog.h"     查看TestLog.h 代码       项目调用:       注意点: 1、如果报错  JDK not supported. Please set JAVA_HOME to JDK 1.8 or 11. 需要确认JAVA JDK版本为1.8以上   2、j2objc.sh 脚本里底62行   SUPPORTED_JAVA_VERSIONS=(1.8 11) ,将版本改为自己Java版本,我这里用的是SUPPORTED_JAVA_VERSIONS=(11.0.8)   3、第50行,指定了版本  readonly JAVA_HOME=`/usr/libexec/java_home -v 1.8 2> /dev/null`,将版本去掉,改为readonly JAVA_HOME=`/usr/libexec/java_home`
这篇关于JAVA转OC j2objc的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!