Closed junruizh2021 closed 5 months ago
Did you build the library from source? Which version are you using? Which Java version are you using?
Did you build the library from source? Which version are you using? Which Java version are you using?
nope. I used the library from jar file in release rnnoise4j-2.0.2.jar
Which Java version are you using?
I'm using the Java 8
In addition, the build.gradle in my project includes this line:
abiFilters 'x86_64' ,'arm64-v8a' ,"x86","arm64-v8a"
It's different from your arch in jar->natives.
linux-aarch64
exists in the jar file. Seems like that's an issue with your Gradle buildscript.
linux-aarch64
exists in the jar file. Seems like that's an issue with your Gradle buildscript.
This is my build.gradle(:app), and I'm using the source code of de.maxhenkel.rnnoise4j to build my project.
plugins {
id 'com.android.application'
}
repositories {
jcenter()
maven {
url "https://oss.sonatype.org/content/repositories/snapshots"
}
}
android {
signingConfigs {
release {
storeFile file('wenet.keystore')
storePassword '123456'
keyAlias 'wenet'
keyPassword '123456'
}
}
packagingOptions {
pickFirst 'lib/arm64-v8a/libc++_shared.so'
}
configurations {
extractForNativeBuild
}
compileSdkVersion 30
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.mobvoi.wenet"
minSdkVersion 21
//noinspection ExpiredTargetSdkVersion
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
targets "wenet", "decoder_main"
cppFlags "-std=c++14", "-DC10_USE_GLOG", "-DC10_USE_MINIMAL_GLOG", "-DANDROID", "-Wno-c++11-narrowing", "-fexceptions"
}
}
ndkVersion '21.1.6352462'
ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
}
}
buildTypes {
release {
minifyEnabled false
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
cmake {
version "3.18.1"
path "src/main/cpp/CMakeLists.txt"
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
lintOptions {
abortOnError false
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'org.pytorch:pytorch_android:1.13.0'
extractForNativeBuild 'org.pytorch:pytorch_android:1.13.0'
implementation 'com.github.pengzhendong:wenet-openfst-android:1.0.2'
extractForNativeBuild 'com.github.pengzhendong:wenet-openfst-android:1.0.2'
//implementation fileTree(dir: 'lib', includes: ['*.jar'])
implementation 'com.google.code.findbugs:jsr305:3.0.2'
}
task extractAARForNativeBuild {
doLast {
configurations.extractForNativeBuild.files.each {
def file = it.absoluteFile
copy {
from zipTree(file)
into "$buildDir/$file.name"
include "headers/**"
include "jni/**"
}
}
}
}
tasks.whenTaskAdded { task ->
if (task.name.contains('externalNativeBuild')) {
task.dependsOn(extractAARForNativeBuild)
}
}
That won't work. Use Maven. Building from source doesn't include natives.
I used your jar file in my project and put linux-aarch64 so file in src/main/jniLibs, but It occured error when I create rnnoise.
The log is below: