Android Studio 开发 NDK 的两种方式选择 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gnaix

Android Studio 开发 NDK 的两种方式选择

  •  
  •   gnaix 2016 年 6 月 23 日 16360 次点击
    这是一个创建于 3592 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Android Studio 在很早就支持 NDK 开发了,但是一直没有正式版本的 gradle 支持。
    现在官方最新的experimental版本应该到了0.7.0-alpha4

    但是experimental版本各种不方便啊,之前也写过一篇教程NDK 开发 - Android Studio 环境搭建

    后来发现另外一种方式:在项目下建一个 jni 目录用配置好Android.mkApplication.mk,写好C/C++文件。最后用脚本编译生成并复制到相应的目录下,当然也可以用 gradle 的 task ,一次编译。
    第二种方式优点是可以不用修改build.gradle文件了。缺点可能是编译调试优点麻烦。

    所以开发 NDK 的大神们 你们是用哪种方式开发的。或者有更好的开发方式。(先不考虑 eclipse )

    13 条回复    2016-06-26 08:37:48 +08:00
    ju5t4fun
        1
    ju5t4fun  
       2016 年 6 月 23 日
    现在 Android Studio 2.2 Preview 可以使用 gradle 稳定版+Android.mk 开发 ndk , http://tools.android.com/tech-docs/external-c-builds
    youxiachai
        2
    youxiachai  
       2016 年 6 月 23 日
    lz..你的资料有多久没 update 了....现在 as 都支持 c++ debug 了..
    youxiachai
        3
    youxiachai  
       2016 年 6 月 23 日
    详见今年 google io android studio 的视频...
    sampeng
        4
    sampeng  
       2016 年 6 月 23 日
    瞄了个咪的。。。我刚升级到 2.2.。。我原来的 ndk 开发项目就打不开了。。。我用的 experimental 。。。挺方便的啊。。断点啥的也都有。。。
    youxiachai
        5
    youxiachai  
       2016 年 6 月 23 日
    sampeng
        6
    sampeng  
       2016 年 6 月 23 日
    不是经常升级的原因是, android studio 常年患有 gradle 不兼容的毛病。偏偏 gradle 下载又慢的死人。所以我是能不更新不更新。。。拖了好久一更新,果然各种 gradle 版本不兼容。。
    acros
        8
    acros  
       2016 年 6 月 23 日
    @sampeng android 开发最气人的就是各种环境搭建,这个 Gradle 版本多如牛毛竟然还要一个个挑过去
    sampeng
        9
    sampeng  
       2016 年 6 月 23 日
    @acros 这也是影响 android studio 推广的一大原因。。。
    我跟很多人安利,不接受的原因也在这。。一更新环境就不能用。。。人都是懒的
    Lonely
        10
    Lonely  
       2016 年 6 月 23 日
    @sampeng 用了这么久的 AS 还没碰到过 gradle 不兼容的问题。你举个栗子呢?至于 gradle 下载慢,你不会挂代理吗? Xcode 也经常更新后会有一堆问题。
    ilotuo
        11
    ilotuo  
       2016 年 6 月 23 日
    experimental 不支持符号表和函数跳转等.官方也说了
    我还在坚持使用 1.5 + Android.mk 调试全靠打印 发现其实也不是那么依赖断点
    allenx
        12
    allenx  
       2016 年 6 月 24 日
    用第 2 种,一般是先在其他平台调试 OK 了之后放到 android NDK 下面去。
    liufuyi
        13
    liufuyi  
       2016 年 6 月 26 日
    第二种的方法的缺陷 就是调试起来 麻烦

    我这边是 历史遗留问题外加导入了几个静态库,也是用得第二种
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2963 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 45ms UTC 07:50 PVG 15:50 LAX 00:50 JFK 03:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86