看板 Soft_Job 關於我們 聯絡資訊
※ 引述《cdfq152313 (月月冬瓜)》之銘言: : 公司最近接了一個Android案子,說好對方會提供SDK。 : 對方第一版SDK過來是純C/C++ library,連makefile都沒有QQ : 要求後第二版丟過來,加上了CMakeList.txt。 : 總算可以試圖編譯,但還是過不了。 : 詢問後才發現他們的toolchain是自己編的不是從Android官網抓的 Orz : 我想想這樣花太多時間了,所以詢問對方能不能直接提供編譯完的版本。 : 於是對方最後丟了一個.so過來,看來是要我們自己封JNI... : 先撇開之前自己編譯的問題,我只想確定一下,身為Android工程師會封JNI是常識嗎? : 我大部分使用別人library的經驗都是在gradle裡面設定dependency : 少部分是抓下來後import module。 : 這還是第一次碰到需要自己封JNI的情況。 : 因為公司也只有我一個Android工程師, : 所以想詢問一下有Android工作經驗的人這個問題。 : 請問你們有自己封裝過JNI嗎? 這會是Android工程師的必備技術嗎? 之前有聽朋友聊過在系統廠的一些大小事,如果有說錯請給予指正 JNI, Jave native interface, 一般寫Java的人應該很少會碰到這層, 除非是有要添加硬體特徵,或是底層有一個C或C++ Library想要提供給上層Java使用, 回到原po問到的,會JNI算是常識嗎 ? 那就要看你怎麼定義Android工程師了, 如果是IC廠的Android BSP工程師說不會,大概可以包一包回家。 但如果是系統廠的Android BSP工程師說不會,其實蠻正常的, 因為通常拿到一包code都是有Android每層的原始碼,linux driver, JNI, framework, android app 然後接下來的工作就是改linux driver甚至改device tree就會動了, 會需要改到JNI通常都是Android版本有落差,這個一樣會丟回去給IC廠處理。 -- Sent from my Windows -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.93.46 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1503045498.A.801.html
cdfq152313: 喔喔,感謝分享 08/18 16:44
angusyu: 這不是app工程師。我反而很奇怪一堆人說jni簡單是怎樣 08/18 21:35
profiles: JNI很古老噢,記得我用Jdk1.2時就有了, 08/18 22:18
profiles: 其實蠻容易,前題你要會用C 08/18 22:18
angusyu: 真的 要能發廢文 寫最新的app 還要會C跟JNI 還真是簡單 08/19 00:30
cha122977: IC廠的也不一定會JNI哦,改framework不需要直接會JNI 08/19 03:56
cha122977: Android.mk包好好 Service用AIDL建的也不用寫JNI 08/19 04:22
pttuser: 最好系統廠bsp team不會jni,那我看到的是什麼? 08/19 15:42
pttuser: 以前在系統廠從改driver到app層收event一條龍都要會 08/19 15:44
pttuser: 更何況是jni,常常在jni作一些custom behavior給app接 08/19 15:48
oneheat: 看module ,越來越多走service後,jni 就漸漸退出,反而 08/19 16:33
oneheat: 是aidl比較流行 08/19 16:33
xam: bsp team作個兩年應該都要知道jni,也要學的起來,要很熟倒未必 08/19 23:08
aleelyle: 用ndk是android security重要的一環 不重要? 或許吧 08/20 07:36
doranako: 影音codec, pdf, 影像辨識大多都是c lib,不一定是控制 08/20 09:45
doranako: 硬體才需要jni 08/20 09:45
Ferrara: 網路協議很多都用c寫 通訊相關的app都需要 08/20 19:18
kurtsgm: jni我覺得滿基本的欸... 08/20 23:47
netburst: 看C強不強囉 08/21 11:25
chiwa: JNI滿基本的吧,看一下現有的code依樣畫葫蘆總會寫吧 08/21 21:47
krizarlid: 唬爛 JNI根本基本 不會就是包一包回家 管你在哪 08/21 21:48
robber1234: 你說的是BSP工程師? App工程師我看過的大部份都不會. 08/23 09:58