AndroidStudio之NDK开发流程(手动版)
来源:互联网 发布:mac系统word下载地址 编辑:程序博客网 时间:2024/06/05 23:58
1.File->Settings->Android SDK->SDK Tools,勾选”Android NDK”,下载并安装好NDK插件,在系统环境变量配置好NDK目录。
2.在MainActivity.java里写native接口。
package com.itant.ndktest;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;public class MainActivity extends AppCompatActivity { public native String getStringFromC(); static { System.loadLibrary("jni-itant"); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toast.makeText(this, getStringFromC(), Toast.LENGTH_SHORT).show(); }}
3.左键单击选中app, File->New->Folder-JNI Folder
4.在JNI Folder里增加如下文件:
test.cpp
#include <jni.h>#include <stdio.h>#ifdef __cplusplusextern "C" {#endifjstring Java_com_itant_ndktest_MainActivity_getStringFromC(JNIEnv *env, jobject thiz) { return env->NewStringUTF("I am from native");}#ifdef __cplusplus}#endif
Android.mk
如果你不知道Android.mk文件格式如何,那么就下载官方例子,拷贝一份Android.mk文件到我们的JNI Folder里(File->New-Import Sample->Hello Jni),稍加修改即可:
LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE:= jni-itantLOCAL_SRC_FILES:= test.cppinclude $(BUILD_SHARED_LIBRARY)
Application.mk
APP_ABI := armeabi
5.cmd到jni的父目录,执行ndk-build,jni统计目录增加jniLibs文件夹,拷贝生成的libs文件夹下的so文件到jniLibs文件夹里。运行即可。
5.如果执行这一步,那么前面的第5步可以省略。在app(module)的build.gradle的defaultConfig括号内添加
ndk { moduleName "jni-itant"}
运行即可。
0 0
- AndroidStudio之NDK开发流程(手动版)
- AndroidStudio 2.3 NDK开发项目构建流程
- AndroidStudio NDK开发(1)
- AS之NDK开发流程
- mac下androidstudio下ndk开发简单操作流程
- JNI NDK (AndroidStudio+CMake )开发第一个项目的流程
- JNI开发流程(androidstudio)
- AndroidStudio开发NDK
- AndroidStudio NDK开发
- AndroidStudio下初涉NDK开发
- AndroidStudio NDK开发
- AndroidStudio NDK开发
- AndroidStudio NDK开发
- AndroidStudio Ndk 开发
- NDK开发(手动配置)
- AndroidStudio NDK开发 之 jni生成so文件
- 第十篇:ndk项目实战之Androidstudio开发经验总结
- AndroidStudio之NDK开发CMake CMakeLists.txt编写入门
- "xxx" is not translated in "en" (English)
- duilib 自绘标题 最大化图标显示bug ----WindowImplBase的bug
- [NOIP 1999] 回文数(进制和字符串处理)
- Spring application-context.xml 的 xmlns配置
- windows平台下 文件备份批处理和邮件发送批处理
- AndroidStudio之NDK开发流程(手动版)
- Mysql与Oracle区别
- datagridview的增删改查 并且带有刷新
- AFNetWorking实现代码延迟
- HDU 1502 Regular Words(大数+dp)
- 表单验证<AngularJs>
- AR捡取纹理功能实现 colARmix&涂涂乐
- 重装python idle打不开解决方案
- 【译文】如何用R生成回归结果Word报告