我正在通过视频进行每一步:https : //www.youtube.com/watch?v=kFtxo7rr2HQ,但是没有生成共享库。
这是一个版本,其中android-studio应该自己生成共享库。但是,当我创建适当的Makefile并执行ndk-build时,也不会生成共享库。
MainActivity.java:
public native String HelloJNI();
static
{
System.loadLibrary("HelloJNI");
}
建立->制作项目
[*@* main]$ javah -d jni -classpath {sdk_dir}/platforms/android-14/android.jar:../../build/intermediates/classes/debug com.example.ndker.ndkapp.MainActivity
创建HelloJNI.c:
#include "com_example_ndker_ndkapp_MainActivity.h"
JNIEXPORT jstring JNICALL Java_com_example_ndker_ndkapp_MainActivity_HelloJNI
(JNIEnv *, jobject) {
return (*env)->NewStringUTF(env, "Hello from jni");
}
local.properties:
sdk.dir={sdk_dir}
ndk.dir={ndk_dir}
build.grandle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.ndker.ndkapp"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
ndk {
moduleName "HelloJNI"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
多谢您的回覆。
我创建了一个博客文章,其中记录了有关设置Android Studio,Gradle和NDK的信息:http : //www.sureshjoshi.com/mobile/android-ndk-in-android-studio-with-swig/
另外,我已经在BitBucket中创建了一个示例项目,此处已经为您设置了所有内容:https : //bitbucket.org/sureshjoshi/android
也许您可以尝试一下,看看它们是否对您有用?
关键是Gradle现在将自动生成Makefile并为您编译!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句