[請益] Android工程師會JNI在業界是常識嗎?
公司最近接了一個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工程師的必備技術嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.14.49
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1503026840.A.2AE.html
※ 編輯: cdfq152313 (122.116.14.49), 08/18/2017 11:28:04
推
08/18 11:28, , 1F
08/18 11:28, 1F
→
08/18 11:28, , 2F
08/18 11:28, 2F
→
08/18 11:29, , 3F
08/18 11:29, 3F
我非常同意要一直學新東西XD
不過各領域多多少少還是會有一些必備技能吧?
像是號稱後端卻不懂資料庫,或號稱系統工程師不懂mutex等等。
也會讓人覺得很瞎吧。
所以我只是想知道自己瞎不瞎(
※ 編輯: cdfq152313 (122.116.14.49), 08/18/2017 11:33:50
推
08/18 11:33, , 4F
08/18 11:33, 4F
推
08/18 11:36, , 5F
08/18 11:36, 5F
→
08/18 11:37, , 6F
08/18 11:37, 6F
推
08/18 11:39, , 7F
08/18 11:39, 7F
→
08/18 11:39, , 8F
08/18 11:39, 8F
推
08/18 11:42, , 9F
08/18 11:42, 9F
→
08/18 11:42, , 10F
08/18 11:42, 10F
感謝經驗分享
推
08/18 11:43, , 11F
08/18 11:43, 11F
→
08/18 11:44, , 12F
08/18 11:44, 12F
我收到的當下就問他們能不能提供了
因為除了JNI,他們的.so檔案好像還要跟某個授權檔放在一起才會生效
我這邊如果出了bug完全沒辦法知道是授權失效,還是我封JNI失敗
所以只好先踢回去
推
08/18 12:07, , 13F
08/18 12:07, 13F
推
08/18 12:12, , 14F
08/18 12:12, 14F
→
08/18 12:12, , 15F
08/18 12:12, 15F
推
08/18 12:15, , 16F
08/18 12:15, 16F
→
08/18 12:15, , 17F
08/18 12:15, 17F
這個... 我覺得Android(應用層)工程師應該是不用懂這個吧QQ
應該是略微不同的技能樹
不然我以前把AOSP抓下來編過也變成資深工程師了
推
08/18 12:16, , 18F
08/18 12:16, 18F
→
08/18 12:16, , 19F
08/18 12:16, 19F
→
08/18 12:17, , 20F
08/18 12:17, 20F
推
08/18 12:21, , 21F
08/18 12:21, 21F
推
08/18 12:24, , 22F
08/18 12:24, 22F
→
08/18 12:50, , 23F
08/18 12:50, 23F
推
08/18 12:59, , 24F
08/18 12:59, 24F
→
08/18 12:59, , 25F
08/18 12:59, 25F
推
08/18 13:03, , 26F
08/18 13:03, 26F
多謝大家的意見。
其實會問這個問題有部分也是想知道雙方對於
『提供SDK』
的理解落差到底合不合理
如果封JNI是Android必備技能,
那對方說『提供SDK』的時候丟一個沒封裝過的.so檔來,
好像也蠻ok的。
總之雖然球先踢回去了(理由上面有),
不過JNI的封裝還是要練習一下,當練功也避免對方堅持不封裝XD
還好Android studio 2.X版以後產JNI好像變簡單很多。
※ 編輯: cdfq152313 (122.116.14.49), 08/18/2017 13:22:22
推
08/18 13:14, , 27F
08/18 13:14, 27F
→
08/18 13:14, , 28F
08/18 13:14, 28F
→
08/18 13:15, , 29F
08/18 13:15, 29F
→
08/18 13:27, , 30F
08/18 13:27, 30F
→
08/18 13:29, , 31F
08/18 13:29, 31F
→
08/18 13:39, , 32F
08/18 13:39, 32F
→
08/18 13:39, , 33F
08/18 13:39, 33F
→
08/18 13:40, , 34F
08/18 13:40, 34F
→
08/18 13:40, , 35F
08/18 13:40, 35F
→
08/18 14:37, , 36F
08/18 14:37, 36F
→
08/18 14:39, , 37F
08/18 14:39, 37F
→
08/18 14:39, , 38F
08/18 14:39, 38F
這次事件之後,我想下次主管應該會要求對方提供Java API了吧XD
原本以為開發Android,SDK一定也是Java版的,沒想到會發生這種事。
太大意了...
→
08/18 14:39, , 39F
08/18 14:39, 39F
推
08/18 14:55, , 40F
08/18 14:55, 40F
→
08/18 14:55, , 41F
08/18 14:55, 41F
推
08/18 14:56, , 42F
08/18 14:56, 42F
我們SDK就是直接跟對方拿,至於他們怎麼生出來的我就不知道了。
應該是他們工程team寫的吧。
→
08/18 15:43, , 43F
08/18 15:43, 43F
→
08/18 15:44, , 44F
08/18 15:44, 44F
→
08/18 15:44, , 45F
08/18 15:44, 45F
→
08/18 15:45, , 46F
08/18 15:45, 46F
這個... 好慘,幫QQ
※ 編輯: cdfq152313 (122.116.14.49), 08/18/2017 16:18:44
推
08/18 16:35, , 47F
08/18 16:35, 47F
推
08/18 16:37, , 48F
08/18 16:37, 48F
※ 編輯: cdfq152313 (122.116.14.49), 08/18/2017 16:50:49
推
08/18 16:58, , 49F
08/18 16:58, 49F
→
08/18 17:00, , 50F
08/18 17:00, 50F
→
08/18 17:00, , 51F
08/18 17:00, 51F
推
08/18 20:13, , 52F
08/18 20:13, 52F
推
08/19 08:24, , 53F
08/19 08:24, 53F
噓
08/19 15:50, , 54F
08/19 15:50, 54F
推
08/19 19:11, , 55F
08/19 19:11, 55F
→
08/19 19:11, , 56F
08/19 19:11, 56F
→
08/19 19:11, , 57F
08/19 19:11, 57F
推
08/20 06:07, , 58F
08/20 06:07, 58F
推
08/20 09:35, , 59F
08/20 09:35, 59F
→
08/20 09:35, , 60F
08/20 09:35, 60F
→
08/20 09:40, , 61F
08/20 09:40, 61F
→
08/20 09:40, , 62F
08/20 09:40, 62F
是用Android toolchain編的沒錯喔
雖然那個toolchain不是官方編譯的就是了QQ
※ 編輯: cdfq152313 (114.32.109.47), 08/20/2017 14:43:51
推
08/20 16:22, , 63F
08/20 16:22, 63F
→
08/20 16:22, , 64F
08/20 16:22, 64F
→
08/20 16:23, , 65F
08/20 16:23, 65F
→
08/20 16:24, , 66F
08/20 16:24, 66F
→
08/20 16:25, , 67F
08/20 16:25, 67F
→
08/20 21:52, , 68F
08/20 21:52, 68F
→
08/28 14:53, , 69F
08/28 14:53, 69F
→
08/28 14:54, , 70F
08/28 14:54, 70F
→
08/28 14:56, , 71F
08/28 14:56, 71F
→
08/28 14:59, , 72F
08/28 14:59, 72F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):