官方文档:

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`
 
posted on 2021-09-16 01:21  怡情_老二  阅读(863)  评论(0编辑  收藏  举报