Re: [請益] Android工程師會JNI在業界是常識嗎?

看板Soft_Job作者 (183club)時間8年前 (2017/08/18 16:38), 編輯推噓0(5512)
留言22則, 15人參與, 最新討論串2/2 (看更多)
※ 引述《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

08/18 16:44, , 1F
喔喔,感謝分享
08/18 16:44, 1F

08/18 21:35, , 2F
這不是app工程師。我反而很奇怪一堆人說jni簡單是怎樣
08/18 21:35, 2F

08/18 22:18, , 3F
JNI很古老噢,記得我用Jdk1.2時就有了,
08/18 22:18, 3F

08/18 22:18, , 4F
其實蠻容易,前題你要會用C
08/18 22:18, 4F

08/19 00:30, , 5F
真的 要能發廢文 寫最新的app 還要會C跟JNI 還真是簡單
08/19 00:30, 5F

08/19 03:56, , 6F
IC廠的也不一定會JNI哦,改framework不需要直接會JNI
08/19 03:56, 6F

08/19 04:22, , 7F
Android.mk包好好 Service用AIDL建的也不用寫JNI
08/19 04:22, 7F

08/19 15:42, , 8F
最好系統廠bsp team不會jni,那我看到的是什麼?
08/19 15:42, 8F

08/19 15:44, , 9F
以前在系統廠從改driver到app層收event一條龍都要會
08/19 15:44, 9F

08/19 15:48, , 10F
更何況是jni,常常在jni作一些custom behavior給app接
08/19 15:48, 10F

08/19 16:33, , 11F
看module ,越來越多走service後,jni 就漸漸退出,反而
08/19 16:33, 11F

08/19 16:33, , 12F
是aidl比較流行
08/19 16:33, 12F

08/19 23:08, , 13F
bsp team作個兩年應該都要知道jni,也要學的起來,要很熟倒未必
08/19 23:08, 13F

08/20 07:36, , 14F
用ndk是android security重要的一環 不重要? 或許吧
08/20 07:36, 14F

08/20 09:45, , 15F
影音codec, pdf, 影像辨識大多都是c lib,不一定是控制
08/20 09:45, 15F

08/20 09:45, , 16F
硬體才需要jni
08/20 09:45, 16F

08/20 19:18, , 17F
網路協議很多都用c寫 通訊相關的app都需要
08/20 19:18, 17F

08/20 23:47, , 18F
jni我覺得滿基本的欸...
08/20 23:47, 18F

08/21 11:25, , 19F
看C強不強囉
08/21 11:25, 19F

08/21 21:47, , 20F
JNI滿基本的吧,看一下現有的code依樣畫葫蘆總會寫吧
08/21 21:47, 20F

08/21 21:48, , 21F
唬爛 JNI根本基本 不會就是包一包回家 管你在哪
08/21 21:48, 21F

08/23 09:58, , 22F
你說的是BSP工程師? App工程師我看過的大部份都不會.
08/23 09:58, 22F
文章代碼(AID): #1PbgTwW1 (Soft_Job)
文章代碼(AID): #1PbgTwW1 (Soft_Job)