zoukankan      html  css  js  c++  java
  • 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`
     
  • 相关阅读:
    攻防世界pwn高手区——pwn1
    攻防世界misc——János-the-Ripper
    攻防世界逆向——game
    PWN——ret2dl_resolve
    谈一些想法
    python网络编程(一)
    pwnable.kr之unlink
    堆的数据结构探究
    记一次GKCTF之旅
    socket笔记
  • 原文地址:https://www.cnblogs.com/10-19-92/p/15291607.html
Copyright © 2011-2022 走看看