Android Studio 与 NDK

来源:互联网 发布:化妆学校 知乎 编辑:程序博客网 时间:2024/05/22 07:56

一,基础配置  

     1,gradle:请使用2.5以上版本,本文使用的是2.8;

       2,android studio版本:建议1.4以上,本文使用的是1.5;

       3,java不说了,至少1.6, 本文使用1.7;


二,设置方面:

       1,修改Project的build.gradle文件

          修改前:

          

         修改后:

         

     2,修改Module的build.gradle文件

       修改前:

        

       修改后:

       

      这个gradle的配置有几点需要注意的:

     a,插件由apply plugin: "com.android.application"更改成apply plugin: "com.android.modelapplication";

     b,设置都要写成赋值的形式,如:modelName="hello",否则会引起:"Error:Cause: org.gradle.api.internal.ExtensibleDynamicObject" ;

     c,buildTypes需要从android{} 中取出来,

          写成android.buildTypes{}的形式,

          否则会引起:"Error:Unable to load class 'org.gradle.nativeplatform.internal.DefaultBuildType_Decorated'";    

     d,defaultConfig{} 需要写成defaultConfig.with{} 的形式,否则会引起:"Error:Cause: com.android.build.gradle.managed.AndroidConfig_Impl";

     e,defaultConfig.with{} 中需要写成 

         minSdkVersion.apiLevel  = 19  

        targetSdkVersion.apiLevel = 23,

         否则会引起:"Unable to load class com.android.build.gradle.managed.ProductFlavor_Impl“;

     到这里配置工作完成,可能需要等待很久的时间,然后,你可以clear工程,然后rebuild

三,编写NDK(不用再想以前那么麻烦了)

     1,新创建一个java类,例如:name.java,写好相关代码,

           

public class name {    static {        System.loadLibrary("hello");    }    public static native String  stringFromJNI();}

     请注意这里,有2个要注意的地方

       a,lib的名词要与Modle里面的modelName的一致;

       b,native方法如果没有对应的android.ndk或jni代码支持,会有语法警告

        然后就可以编译一下,没有错误,就行了,目的生成class文件

    2,打开Terminal窗口,切换到app/src/main目录下;

     3,输入javah -d jni -classpath ..\..\build\intermediates\classes\debug com.ndk.test.name,这样在mian目录下,就给你自动生成了jni目录,并生成了对应的头文件;

 

这样就搞定了,可以去编辑C/C++代码了




0 0