使用ndk中的tinyalsa

108*_*427 2 android libraries android-ndk

我正在编写一个应用程序,应该使用tinyalsa通过ndk的函数,我只想从我的本机函数实现中调用tinyalsa定义的函数,例如pcm_open()。

我尝试按照 Android/ndk/docs/PREBUILTS.html 中有关使用预构建库的文档进行操作,但无法使其正常工作。

你能告诉我该怎么做吗?

谢谢

108*_*427 5

我可以做到,过程如下:

  1. 将tinyalsa.so复制到~/Android/ndk/platforms/android-18/arch-arm/usr/lib

  2. 将 asoundlib.h 复制到 ~/Android/ndk/platforms/android-18/arch-arm/usr/include

    我正在使用 Platform-18。可以在Application.mk中使用以下行 指定

    APP_PLATFORM := android-18
    
    Run Code Online (Sandbox Code Playgroud)
  3. 添加到ndk平台后,将其包含在实现本机函数的文件中

    #include <asoundlib.h>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 告诉编译器我们将需要这个库。在Android.mk中

    LOCAL_LDLIBS := -ltinyalsa
    
    Run Code Online (Sandbox Code Playgroud)

这对我有用:)