Eclipse配置Ndk开发
之前了解过Eclipse配置Ndk环境,今天我们来了解下As是如何进行Ndk环境搭建的
安装ndk
配置path环境变量(我看网上好多需要配置,我测试过不需要配置也行,应该编译时候内置了)
E:\GD_AS\sdk\ndk-bundle;
在main中新建文件夹jni
Android.mk
LOCAL_PATH :=
$(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni
LOCAL_SRC_FILES := hello-jni.c
include $(BUILD_SHARED_LIBRARY)
hello-jni.c
JNIEXPORT jstring JNICALL
Java_com_goinsec_myapplication_MainActivity_stringFromJNI(JNIEnv *env, jobject instance) {
return (*env)->NewStringUTF(env,
"Hell JNoooooI !");
}
Java_com_goinsec_myapplication_MainActivity_stringFromJNI 包名类名调用jni方法名
MainActivity代码
package com.goinsec.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
public native String
stringFromJNI();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.sample_text);
tv.setText(stringFromJNI());
}
static {
System.loadLibrary(
"hello-jni");
}
}
gradle配置
apply plugin:
'com.android.application'
android {
compileSdkVersion
24
buildToolsVersion
"24.0.2"
defaultConfig {
applicationId
"com.goinsec.myapplication"
minSdkVersion
19
targetSdkVersion
24
versionCode
1
versionName
"1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags
""
}
}
}
buildTypes {
release {
minifyEnabled
false
proguardFiles getDefaultProguardFile(
'proguard-android.txt'),
'proguard-rules.pro'
}
}
externalNativeBuild {
ndkBuild {
path
file(
"src\\main\\jni\\Android.mk")
}
}
}
dependencies {
compile fileTree(
include: [
'*.jar'], dir:
'libs')
androidTestCompile(
'com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group:
'com.android.support', module:
'support-annotations'
})
compile
'com.android.support:appcompat-v7:24.1.1'
testCompile
'junit:junit:4.12'
}
解释下上面的配置
externalNativeBuild {
cmake {
cppFlags
""
}
}
由于最新的as可以直接使用cmake,我这个demo没有用到cmake可以省略
externalNativeBuild
{
ndkBuild
{
path file("src
\\main
\\jni
\\Android.mk")
}
}
这个需要配置mk的路径
最后启动项目即可输出
最后提示:最新的版本就是直接导入As c库,一键配置即可!!!有时间大伙在去了解了解把,这里就不提了
转载请注明原文地址: https://ju.6miu.com/read-19344.html