im très confondu avec NDK et avec OpenSL Im essayant d'ajouter OpenSL à mon projet. Et avoir des problèmes. Lorsque je crée ndk projet- je n'ai pas de fichier Android.mk mais j'ai CMakeListAjouter OpenSL à android
dans les tutoriels partout parle de android.mk où besoin d'écrire une chaîne pour l'outil OpenSL à projet.
ici mon build.graddle (module) fichier
android {
compileSdkVersion 26
buildToolsVersion "26.0.1"
defaultConfig {
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
cmake {
path 'CMakeLists.txt'
}
}
sourceSets {
main {
jniLibs.srcDirs 'imported-lib/src/', 'more-imported-libs/src/'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:26.+'
}
CMakeList.txt
cmake_minimum_required(VERSION 3.4.1)
add_library(# Specifies the name of the library.
native-lib
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
src/main/cpp/native-lib.cpp)
# Specifies a path to native header files.
include_directories(src/main/cpp/include/)
# Include libraries needed for native-audio-jni lib
target_link_libraries(native-audio-jni
android
log
OpenSLES)
et un test simple pour NDK
#include <jni.h>
#include <string>
extern "C"
JNIEXPORT jstring JNICALL
Java_ndk_test_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
fonction d'appel stringFromJNI est ok je vois cette ligne dans les journaux. Mais la question principale de ce que je fais mal. Comment mettre en œuvre OpenSL sans Android.mk
Dans la section google.devandroid Racontez- ajouter LOCAL_LDLIBS += -lOpenSLES
à Android.mk dans chaque tutoriel tout dit à propos android.mk. Mais je n'ai pas ce fichier. Quelqu'un peut-il m'aider? dans l'exemple de goo link to example
Cela me ressemble. Quelle erreur voyez-vous? –
j'ai trouvé l'erreur que j'ai le fichier cpp native-lib.cpp, mais déclaré natif-audio-jni – Peter