Skip to content

vack2015/JNILearn

Repository files navigation

#今天带来的是Android jni入门配置的代码 这里整合了我各种问题

  1. 有意思的是gradle在2.0以上对ndk的支持不佳,于是就会出现c层代码红一屏幕的情况,,于是我们使用实验空间 即是 classpath "com.android.tools.build:gradle-experimental:0.7.0"和gradle-2.5-all,值得特别注意的是,build.gradle脚本语言会有所不同 gradle2.0+对ndk支持不佳
  2. 脚本语言有所不同,如果使用了不同版本的脚本语言,会有以下错误 注意这类错误,其实是脚本语言不对
  3. 如果你配置完美,那么,如果你写了一个native方法,可以按alt+enter来创建c层代码,
    只是我创建后出现在h文件里,没关系贴过去就好了
  4. native方法别写在内部类里面,不然会报错,如下 native方法别放在内部类里面,不然会让你怀疑人生
  5. 在你完成c层代码后需要通过javah生成头文件,像我这边的具体命令:
    cd app/src/main/java
    javah -d ../jni org.vackapi.jnilearn.JNILearn
    如果你不想在每次运行前都打一遍可以在setting-tools里面配置,如下 这样配置 让后build-make project就可以自动帮你执行一遍了
    更正一下是:右键菜单--External Tools--Generate JNI Header File
    name Generate JNI Header File
    program javah
    parameters -d src\main\jni\ -bootclasspath $ModuleSdkPath$\platforms\android-23\android.jar -classpath build\intermediates\classes\debug $FileClass$
    working directory $ModuleFileDir$
  6. 其实我不知道在androidStudio里面怎么看printf的内容
  7. 差点忘了要装这个 要装这个
  8. 如果你想在上班之余问问题,划划水扣扣群:537610843 扣扣260964393就是我
  9. 我在策划下一个JNI的目标,之前买了一本ndk的书《Android C++ 高级编程--使用NDK》,下一个github我想把上面的一些内容和程序清单打一打

Releases

No releases published

Packages

No packages published