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

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

 

编译报错:

JAVA转OC j2objc     根据提示:other linker 添加 -liconv  JAVA转OC j2objc   编译成功   4、使用 #import “TestLog.h" JAVA转OC j2objc     查看TestLog.h 代码   JAVA转OC j2objc     项目调用:   JAVA转OC j2objc     注意点: 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`  
上一篇:OC 基础 UICollectionView


下一篇:衡量计算机网络的指标