zoukankan      html  css  js  c++  java
  • android studio ndk开发总结

    1、path环境变量

    2、android studio关联ndk

         local.properties   ndk.dir

         gradle.properties  android.useDeprecatedNdk=true//兼容老版本

    3、build.gradle 配置 

        defaultConfig{

        ndk{

            moduleName "Hello"

            abiFilters ''armeabi","armeabi-v7a","x86"

                        }

    }

    4、根据上层java 的native 函数,可自动生成 对应的头文件

       控台执行:javah -calsspath . 路径文件

    5、使用android_log_print需要再编译配置中加入log库

    如果你用的是正式版gradle,在ndk标签中加入 
    
    ldLibs "log" 
    如果你用的是实验版gradle,在ndk标签中加入: 
    
    ldLibs.add("log") 
    如果你使用CMakeLists,在target_link_libraries标签中加入log
    如果你使用的是MK文件,加入如下语句: 
    
    LOCAL_LDLIBS := -llog 
    //打印一个简单Info级别的日志 对应Java的Log.i("JNI","This is log")
    
    __android_log_print(ANDROID_LOG_INFO,"JNI","This is log"); 
    
    //打印格式化字符串 这里使用的是C语言中printf中的格式。关于C中的printf格式化输出可自行百度,文档非常多。
    
    int i=5;
    __android_log_print(ANDROID_LOG_INFO,"JNI","i=%d",i); 
  • 相关阅读:
    I-string_2019牛客暑期多校训练营(第四场)
    hackerrank Palindromic Border
    hackerrank Circular Palindromes
    uoj424
    bzoj5384
    uoj450
    QTP 表格的导入导出异常信息 笔记
    QTP基本循环异常遍历(代码方式实现)
    QTP基本循环正常遍历(代码方式实现)
    《大道至简》读后感
  • 原文地址:https://www.cnblogs.com/zhengtu2015/p/7827792.html
Copyright © 2011-2022 走看看