小编Jac*_*ack的帖子

在Android NDK下链接共享库

我成功编译库LibXtract到共享对象libxtract.so并想在第二个项目中使用.

在提及项目中,我尝试在简单的函数上编译它:

#include <com_androidnative1_NativeClass.h>
#include <android/log.h>
#include "libxtract.h"

JNIEXPORT void JNICALL Java_com_androidnative1_NativeClass_showText
(JNIEnv *env, jclass clazz)
{

    float mean = 0, vector[] = {.1, .2, .3, .4, -.5, -.4, -.3, -.2, -.1}, spectrum[10];
    int n, N = 9;
    float argf[4];

    argf[0] = 8000.f;
    argf[1] = XTRACT_MAGNITUDE_SPECTRUM;
    argf[2] = 0.f;
    argf[3] = 0.f;

    xtract[XTRACT_MEAN]((void *)&vector, N, 0, (void *)&mean);
    __android_log_print(ANDROID_LOG_DEBUG, "LIbXtract", "Button pushe2");
}
Run Code Online (Sandbox Code Playgroud)

我有扁平结构:

  • JNI/com_androidnative1_NativeClass.c
  • JNI/com_androidnative1_NativeClass.hjni/libxtract.h
  • 来自libxtract接口的jni/other*.h文件
  • JNI/Android.mk
  • JNI/Applicatoin.mk

library libxtract.so我放入了mainproject/lib文件夹

我的Android.mk文件如下所示:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := …
Run Code Online (Sandbox Code Playgroud)

android android-ndk

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

android ×1

android-ndk ×1