公司最近接了一个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工程师的必备技术吗?
作者:
senjor (哞哞)
2017-08-18 11:28:00我觉得哪有什么必备技术,就是看现在工作需不需要而已...不过身为资讯人的天命就是,要有随时学习新技术的准备 Q_Q资讯人的基本功反而是学习新技术的能力,其他其次 (躺
作者:
senjor (哞哞)
2017-08-18 11:39:00其实我觉得就是看工作需求耶,有时候某个环境下,连续几年都碰不到一个很多人都有碰过的技术也是很正常的例如我是做后端,但是却一直处理数据库跟报告的部分,使用者登入、帐号验证、安全性那块都没机会碰过... Q_Q
作者:
mrj5566 (J56先生)
2017-08-18 11:43:00请他们先提供一个 Demo Project先确认 SDK 是可以正常运行的, 再来讨论后续问题
作者:
ckvir (ckvir)
2017-08-18 12:07:00JNI 花个1.2天研究一下 跑一下demo 就知道原理了
除非是职缺上常见的技术,其他的只有有没有用到的问题,遇到了再研究就好。
作者:
senjor (哞哞)
2017-08-18 12:15:00之前面试Android工程师,面试说我没有编过kernel的经验,所以只能算是新人 Orz
作者:
oneheat (等待)
2017-08-18 12:16:00JNI而已,又不是叫你整aidl,网上一堆范例
没有说你一定要懂很多 但免不了学习就是jni应该算还好的程度
不是必备这些技术有点像是选修,没用到通常也不会特别去学
作者:
Eric0605 (我还有点饿)
2017-08-18 12:59:00不会很常见 大公司分工很细 可能连mk都自己没写过 只改其他人的
作者: RadiationXen (Xen) 2017-08-18 13:03:00
JNI 还好
作者:
Argos (Big doge is watching u)
2017-08-18 13:14:00反正齁 你不会的 就先嘴你一轮“阿这不是基本中的基本”然后要干麻?当然是凹你阿!什么常识啦 基本啦 都是放屁
作者:
htury (冰点)
2017-08-18 13:27:00jni是不难,只怕还要帮对方debug时间比较重要,可以问主管意见,通常都会请对方提供sample
作者:
meowyih (meowyih)
2017-08-18 13:39:00没啥常识不常识的, 不过这种东西摸个几天就能熟了才是真的常识 = =a还有一个常识, 出钱的最大, 不怕赔钱的第二大, 不爽干就丢辞呈的第三大 XD
作者:
angusyu (〒△〒)
2017-08-18 14:37:00对方的问题,除非他们有特别说连c都要自己用ndk包
作者:
ssccg (23)
2017-08-18 14:39:00没有什么必备不必备的,是你们没说好的问题,要Java API就讲清楚不要只说SDK
作者:
angusyu (〒△〒)
2017-08-18 14:39:00包准那个so还是不能用,因为没wrapper谁知道怎么用
我以为第三方sdk都会有完整的guide,不然制作的人怎么测的?
封是会封,但你们这状况应该是看怎么跟SDK提供者谈的.
作者:
netburst (133 134 592)
2017-08-18 15:43:00我那包就是c已经没人维护了 但上面又要求最佳化c已经八年没人动了 也没文件 我也不会c JNI找到的多半是流程教学文 悲泣so还缺 还要去production COPY回来
作者: m09456010 (^^) 2017-08-18 16:35:00
确实该跟人拿个demo 不然乱丢东西就交差 你也不知道最差最差也有文件
作者:
y3k (激流を制するは静水)
2017-08-18 16:58:00矬控o看工作需求 有些人是专精在Application上 JNI就是用来载API用的... 而且简单跟难搞的程度差非常多 通常有用的都有点难度
作者: pttuser (pttuser) 2017-08-19 15:50:00
一堆推文自己不会就说不用会,可笑
作者:
siriusu (かがみは俺の嫁。)
2017-08-19 19:11:00不是基本更正 不是必备 你要说很基本也没错但不是每个人都有必要碰
作者:
aksk (菸酒生)
2017-08-20 06:07:00既然是SDK,本来就要封装好而且测试可用吧!
so档不是用Android toolchain编译也没办法使用,自己改toolchain编译会花很多时间先确定so档可用,例如unit test先试看看jni init能够跑和某些fun 输入输出
作者:
jackyu (孙权)
2017-08-20 16:22:00这就是分(ㄊㄨㄟ)配(ㄒㄧㄝ\)的技术啦,对方一定是系统或IC厂RD,顶多帮你出JNI相容的so,要他们写一个简单的app一个简单的class去demo他们的API要怎么用,他们应该也不会也不想学,说不定光survey ndk怎么用就觉得很烦了不过就算你要写JNI,他们也要提供H档和API用法吧
作者: psliurt (反指标) 2017-08-20 21:52:00
我不知道Android工程师要不要懂,但JAVA工程师一定要懂!
作者: jackcorner 2017-08-28 14:53:00
很多时候不是技术问题 是资源问题 如果只有你一个人我是赖死赖皮拼命跟他要东西 另一边拼命压交期 再跟老板抱怨多困难各种不可能各种卡关没有什么都会的工程师 就算需要的我都会我也是这样