Нативное приложение вылетает на устройстве Panasonic с Зефиром - PullRequest
0 голосов
/ 01 ноября 2019

После обновления целевого SDK до 28 мы начали получать несколько собственных сбоев в одном из телефонов-манипуляторов.

Вот следы стека:

SIGSEGV · Нарушение сегментации (недействительноссылка на память)

/system/lib64/libart.so:4359472art::Thread::VisitRoots(art::RootVisitor*)   
/system/lib64/libart.so:20444440x7f87eb621c 
/system/lib64/libart.so:4449160art::ThreadList::RunCheckpoint(art::Closure*)    
/system/lib64/libart.so:2041188art::gc::collector::MarkSweep::MarkRootsCheckpoint(art::Thread*, bool)   
/system/lib64/libart.so:20622680x7f87eba7bc 
/system/lib64/libart.so:2062908art::gc::collector::MarkSweep::MarkingPhase()    
/system/lib64/libart.so:2063740art::gc::collector::MarkSweep::RunPhases()   
/system/lib64/libart.so:2006764art::gc::collector::GarbageCollector::Run(art::gc::GcCause, bool)    
/system/lib64/libart.so:2208320art::gc::Heap::CollectGarbageInternal(art::gc::collector::GcType, art::gc::GcCause, bool)    
/system/lib64/libart.so:22145760x7f87edfab0 
/system/lib64/libart.so:2360160art::gc::TaskProcessor::RunAllTasks(art::Thread*)    
0x734e6580

SIGSEGV · Нарушение сегментации (недопустимая ссылка на память)

/system/lib64/libskia.so:1373980SkMatrix::reset()   
/system/lib64/libhwui.so:548132android::uirenderer::RenderProperties::updateMatrix()    
/system/lib64/libandroid_runtime.so:6525640x7f8bfe7514  
0x73ac8994

SIGSEGV · Нарушение сегментации (недопустимая ссылка на память)

/data/data/com.***/lib-0/libjsc.so:24129600x7f705f51a0  
/data/data/com.***/lib-0/libjsc.so:26520360x7f7062f784  
/data/data/com.***/lib-0/libjsc.so:22008920x7f705c153c  
/data/data/com.***/lib-0/libjsc.so:22088680x7f705c3464  
/data/data/com.***/lib-0/libjsc.so:27549000x7f70648954  
/data/data/com.***/lib-0/libjsc.so:27547040x7f70648890  
/data/data/com.***/lib-0/libjsc.so:29325160x7f70673f24  
/data/data/com.***/lib-0/libjsc.so:29331480x7f7067419c  
/data/data/com.***/lib-0/libjsc.so:28823160x7f70667b0c

/ app/build.gradle



apply plugin: "com.android.application"

import com.android.build.OutputFile

project.ext.react = [
    entryFile: "index.js"
]

apply from: "../../node_modules/react-native/react.gradle"

def enableSeparateBuildPerCPUArchitecture = false

def enableProguardInReleaseBuilds = false


android {
    compileSdkVersion 28

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    defaultConfig {
        applicationId "****"
        minSdkVersion 16
        targetSdkVersion 28
        multiDexEnabled true
        versionCode 14
        versionName "2.2.10"
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86" , "arm64-v8a", "x86_64"
        }
    }
    buildTypes {
         debug {
             manifestPlaceholders = [excludeSystemAlertWindowPermission: "false"]
         }
        release {
            manifestPlaceholders = [excludeSystemAlertWindowPermission: "true"]
            minifyEnabled enableProguardInReleaseBuilds
            proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
    }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            // For each separate APK per architecture, set a unique version code as described here:
               // https://developer.android.com/studio/build/configure-apk-splits.html
            def versionCodes = ["armeabi-v7a":1, "x86":2, "arm64-v8a": 3, "x86_64": 4]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
    }

}

dependencies {
    implementation project(':bugsnag-react-native')
    implementation project(':react-native-geocoder')
    implementation project(':react-native-immediate-phone-call')
    implementation project(':react-native-fcm'){
        configurations {
            runtime.exclude group: 'com.google.firebase'
            runtime.exclude group: 'com.android.support:collections'
        }
    }
    implementation project(':react-native-i18n')
    implementation project(':react-native-vector-icons')
    implementation project(':react-native-restart')
    implementation project(':react-native-smart-splash-screen')
    implementation project(':react-native-image-resizer')
    implementation project(':react-native-image-picker')
    implementation project(':react-native-maps') {
        configurations {
        runtime.exclude group: 'com.google.android.gms', module: 'play-services-base'
        runtime.exclude group: 'com.google.android.gms', module: 'play-services-maps'
    }
}
    implementation project(':react-native-fs')
    implementation fileTree(dir: "libs", include: ["*.jar"])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:support-annotations:28.0.0'
    implementation 'com.android.support:support-v13:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation "com.facebook.react:react-native:0.59.2"  // From node_modules


    implementation "com.android.support:support-core-utils:28.0.0"

    // Google Play Services
    // https://developers.google.com/android/guides/releases
    implementation ("com.google.android.gms:play-services-base:16.0.1") {
        force = true;
    }
        implementation ("com.google.android.gms:play-services-location:16.0.0") {
        force = true;
    }
    implementation ("com.google.android.gms:play-services-maps:16.0.0") {
        force = true;
    }
    implementation ("com.google.android.gms:play-services-gcm:16.0.0") {
        force = true;
    }

    implementation ('com.google.firebase:firebase-core:16.0.3') {
        force = true;
    }
    implementation ('com.google.firebase:firebase-messaging:17.6.0') {
        force = true;
    }
}


task copyDownloadableDepsToLibs(type: Copy) {
    from configurations.compile
    into 'libs'
}

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '28.0.0'
            }
        }

    }
}
apply plugin: 'com.google.gms.google-services'

и профиль устройства:

brand
Panasonic
cpuAbi
[
  "arm64-v8a",
  "armeabi-v7a",
  "armeabi"
]
dpi
320
emulator
false
id
d389dc97-a6d2-4040-93e0-1e905dc52f07
jailbroken
false
locale
en_US
locationStatus
disallowed
manufacturer
PANASONIC
model
ELUGA I3 Mega
networkAccess
cellular
orientation
portrait
osName
android
osVersion
6.0
runtimeVersions
{
  "androidApiLevel": "23",
  "osBuild": "EB-90S55EIMv1012"
}
screenDensity
2
screenResolution
1184x720
time
2019-11-01T07:52:35.000Z
totalMemory
134217728

Буду признателен за любую помощь в решении проблемы или нахождении ее источника.

...