美文网首页Android开发
android studio 构建ndk 工程时候发生了什么

android studio 构建ndk 工程时候发生了什么

作者: 2远 | 来源:发表于2017-02-04 12:29 被阅读0次

新建的ndk工程,什么都不用做,直接点击run就可以编译并运行,下图就是直接run的结果


新建的ndk工程直接运行的结果

接下来我们看看,run的时候都发生什么了。

1.Gradle 调用您的外部构建脚本 CMakeLists.txt
2.CMake 按照构建脚本中的命令将 C++ 源文件 native-lib.cpp 编译到共享的对象库中,并命名为 libnative-lib.so,Gradle 随后会将其封装到 APK 中,你可以验证一下,把app/build/outputs/apk/ 目录中的apk拖到编辑区,看它的libs文件夹

cpplib-apk-analyzer_2-2_2x.png

3.运行时,应用的 MainActivity会使用 **System.loadLibrary() **加载原生库。现在,应用可以使用库的原生函数 stringFromJNI()。
源码为:

...
  // Used to load the 'native-lib' library on application startup.
    static {
        System.loadLibrary("native-lib");
    }
...
    /**
     * A native method that is implemented by the 'native-lib' native library,
     * which is packaged with this application.
     */
    public native String stringFromJNI();

4.MainActivity.onCreate() 调用 stringFromJNI()
,这将返回“Hello from C++”并使用这些文字更新 TextView
源码为:

// Example of a call to a native method
        TextView tv = (TextView) findViewById(R.id.sample_text);
        tv.setText(stringFromJNI());

==========================================================
eclipse时代玩过ndk,现在studio时代,应该是大同小异,使用各自的工具,遵守各自的规则即可;参照官网,进行提炼,总结,学习计划如下(本系列只关注cmake,如需学习ndk-build,请自行查阅其他资料):

  1. 安装工具

  2. 新建一个支持ndk的工程

  3. android studio 构建ndk 工程时候发生了什么

  4. ndk的build.gradle的默认配置

  5. ndk的build.gradle的高级配置

  6. cmake构建脚本CMakeLists.txt文件的介绍

  7. 自己创建新的原生源文件

  8. jni相关,未完待续...

官网参考链接
https://developer.android.google.cn/studio/projects/add-native-code.html

相关文章

网友评论

    本文标题:android studio 构建ndk 工程时候发生了什么

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