应用程序中获得,因为在Android的

问题描述:

ABI过滤器,我使用vitamio为播放视频和音频,我已经使用gradle这个配置类似下面应用程序中获得,因为在Android的

ndk { 
       abiFilters "armeabi", "armeabi-v7a", "x86", "mips" 
     } 

它在所有Android版本完美的工作的崩溃。

使用 CMaker tutorial一些操作,但应用

现在我HAVA添加JNI代码是获得Android版本7崩溃只用下面的日志

Build fingerprint: 'xiaomi/mido/mido:7.0/NRD90M/V8.5.4.0.NCFMIED:user/release-keys' 
Revision: '0' 
ABI: 'arm' 
pid: 27944, tid: 28106, name: SyncAdapterThre >>> com.mypackage <<< 
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x29c 
    r0 e4685300 r1 00000000 r2 074edc1e r3 000004a1 
    r4 00000000 r5 0000001a r6 cf6b6740 r7 c63fecf0 
    r8 c63feca8 r9 00000020 sl c63fecc8 fp 4ec4ec4f 
    ip 2280b031 sp c63feca8 lr ec409776 pc cf6b6712 cpsr 60010030 

改变像它下面的工作

NDK配置后
ndk { 
     abiFilters "arm64-v8a","armeabi", "armeabi-v7a", "x86","x86_64", "mips" 
      } 

但现在有崩溃的Android版本7上的维生素只有以下日志

Build fingerprint: 'xiaomi/mido/mido:7.0/NRD90M/V8.5.4.0.NCFMIED:user/release-keys' 
Revision: '0' 
ABI: 'arm64' 
pid: 30859, tid: 30859, name: .onlineradioapp >>> com.mypackage <<< 
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 
    x0 00000000000017a8 x1 0000000000000000 x2 0000007f6c200000 x3 0000000000000002 
    x4 00000000000001a1 x5 0000000000008080 x6 0000007fa5c62000 x7 0000000000000000 
    x8 0000000000000000 x9 0000007fa1e0c688 x10 00000000000001a1 x11 0000000000000000 
    x12 0000000000000018 x13 0000000000000000 x14 0000000000000000 x15 00326d4469b4dcca 
    x16 0000007fa26625a0 x17 0000007fa26098a8 x18 00000000ffffffff x19 0000007fe80b04e0 
    x20 0000007f798baa90 x21 0000007f6c3a1480 x22 0000007f798da000 x23 0000007f798da000 
    x24 0000007f798ba000 x25 0000000000000000 x26 0000000000200021 x27 56c8e96642a3fb3d 
    x28 0000000000000001 x29 0000007fe80b0480 x30 0000007f798b344c 
    sp 0000007fe80b0480 pc 0000000000000000 pstate 0000000020000000 

存在的问题与ABI没有可用于vitamio ABI: 'arm64'实现任何人都可以帮助我解决这个问题

谢谢

+0

检查包的名字,它是用JNI – KongJing

+0

@KongJing一致能否请您详细解释一下吗?因为我说出来,用不同的'apiFilter'工作,如果我设置' arm64-v8a'然后JNI库加载,但vitamio文件没有加载,如果我删除'arm64-v8a',然后JNI停止加载和vitamio开始加载 –

+0

据我所知,包名称不一致,如果删除'ndk {0} {iframe {abiFilters} armeabi “,”armeabi-v7a“,”x86“,”mips“ }' – KongJing

HELLO-jni.c

Java_com_example_hellojni_HelloJni_stringFromJNI(JNIEnv *env,jobject thiz) 

HelloJni.java

package com.example.hellojni; 

static { 
     System.loadLibrary("hello-jni"); 
    } 

public native String stringFromJNI(); 

据我了解,包是不一样的原因

+0

包是一样的,没有问题那 –

+0

删除ndk {abiFilters“armeabi”,“armeabi-v7a”,“x86”,“mips”},可以解决这个问题吗? – KongJing

+0

在这种情况下,因为默认情况下vitamio会崩溃,因此它会为所有ABI版本生成.so文件,并且没有针对所有ABI版本的实现 –