作者join183club (183club)
看板Soft_Job
標題Re: [請益] Android工程師會JNI在業界是常識嗎?
時間Fri Aug 18 16:38:15 2017
※ 引述《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://webptt.com/m.aspx?n=bbs/Soft_Job/M.1503045498.A.801.html
1F:推 cdfq152313: 喔喔,感謝分享 08/18 16:44
2F:→ angusyu: 這不是app工程師。我反而很奇怪一堆人說jni簡單是怎樣 08/18 21:35
3F:→ profiles: JNI很古老噢,記得我用Jdk1.2時就有了, 08/18 22:18
4F:→ profiles: 其實蠻容易,前題你要會用C 08/18 22:18
5F:→ angusyu: 真的 要能發廢文 寫最新的app 還要會C跟JNI 還真是簡單 08/19 00:30
6F:→ cha122977: IC廠的也不一定會JNI哦,改framework不需要直接會JNI 08/19 03:56
7F:→ cha122977: Android.mk包好好 Service用AIDL建的也不用寫JNI 08/19 04:22
8F:噓 pttuser: 最好系統廠bsp team不會jni,那我看到的是什麼? 08/19 15:42
9F:噓 pttuser: 以前在系統廠從改driver到app層收event一條龍都要會 08/19 15:44
10F:噓 pttuser: 更何況是jni,常常在jni作一些custom behavior給app接 08/19 15:48
11F:推 oneheat: 看module ,越來越多走service後,jni 就漸漸退出,反而 08/19 16:33
12F:→ oneheat: 是aidl比較流行 08/19 16:33
13F:→ xam: bsp team作個兩年應該都要知道jni,也要學的起來,要很熟倒未必 08/19 23:08
14F:噓 aleelyle: 用ndk是android security重要的一環 不重要? 或許吧 08/20 07:36
15F:→ doranako: 影音codec, pdf, 影像辨識大多都是c lib,不一定是控制 08/20 09:45
16F:→ doranako: 硬體才需要jni 08/20 09:45
17F:推 Ferrara: 網路協議很多都用c寫 通訊相關的app都需要 08/20 19:18
18F:→ kurtsgm: jni我覺得滿基本的欸... 08/20 23:47
19F:推 netburst: 看C強不強囉 08/21 11:25
20F:推 chiwa: JNI滿基本的吧,看一下現有的code依樣畫葫蘆總會寫吧 08/21 21:47
21F:噓 krizarlid: 唬爛 JNI根本基本 不會就是包一包回家 管你在哪 08/21 21:48
22F:→ robber1234: 你說的是BSP工程師? App工程師我看過的大部份都不會. 08/23 09:58