小試J2Objc

項(xiàng)目上線之余潘靖,應(yīng)老板要求轉(zhuǎn)換一個(gè)Java庫到OC中使用穿剖,程序猿總是對新技術(shù)充滿熱情的,匍匐前進(jìn)中卦溢,為免忘記糊余,試驗(yàn)未成,筆錄先行单寂。

必備用品:1.j2objc庫 用于將Java轉(zhuǎn)成OC 將其放在與項(xiàng)目同級目錄下
下載地址:https://github.com/google/j2objc/releases
2.Maven工具 (如無Java環(huán)境贬芥,需先安裝,很簡單宣决,自行百度)用于查詢Java代碼所需的所有直接和間接依賴
下載地址:http://maven.apache.org/download.cgi (紅色標(biāo)注) 下載后 $mvn install 進(jìn)行安裝蘸劈,成功后可$mvn -version 查看maven版本

maven_download.png

Xcode配置:

  1. Other Linker Flags 設(shè)置為 -ljre_emul


    OtherLinkFlags.png
  2. 設(shè)置j2objc庫的路徑,對應(yīng)j2objc庫中相應(yīng)的文件


    j2objc_path.png

    j2objc.png

    其中 User-Defined 是點(diǎn)擊紅色標(biāo)注的?號添加而來 定義了j2objc庫的路徑

  3. 添加 Java source files 點(diǎn)擊紅色標(biāo)注的?號添加
    Javasourcefiles.png

    注意:此配置文件中 TestJ2Objc 為當(dāng)前工程名尊沸,切勿完全復(fù)制粘貼
if [ ! -f "${J2OBJC_HOME}/j2objc" ]; then echo "J2OBJC_HOME is not correctly defined, currently set to '${J2OBJC_HOME}'"; exit 1; fi;
"${J2OBJC_HOME}/j2objc" -d ${DERIVED_FILES_DIR} -sourcepath "${PROJECT_DIR}/TestJ2Objc" --no-package-directories -use-arc --prefix org.j2objc=OJ -use-arc --prefix org.j2objc.subpackage1=OJS -g ${INPUT_FILE_PATH};
注意:下方的Output Files 也要添加 (完成此上三步威沫,編譯后即可導(dǎo)入Java類贤惯,快活地使用它了)

其中 --prefix 后面定義了包名的簡寫(OC調(diào)用Java類 類名前面需要加上包名)
-use-arc --prefix org.j2objc=OJ -use-arc --prefix org.j2objc.subpackage1=OJS 定義了兩個(gè)包名,以致可以如下調(diào)用棒掠,否則只能如第一個(gè)箭頭所指 拼寫全稱調(diào)用
紅色箭頭兩行代碼等價(jià)


類的調(diào)用規(guī)則.png

以上只是能成功使用簡單獨(dú)立的Java文件孵构,若轉(zhuǎn)換大型的Java庫,需要添加很多庫所需的直接和間接依賴,此時(shí)我們先前安裝的Maven就有用武之地了
到對應(yīng)文件夾下 查找目標(biāo)庫的依賴樹

$mvn dependency:tree
此過程中可能會提示某個(gè)包不能解析烟很,例如

錯(cuò)誤提示1.png

其中類似 org.apache.maven:maven-plugin-registry:jar:2.0.6 語句就是指明缺少的依賴包
可以去此倉庫中查詢并下載 : http://search.maven.org/ ( 查詢不到的去github下載)

下載后安裝jar的姿勢:(舉栗)
需要的依賴包信息:org.apache.maven : maven-plugin-registry : jar : 2.0.6
(分別為對應(yīng)的jar包所在路徑颈墅,groupId,artifactId雾袱,version恤筛,類型)
$mvn install:install-file -Dfile=/Users/test/Desktop/Download/maven_need/maven-plugin-registry-2.0.6.jar -DgroupId=org.apache.maven -DartifactId=maven-plugin-registry -Dversion=2.0.6 -Dpackaging=jar

安裝成功后繼續(xù)查詢依賴 $mvn dependency:tree

附上遇見的一些錯(cuò)誤:


需編譯生成SNAPSHOT.png

編譯生成cling-core-2.1.2-SNAPSHOT.jar

$mvn install -DskipTests=true 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市芹橡,隨后出現(xiàn)的幾起案子叹俏,更是在濱河造成了極大的恐慌,老刑警劉巖僻族,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粘驰,死亡現(xiàn)場離奇詭異,居然都是意外死亡述么,警方通過查閱死者的電腦和手機(jī)蝌数,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來度秘,“玉大人顶伞,你說我怎么就攤上這事〗J幔” “怎么了唆貌?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長垢乙。 經(jīng)常有香客問我锨咙,道長,這世上最難降的妖魔是什么追逮? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任酪刀,我火速辦了婚禮,結(jié)果婚禮上钮孵,老公的妹妹穿的比我還像新娘骂倘。我一直安慰自己,他們只是感情好巴席,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布历涝。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荧库。 梳的紋絲不亂的頭發(fā)上诱担,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天,我揣著相機(jī)與錄音电爹,去河邊找鬼蔫仙。 笑死,一個(gè)胖子當(dāng)著我的面吹牛丐箩,可吹牛的內(nèi)容都是我干的摇邦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼屎勘,長吁一口氣:“原來是場噩夢啊……” “哼施籍!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起概漱,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤丑慎,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后瓤摧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體竿裂,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年照弥,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了腻异。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡这揣,死狀恐怖悔常,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情给赞,我是刑警寧澤机打,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站片迅,受9級特大地震影響残邀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜障涯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一罐旗、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧唯蝶,春花似錦、人聲如沸遗嗽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至征字,卻和暖如春都弹,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背匙姜。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工畅厢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人氮昧。 一個(gè)月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓框杜,卻偏偏與公主長得像,于是被迫代替她去往敵國和親袖肥。 傳聞我的和親對象是個(gè)殘疾皇子咪辱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)椎组,斷路器油狂,智...
    卡卡羅2017閱讀 134,669評論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,823評論 6 342
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,183評論 25 707
  • 網(wǎng)絡(luò)請求方式:DeleteDelete方法就是通過http請求刪除指定的URL上的資源啦,Delete請求一般會返...
    于是有了濤閱讀 5,217評論 0 5
  • 人吶寸癌,總是要找點(diǎn)事情來虐一虐自己不是专筷! 否則就不知道現(xiàn)在生活的幸福,一切的不容易蒸苇。 堅(jiān)持住仁堪,堅(jiān)持住填渠! 堅(jiān)持到100...
    璐啦啦Lula閱讀 206評論 0 0