gnaix
V2EX  ›  Android

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

  •  
  •   gnaix · Jun 23, 2016 · 16486 views
    This topic created in 3637 days ago, the information mentioned may be changed or developed.

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

    我这边是 历史遗留问题外加导入了几个静态库,也是用得第二种
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1252 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 17:29 · PVG 01:29 · LAX 10:29 · JFK 13:29
    ♥ Do have faith in what you're doing.