美文网首页
Android Studio Library Module c+

Android Studio Library Module c+

作者: 翻滚着的牛宝宝 | 来源:发表于2017-05-06 14:46 被阅读729次
    今天梳理项目,由于打算以SDK的方式为第三方提供服务,我对Demo工程进行抽离,将核心逻辑抽到一个独立Module Library中。Library 采用CMakeLists.txt组织C++代码。
    结果神奇的事情发生了,之前Demo工程C++断点debug都没有问题,但将工程拆离成主App Modul依赖Library工程后,发现无法Debug到Library了。首先想到是Library Module的配置中未打开enable debug选项。进行设置enable debug为true后,尝试发现可以正常跟代码到Library的java层,但无法跟到c++层。几经尝试后都无果。
    转战百度后找到解决方案,如下:
    • 在主工程gradle中分别配置debug、release依赖:
      debugCompile project(path: ':your-lib', configuration: 'debug')
      releaseCompile project(path: ':your-lib', configuration: 'release')
    • 在Library工程gradle中配置:
      android {
      publishNonDefault true
      }

    尝试后很好使,果然简单可依赖。但为什么呢?
    后来发现默认情况下,主App对Library的依赖是release的,因此会导致Library native代码不可调试。

    参考:
    解决方案 https://github.com/googlesamples/android-ndk/wiki
    对于无法Debug的分析 http://www.jianshu.com/p/1907bffef0a3

    相关文章

      网友评论

          本文标题:Android Studio Library Module c+

          本文链接:https://www.haomeiwen.com/subject/dunetxtx.html