nitaliano / react-native-mapbox-gl

A Mapbox GL react native module for creating custom maps
Other
2.16k stars 697 forks source link

ANDROID release - RN 59 - not working - libyoga.so #1558

Closed LeVadim closed 5 years ago

LeVadim commented 5 years ago

Hello!

We have tried running the latest version of mapbox in Android Release mode, the app launches, all screens are working. In the moment we open screen with the Mapbox`s map.. the app crashes.

This is the catlog log.. 03-25 11:09:57.295 3113 3113 D SoLoader: libyoga.so not found on /data/data/app_name/lib-main 03-25 11:09:57.295 3113 3113 D SoLoader: libyoga.so found on /data/app/app_name==/lib/arm

The app crashes.. This is happening only in release mode, can you please look into this issue?

As well, there was a similar issue with "fresco" package, it was resolved by adding this code:

configurations.all {
    resolutionStrategy.force 'com.facebook.fresco:drawee:1.3.0'
    resolutionStrategy.force 'com.facebook.fresco:imagepipeline-base:0.14.1'
}

Thank you!

kristfal commented 5 years ago

Hey @LeVadim.

As far as I am aware RN59 is fully supported, and we've had users reporting back that they've been able to use this with RN59. However, Android has a lot of challenges with dependency mismatch, so it may be specific to a set of dependency combos you are using. The stack trace you provide is not sufficient to identify any root cause. I propose you do the following:

1) Build the example app in dev mode and make sure you can run it 2) Build the example app in release mode (just change the bundle IDs and use your own keychain to sign it and run on device) 3) If the example app crashes in production, please post the full stack trace and reopen the issue

If this is specific to your repo setup, we can help you out if you create a "minimum reproducible example" and post it here on Github, otherwise there is not much for us to go on.

LeVadim commented 5 years ago

Hello @kristfal!

Thank you for your response, much appreciated!! Sure, apologize if information provided was insufficient.

Yes, everything runs perfectly in debug mode, without any problems. We`ve tried using all types of dependencies, the ones you have here in the example.. the ones that official RN has in the example.. any variation is just failing.. Just wanted to ask you to check if you can run Mapbox in release version.. Here are answers to the questions: 1) Yes, runs without any problem 2) It is failing with libyoga.so 3) Crashlog is attached below

Just to repeat, the mapbox is working great with RN59 in debug mode, however, in release mode it is not working.. it crashes.. can you please check?

As well.. you`ll see an error with fresco package.. the solution for that is the following:

configurations.all {
    resolutionStrategy.force 'com.facebook.fresco:drawee:1.3.0'
}
<!-- app is launched.. everything is OK here.. waiting for mapbox.. -->
03-26 08:45:54.350  1523  8301 D GameManagerService: identifyGamePackage. app_bundle_identifier
03-26 08:45:54.351  1523  8301 D GamePkgDataHelper: getGamePkgData(). app_bundle_identifier

<!---- Mapbox is being launched and app crashes here -->
03-26 08:46:03.161 15692 15692 D SoLoader: libyoga.so not found on /data/data/app_bundle_identifier/lib-main
03-26 08:46:03.161 15692 15692 D SoLoader: libyoga.so found on /data/app/app_bundle_identifier-4lJ65YWJQaIZNWQyDVoqoA==/lib/arm
03-26 08:46:03.191 15692 15692 I chatty  : uid=10434(u0_a434) app_bundle_identifier identical 1 line

03-26 08:46:03.340 15692 15692 E AndroidRuntime: Process: app_bundle_identifier, PID: 15692
03-26 08:46:03.359  1523 10942 W ActivityManager: crash : app_bundle_identifier,0
03-26 08:46:03.360  1523 10942 W ActivityManager:   Force finishing activity app_bundle_identifier/.MainActivity
03-26 08:46:03.361  1523 10942 W MultiScreenManagerService: moveTaskBackToDisplayIfNeeded(): root activity or app is null, task=TaskRecord{e442dd5d0 #6841 A=app_bundle_identifier U=0 StackId=1 sz=1}, rootActivity=null
03-26 08:46:03.393  1523  1542 I ActivityManager: Showing crash dialog for package app_bundle_identifier u0
03-26 08:46:03.427  1523  1542 D ViewRootImpl@f0060d[app_bundle]: setView = DecorView@982fb10[app_bundle] TM=true MM=false
03-26 08:46:03.438  1523  1542 D ViewRootImpl@f0060d[app_bundle]: dispatchAttachedToWindow
03-26 08:46:03.439  1523  1542 V WindowManager: Relayout Window{82c63d3 u0 Application Error: app_bundle_identifier}: viewVisibility=0 req=1014x393 WM.LayoutParams{(0,0)(wrapxwrap) gr=#11 sim=#120 ty=2003 fl=#1820002 pfl=0x1000110 fmt=-3 wanim=0x10302ec vsysui=0x10 surfaceInsets=Rect(6, 6 - 6, 6) needsMenuKey=2 colorMode=0 naviIconColor=0}
03-26 08:46:03.443   680   680 I SurfaceFlinger: id=1831 createSurf (1026x405),1 flag=4, Application Error: app_bundle_identifier#0
03-26 08:46:03.449  1523  1542 D ViewRootImpl@f0060d[app_bundle]: Relayout returned: old=[0,0][0,0] new=[33,882][1047,1275] result=0x7 surface={valid=true 486030487552} changed=true
03-26 08:46:03.457  1523  1542 D ViewRootImpl@f0060d[app_bundle]: MSG_WINDOW_FOCUS_CHANGED 1
03-26 08:46:03.474  1523  8002 D PackageManager: getComponentMetadataForIconTray : app_bundle_identifier.MainActivity does not exist in mServices
03-26 08:46:03.474  1523  8002 D PackageManager: getComponentMetadataForIconTray : app_bundle_identifier.MainActivity does not exist in mProviders
03-26 08:46:03.474  1523  8002 D PackageManager: getComponentMetadataForIconTray : app_bundle_identifier.MainActivity does not exist in mReceivers
03-26 08:46:03.477  2712  2739 D ApplicationPackageManager: updateItemMetaDataForFixedIconScale: package: app_bundle_identifier
03-26 08:46:03.478  1523  8002 D PackageManager: getSelectedMetaData : packageName(app_bundle_identifier) or Metadata strings {[Ljava.lang.String;@ba5e7c3}
03-26 08:46:03.478  2712  2739 I ApplicationPackageManager: load=app_bundle_identifier, bg=144-144, dr=126-126, forDefault=true, density=0
03-26 08:46:03.480  2712  2739 I ApplicationPackageManager: load=app_bundle_identifier-crop, bg=126-126, dr=126-126
03-26 08:46:03.484  1523  1542 V WindowManager: finishDrawingLocked: mDrawState=COMMIT_DRAW_PENDING Window{82c63d3 u0 Application Error: app_bundle_identifier} in Surface(name=Application Error: app_bundle_identifier)
03-26 08:46:03.484  1523  1542 D ViewRootImpl@f0060d[app_bundle]: MSG_RESIZED_REPORT: frame=Rect(33, 882 - 1047, 1275) ci=Rect(0, 0 - 0, 0) vi=Rect(0, 0 - 0, 0) or=1
03-26 08:46:03.533   680   680 I SurfaceFlinger:      Device | 0x7712fc0480 | 0002 | RGBA_8888 |   0.0    0.0 1080.0 2220.0 |    0    0 1080 2220 | app_bundle_identifier/app_bundle_identifier.MainActivity#1
03-26 08:46:03.533   680   680 I SurfaceFlinger:      Device | 0x7712bad700 | 0000 | RGBA_8888 |   0.0    0.0 1026.0  405.0 |   68  892 1011 1264 | Application Error: app_bundle_identifier#0
03-26 08:46:03.550   680   680 I SurfaceFlinger:      Device | 0x7712fc0480 | 0002 | RGBA_8888 |   0.0    0.0 1080.0 2220.0 |    0    0 1080 2220 | app_bundle_identifier/app_bundle_identifier.MainActivity#1
03-26 08:46:03.550   680   680 I SurfaceFlinger:      Device | 0x7712bad700 | 0000 | RGBA_8888 |   0.0    0.0 1026.0  405.0 |   58  888 1022 1269 | Application Error: app_bundle_identifier#0
03-26 08:46:03.845 15888 15900 W PkgUtils: p: app_bundle_identifier, u:0
03-26 08:46:03.864  1523  1541 W ActivityManager: Activity pause timeout for ActivityRecord{8060 u0 app_bundle_identifier/.MainActivity t6841 f}
03-26 08:46:03.928   680   680 I SurfaceFlinger:      Device | 0x7712fc0480 | 0002 | RGBA_8888 |   0.0    0.0 1080.0 2220.0 |    9    3 1079 2203 | app_bundle_identifier/app_bundle_identifier.MainActivity#1
03-26 08:46:03.928   680   680 I SurfaceFlinger:      Device | 0x7712bad700 | 0000 | RGBA_8888 |   0.0    0.0 1026.0  405.0 |   27  876 1053 1281 | Application Error: app_bundle_identifier#0
03-26 08:46:03.936   680   680 I SurfaceFlinger:      Device | 0x7712fc0480 | 0002 | RGBA_8888 |   0.0    0.0 1080.0 2220.0 |   42   14 1075 2137 | app_bundle_identifier/app_bundle_identifier.MainActivity#1
03-26 08:46:03.936   680   680 I SurfaceFlinger:      Device | 0x7712bad700 | 0000 | RGBA_8888 |   0.0    0.0 1026.0  405.0 |   27  876 1053 1281 | Application Error: app_bundle_identifier#0
03-26 08:46:03.950 23505 23505 D Notification.Badge: [filtered] shouldBeFilteredOut().isGroupHeader[true], missingTitleAndText[false], [sbn : StatusBarNotification(pkg=com.google.android.gm user=UserHandle{0} id=0 tag=gig:-2011753293:^sq_ig_i_personal key=0|com.google.android.gm|0|gig:-2011753293:^sq_ig_i_personal|10138: Notification(channel=^nc_1_mail_app@gmail.com pri=0 contentView=null vibrate=null sound=null tick defaults=0x0 flags=0x218 color=0xffdb4437 category=email groupKey=gig:-2011753293:^sq_ig_i_personal sortKey=92233704832827160030 number=0 vis=PRIVATE publicVersion=Notification(channel=^nc_1_mail_app@gmail.com pri=0 contentView=null vibrate=null sound=null tick defaults=0x0 flags=0x18 color=0xffdb4437 category=email number=0 vis=PUBLIC semFlags=0x0 semPriority=0 semMissedCount=0) semFlags=0x0 semPriority=0 semMissedCount=0))]
03-26 08:46:03.956   680   680 I SurfaceFlinger:      Device | 0x7712fc0480 | 0002 | RGBA_8888 |   0.0    0.0 1080.0 2220.0 |  107   35 1068 2011 | app_bundle_identifier/app_bundle_identifier.MainActivity#1
03-26 08:46:03.956   680   680 I SurfaceFlinger:      Device | 0x7712bad700 | 0000 | RGBA_8888 |   0.0    0.0 1026.0  405.0 |   27  876 1053 1281 | Application Error: app_bundle_identifier#0
03-26 08:46:04.141   680   680 I SurfaceFlinger:      Device | 0x7712bad700 | 0000 | RGBA_8888 |   0.0    0.0 1026.0  405.0 |   27  876 1053 1281 | Application Error: app_bundle_identifier#0
03-26 08:46:04.236  2864 24812 D ProcessObserver_FLP: app_bundle_identifier (network, 25acf77)  is changed to background status, bgTime = 1151022067
03-26 08:46:04.236  2864 24812 D ProcessObserver_FLP: The status of package (app_bundle_identifier) using location was changed, call checkProviderStatus

Our build.gradle // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext {
        buildToolsVersion = "28.0.3"
        minSdkVersion = 19
        compileSdkVersion = 28
        targetSdkVersion = 28
        supportLibVersion = "28.0.0"
        okhttpVersion = "3.12.1"
    }
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.2'
    }
}

allprojects {
    repositories {
        mavenLocal()
        maven { url "https://jitpack.io" }
        google()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}
kristfal commented 5 years ago

How is this repo set up? I can’t tell from the top level build gradle, but the one in /app may give some clues. Also, can you run the example app in release mode?