美文网首页iOS && Android程序员Android开发
Android Studio2.2 CMake方式NDK开发入门

Android Studio2.2 CMake方式NDK开发入门

作者: 5234d03a2502 | 来源:发表于2017-03-14 21:57 被阅读320次

环境配置

  • 基础配置

Android Studio 2.2.3
gradle:2.2.3

  • 下载NDK

Setting--Appearance&Behavior--System Setting--Android SDK--SDK tool,选中CMakeNDKLLDB,然后点击Apply,AS就会自动下载这两个工具了。现在貌似没有墙这个,我下载的时候没开VPN也很快下载下来了。
CMake:Write once ,run everywhere
NDK:不用说,开发基础
LLDB:调试器,可以用来调试我们的JNI代码。

  • 正式开发
  • 新建项目,注意要添加C++ support
    新建项目.png
  • 项目目录说明:
    cpp文件夹:cpp文件目录,里面放c的文件,相当于Eclipse中的JNI目录
    External Build Files:CMake文件目录,里面的一个 txt是CMake脚本配置的文件
    项目目录.png
  • 项目代码说明(新建过程中,谷歌自动提供了一个NDK的demo):
    build.gradle:Android Studio自动配置了:
    cmake配置.png
    MainActivity
public class MainActivity extends AppCompatActivity {
        // Used to load the 'native-lib' library on application startup.
               static {
               System.loadLibrary("native-lib");
               }
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            // Example of a call to a native method
            TextView tv = (TextView) findViewById(R.id.sample_text);
            tv.setText(stringFromJNI());
        }
        /**
         * A native method that is implemented by the 'native-lib' native library,
         * which is packaged with this application.
         */
        public native String stringFromJNI();
        }

native-lib-cpp:

#include <jni.h>
#include <string>
extern "C"
    jstring
    Java_com_mudo_demondkinit_MainActivity_stringFromJNI(
    JNIEnv *env,
    jobject /* this */) {
        std::string hello = "Hello from C++";
        return env->NewStringUTF(hello.c_str());
    }

编译运行正常。

  • 自己开发:
    MainActivity中直接写一个native方法,快捷键 Alt+Enter,选中第一个,会自动在native-lib.cpp中生成一个对应的方法
自动生成.png cpp中添加方法.png cpp方法进行修改.png

因为之前build.gradle中已经配置好了,所以修改后可以直接编译运行app,没有问题。

  • 结束语

CMake是Android Studio2.2以后才出来的NDK开发方式,我也还是第一次用,大家可以看看这里的CMake入门。不知道文章里是不是有什么问题,请大家多多指教。
OVER。

相关文章

网友评论

    本文标题:Android Studio2.2 CMake方式NDK开发入门

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