android ndk 开发
Posted Yingshirun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android ndk 开发相关的知识,希望对你有一定的参考价值。
使用android studio2.0进行ndk开发
首先
1、distributionUrl=https\\://services.gradle.org/distributions/gradle-2.10-all.zip
2
classpath "com.android.tools.build:gradle-experimental:0.6.0-beta5"
3、gradle文件修改
gradle文件内容:
apply plugin: 'com.android.model.application' model android compileSdkVersion = 23 buildToolsVersion = "23.0.2" defaultConfig applicationId "com.shirun.jni" minSdkVersion.apiLevel = 15 targetSdkVersion.apiLevel = 23 buildTypes release minifyEnabled = false proguardFiles.add(file('proguard-rules.txt')) android.ndk moduleName = "myJni" android.productFlavors create("arm") ndk.abiFilters.add("armeabi") create("arm7") ndk.abiFilters.add("armeabi-v7a") create("arm8") ndk.abiFilters.add("arm64-v8a") create("x86") ndk.abiFilters.add("x86") create("x86-64") ndk.abiFilters.add("x86_64") create("mips") ndk.abiFilters.add("mips") create("mips-64") ndk.abiFilters.add("mips64") // To include all cpu architectures, leaves abiFilters empty create("all") dependencies compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.3.0'4、在APP目录下右击新建jni目录
5、新建一个类,进行加载jni
6.生成c文件
可以看到在jni下生成了myJni.c文件,文件内容就一个include
7.生成.h头文件
在工具栏点击Build->Make Project
然后在项目的main目录下输入命令 javah -d jni -classpath D:\\Android\\sdk\\platforms\\android-23.android.jar;..\\..\\build\\intermediates\\classes\\all\\debug com.shirun.jni.MyJni
然后可以看到自己的jni目录下多了个.h的头文件
8、然后将我们的myJni.c文件稍作修改
9、在main中运行:
public class MainActivity extends AppCompatActivity @Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView tv = (TextView) findViewById(R.id.tv); MyJni myJni = new MyJni(); tv.setText(myJni.getString("sdd"));效果:
10。最后说一下我们生成的.so库的位置,如果拿错了.so类库,在别的地方是用不了的,当初在这个坑里躺了几个小时.......
参考资料:
http://www.jianshu.com/p/7844aafe897d
以上是关于android ndk 开发的主要内容,如果未能解决你的问题,请参考以下文章
Android NDK 开发Android NDK 下载 ( 下载指定历史版本 NDK | Android NDK r10e - 2015 年 5 月 )
Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )(代码片段
Android 逆向Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )(代码