背景:
阅读新闻

Android Studio NDK 开发的第一个例子 (windows 7)

  作者: 今日评论: [字体: ]

从此以后,可以从Eclipse彻底迁移到Android Studio了。

开发工具

1. Android Studio 0.6

2. Android NDK r9d

3. JDK 6

操作系统:windows 7 Professional X64

开发步骤

1. 打开Android Studio,创建一个新的Android项目。项目全部选择缺省设置。

2. 打开"app\src\main\java\MainActivity.java", 在这个类的最后面加入一个natvie方法。

public native String getStringFromNative();



3. 打开"Build > Make Project" 

4. 打开 Android Studio Terminal,生成头文件
在菜单 --> View --> Tool Windows 下

C:\NativeApp\app\src\main>javah -d jni -classpath ..\..\build\intermediates\classes\debug com.example.nativeapp.app.MainActivity

如果出现
无法访问android.support.v7.app.AppCompatActivity找不到android.support.v7.app.AppCompatActivity的类文件
主要原因是编译的classpath未加入v4和v7库(path改为自己的)
javah -d jni -classpath E:\Android\android-sdk\platforms\android-23\android.jar;E:\Android\android-sdk\extras\android\support\v4\android-support-v4.jar;E:\Android\android-sdk\extras\android\support\v7\appcompat\libs\android-support-v7-appcompat.jar;..\..\build\intermediates\classes\debug com.example.myapplication.MainActivity


头文件在 c:\NativeApp\app\src\main\jni\com_example_nativeapp_app_MainActivity.h

5. c文件

c:\NativeApp\app\src\main\jni\ 目录下,新建一个main.c文件。实现我们在MainActivity类里面定义的native方法。

Note:如果这个目录下面就只有一个c文件。那么一定要再新建一个c文件,比如叫dummy.c 文件内容为空。

6. 设置NDK

打开local.properties,加入ndk路径:

sdk.dir=C\:/Users/android-sdk-windows
ndk.dir=C\:/Users/android-ndk-r9d-windows-x86_64/android-ndk-r9d



7. 修改build.gradle
defaultConfig {
        applicationId "com.example.nativeapp.app"
        minSdkVersion 9
        targetSdkVersion 19
        versionCode 1
        versionName "1.0"
        ndk {
            moduleName "nativeApp"
        }
    }



8. 最后一步:在Activity中调用native方法
public class MainActivity extends Activity {

    static {
        System.loadLibrary("nativeApp");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        TextView view = (TextView) findViewById(R.id.native_text_view);
        view.setText(this.getStringFromNative());
    }

    public native String getStringFromNative();

}



点击"Run > Run 'app'

在我的Nexus 5上显示如下:

来源:https://m.oschina.net/blog/277177
录入日期:[2015/11/11 3:18:00]
收藏 推荐 打印 | 录入:mikebai | 阅读:
文章评论      
正在加载评论列表...
评论表单加载中...