将Superpowered SDK添加到Android项目的正确方法

如何解决将Superpowered SDK添加到Android项目的正确方法

我正尝试将 Superpowered SDK 添加到我的Android项目中,我已经从官方网站下载了 .zip 文件,并将其复制到D盘中位置,我在 CMakeLists.txt 文件中设置位置路径,如下所示:

cmake_minimum_required(VERSION 3.4.1)

set(
    PATH_TO_SUPERPOWERED
    CACHE STRING ""
)

message(${ANDROID_ABI})

file(GLOB CPP_FILES "*.cpp")

add_library(
    sp-lib
    SHARED
    ${CPP_FILES}
    D:/SuperpoweredSDK/SuperpoweredSDK/Superpowered/OpenSource/SuperpoweredAndroidAudioIO.cpp
)

include_directories(src/main/jni)
include_directories(${PATH_TO_SUPERPOWERED})

target_link_libraries(
    sp-lib
    log
    android
    OpenSLES
    D:/SuperpoweredSDK/SuperpoweredSDK/Superpowered/libSuperpoweredAndroid${ANDROID_ABI}.a
)

这是完整的东西:

plugins { id 'com.android.application' }
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
def superpowered_sdk_path = properties.getProperty('superpowered.dir')

android {
    compileSdkVersion 30
    buildToolsversion "30.0.2"

    defaultConfig {
        applicationId "maa.audioeditor"
        minSdkVersion 18
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
        ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    externalNativeBuild {
        cmake {
            arguments '-DANDROID_PLATFORM=android-16','-DANDROID_TOOLCHAIN=clang','-DANDROID_ARM_NEON=TRUE','-DANDROID_STL=gnustl_static',"-dpath_TO_SUPERPOWERED:STRING=${superpowered_sdk_path}"
            cFlags '-O3','-fsigned-char'
            cppFlags '-fsigned-char',"-I${superpowered_sdk_path}"
        }
    }

    sourceSets {
        main {
            jniLibs.srcDirs = ['src/main/jni']
        }
    }

    externalNativeBuild {
        cmake {
            path 'src/main/jni/CMakeLists.txt'
        }
    }

}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
    testImplementation 'junit:junit:4.+'
    implementation group: 'com.arthenica',name: 'mobile-ffmpeg-full',version: '4.4.LTS'
    implementation 'com.google.android.exoplayer:exoplayer:2.11.4'
    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

当我尝试重建项目时,出现此错误消息:

A problem occurred evaluating project ':app'.
> No signature of method: build_erhbqg29at4ete0101fpngpli.android() is applicable for argument types: (build_erhbqg29at4ete0101fpngpli$_run_closure1) values: [build_erhbqg29at4ete0101fpngpli$_run_closure1@1d7938e1]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?