在 Android Studio 项目中集成 soundtouch 库

Integrate soundtouch library in Android Studio project

我正在尝试集成 soundtouch 库以更改 wav 音频文件的音高和播放速率。但是当我将它添加到项目中时,出现了一个错误 belo

信息:Gradle 任务 [:app:assembleDebug] /home/qwork/Android/android-ndk-r17/build/core/init.mk 错误:(537) * Android NDK:正在中止...。停止。 错误:(537) * 错误:(537) *** Information:BUILD失败 Information:Total 时间:14.586 秒 Information:3 个错误 Information:0 警告 Information:See 在控制台中完成输出

请帮我解决这个问题。

将以前的项目转换为最新的 Android Studio 项目的一般步骤

  1. 配置 Android Studio 以使用最新的 SDK 和 NDK

  2. Convert 与 Android Studio:文件 > 导入或“欢迎页面”>“导入项目”;允许 Android studio 下载此项目所需的包。

  3. 将现有的 Android.mk/Application.mk 添加到新生成的 app/build.gradle

    android {
    ... // other autogenerated things, no need to change
    defaultConfig {
        ...
        // manually add your existing Application.mk with relative path to the
        // directory where THIS build.gradle is. Normally it could be
        // src/main/cpp/Application.mk as the build.gradle is at "app" dir.
        // Note that the configure items inside Application.mk could all be
        // directly set in "arguments" here ( "APP_STL=c++_static" etc)
        externalNativeBuild.ndkBuild {
            arguments "NDK_APPLICATION= src/main/cpp/Application.mk"
        }
    }
    
    // connect to the existing project's ndk-build build file, android.mk;
    // again, with the path that is relative to THIS build.gradle file's location.
    externalNativeBuild {
        ndkBuild {
            path 'src/main/cpp/Android.mk'
        }
    }
    
  4. 链接依赖源代码模块:打开Android.mk,检查该模块的所有源文件,所有依赖模块仍在正确的位置;如果不是,请更改Android.mk中的路径或将它们复制到所需位置。这是因为转换工具不处理依赖的源文件和模块。

  5. 最后做一个构建:build > build APK(做两次)

    这应该能让您找到一个好的位置。另一个有用的东西可能是 sourceSet property ,它允许您更改项目的默认目录

对于这个 SoundTouch 项目,原始存储库中的 migrating it to gradle build 是正确的方法。

希望对您有所帮助。