ãã°ã¬ããŒã
æã¡äžãæã«å¢èœ
android logcat A / libcã§ãã¬ãŒã¹ããããã®ãšã©ãŒãã°ã®ã¿ã§ã¯ã©ãã·ã¥ããŸãã
åçŸããã«ã¯
react-native run-android
æåã®ã«ãŒãããã¹ã¿ãã¯ããã²ãŒã¿ãŒãçµç±ããŠ2çªç®ã®ç»é¢ã«ç§»åããŸãã React-Navigation 3.6
react-navigation
å
¥ã£ãŠSamsung S7 64 bit CPU
ããã€ã¹ã§ã¯ã©ãã·ã¥ãããšããã«ã¢ããªãã¯ã©ãã·ã¥ãã䜿çšããŠããä»ã®Androidããã€ã¹ã§ãæ£åžžã«åäœããŸãã
äºæ³ãããè¡å
å®å®ããæ¹æ³ã§äœæ¥ããããã ãã«ã 以åã®react-nativeããŒãžã§ã³0.58ã®ããã«
ç°å¢
React Nativeç°å¢æ
å ±ïŒ
ã·ã¹ãã ïŒ
OSïŒMac OS mojave 10.14
ãã€ããªïŒ
npmïŒ6.4.1
Android StudioïŒããŒãžã§ã³3.2.1
Android 6.0.1ïŒå®éã®ããã€ã¹ïŒSamsung S7 SM-G930FDïŒ
React Native v0.59.3
äžæçãªåé¿çïŒ
64ãããã®ndkãã£ã«ã¿ãŒãarm64-v8aãããx86_64ããbuidl.gradleã®defaultConfigãããã¯ã®ndk abiFiltersããåé€ãããšãã32ãããã®ãµããŒãã®ã¿ãæäŸããŸããã
ããã¯ããŸããããŸãã
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64" -> change to
abiFilters "armeabi-v7a", "x86"
}
åé¡ãéä¿¡ããŠããã ãããããšãããããŸãã 説æãããäžåºŠèŠãŠãåé¡ãã³ãã¬ãŒããå®å
šã«å
¥åãããŠããããšã確èªã§ããŸããïŒ
åé¡ãéä¿¡ããŠããã ãããããšãããããŸãã 説æãããäžåºŠèŠãŠãåé¡ãã³ãã¬ãŒããå®å šã«å ¥åãããŠããããšã確èªã§ããŸããïŒ
æŽæ°ããŸãã
åç §çšã®Logcatãšã©ãŒã¹ã¯ãªãŒã³ã·ã§ãã
64ãããã¹ããªãããã«ãã®å
¬éAndroid7.0ãæèŒããGalaxyS7ããã³GalaxyS7Edgeã§ã®èµ·åæã«ããã®ã¯ã©ãã·ã¥ãçºçããŸã
衚瀺ãããŠããAndroidã®ãã€ã¿ã«ïŒ
ã·ã°ãã«11ïŒSIGSEGVïŒãã³ãŒã1ïŒSEGV_MAPERRïŒWTFCrash
ããã¯ãã¬ãŒã¹ïŒ
ïŒ00 pc 00000000007e048c /data/app/com.mosko.bus-1/lib/arm64/libjsc.soïŒWTFCrash + 16ïŒ
ïŒ01 pc 00000000000be650 /data/app/com.mosko.bus-1/lib/arm64/libjsc.soïŒ_Z16WTFCrashWithInfoiPKcS0_i + 24ïŒ
ïŒ02 pc 0000000000489f2c /data/app/com.mosko.bus-1/lib/arm64/libjsc.soïŒoperationLinkDirectCall + 1120ïŒ
ïŒ03 pc 000000000019e27c
ç§ãåŸãŠãããããã®ããã€ã¹ã®Crashlyticsã«ã€ããŠïŒ
èŽåœçãªäŸå€ïŒcom.facebook.react.common.c
äžå€ã®éåïŒãŸã å®è£
ãããŠããªãäœæ¥ãåéããŸãã
32ããããã«ãã®ã¿ãæäŸããåé¿çã¯ãä»ã®ãšããããã解決ããŠããŸã
Android7.0ãå®è¡ããŠãã衚瀺ãããŸãã ã¢ããªã¯èµ·åæã«ã¯ã©ãã·ã¥ããŸã
Android7.0ãå®è¡ããŠãã衚瀺ãããŸãã ã¢ããªã¯èµ·åæã«ã¯ã©ãã·ã¥ããŸã
@nsantacruzãreact-navigationã䜿çšããŠããŸããïŒ ä»ã®ãã¹ãŠã®èšè ã«å ±éããŠããããã§ã
@nadavmos ãç§ã¯react-navigation
ã䜿çšããŠããŸããã ãã®åé¡ã¯Android7.0ã®SamsungS7ã§0.59ã«ã圱é¿ããŠãããããããã¯ãããã
@nadavmosã¯ã©ãã·ã¥ã¯react-navigation
ãšã¯é¢ä¿ãããŸãããå®éãã¢ããªã¯ãreact- nativeinitãä»ããŠäœæãããæ°ããRNãããžã§ã¯ãã§ã¯ã©ãã·ã¥ããŠããŸãã
@hramos @mkonicekçŸæç¹ã§ã¯ãããã¯ææ°ã®RN 0.59ãªãªãŒã¹ã®åé¡ã§ããã arm64-v8a
ãµããŒããæäŸããåŸã S7 Edge
Samsung S7
ã S7 Edge
å®è¡ãããŠããAndroidãã«ãã«åœ±é¿ãäžãããšçµè«ä»ããããšãã§ããŸãã arm64-v8a
ã x86_64
ã build.gradle
ããããããåé€ããŠãã¢ããªã¯ã¯ã©ãã·ã¥ããŸãããããã¯ãGoogle Play 64ããããµããŒãããªã·ãŒã«åŸã£ãŠã 1 August 2019
以éã«ã¢ããªã皌åããããšã«åœ±é¿ãäžããå¯èœæ§ããããŸãã 泚ç®ããŠããã ãããã®ã§ããã
0.58.5ã§ãçºçããŸãã ã®ã£ã©ã¯ã·ãŒS7ã Android6.0ã 32ããããã«ãã«èšå®ããŠãæ©èœããŸããã
Android7.0ãå®è¡ããŠããGalaxyS7ã®RN0.59.4ã®64ããããã«ãã§åãã¯ã©ãã·ã¥ãçºçããŠããŸãã æ®å¿µãªããããã®ã¢ãã«ã®ããã€ã¹ã«ã¢ã¯ã»ã¹ã§ããŸããã ããã¯ç§ãã¡ã®ãã¹ãŠã§ããŸãæ©èœããŸãã
次ã®ç°å¢ã§HuawaiP9ããã€ã¹ã§åãåé¡ãçºçããŸãã
React Native Environment Info:
System:
OS: macOS 10.14.3
CPU: (12) x64 Intel(R) Core(TM) i9-8950HK CPU @ 2.90GHz
Memory: 63.57 MB / 32.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 11.3.0 - /usr/local/bin/node
Yarn: 1.12.3 - /usr/local/bin/yarn
npm: 6.9.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
Android SDK:
API Levels: 23, 26, 27, 28
Build Tools: 23.0.1, 25.0.0, 26.0.3, 27.0.3, 28.0.1, 28.0.2, 28.0.3
System Images: android-24 | Google APIs Intel x86 Atom, android-27 | Google APIs Intel x86 Atom, android-28 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.2 AI-181.5540.7.32.5056338
Xcode: 10.2/10E125 - /usr/bin/xcodebuild
npmPackages:
react: ^16.8.3 => 16.8.3
react-native: ^0.59.4 => 0.59.4
npmGlobalPackages:
eslint-plugin-react-native: 3.5.0
react-native-cli: 2.0.1
react-native-git-upgrade: 0.2.7
ããã¯ãååŸããCrashlyticsã¹ã¿ãã¯ãã¬ãŒã¹ã§ãã
# Platform: android
# Issue ID: 5beec130f8b88c29632f185d
# Session ID: 5cb483b90037000127d26eeee3e996f5_DNE_0_v2
# Date: 2019-04-15T13:15:00Z
# OS Version: 7.0
# Device: PRA-LX1
# RAM Free: 1.3%
# Disk Free: 14.3%
#0. Crashed: Thread
0 (Missing) 0xc00d9b20 (Missing)
1 (Missing) 0x3ffffffd (Missing)
2 libc.so 0xeda60d64 (Missing)
3 (Missing) 0x3fdec95c (Missing)
4 libc.so 0xeda3223f (Missing)
5 libutils.so 0xee283df1 (Missing)
6 (Missing) 0xea6ac55a (Missing)
7 libart.so 0xebc85331 (Missing)
8 (Missing) 0x12dfd11e (Missing)
9 (Missing) 0x12da927e (Missing)
10 system@[email protected] 0x74d6de0d (Missing)
11 (Missing) 0x3fdec95c (Missing)
12 (Missing) 0x12f39976 (Missing)
13 (Missing) 0x12c2064e (Missing)
14 (Missing) 0x70e43ada (Missing)
15 (Missing) 0x12f43b8e (Missing)
16 libart.so 0xebc85331 (Missing)
17 (Missing) 0x70d268be (Missing)
18 system@[email protected] 0x716279db (Missing)
19 (Missing) 0x70837262 (Missing)
20 (Missing) 0x70190306 (Missing)
21 (Missing) 0x2cb6ab0c (Missing)
22 (Missing) 0x70d58d82 (Missing)
23 (Missing) 0x2cb6ab0c (Missing)
24 (Missing) 0x2cb6ab0c (Missing)
25 (Missing) 0x70c63cee (Missing)
26 (Missing) 0x12c2064e (Missing)
27 (Missing) 0x70e43ada (Missing)
28 (Missing) 0x12f43c1e (Missing)
29 libart.so 0xebca3526 (Missing)
30 (Missing) 0x3fdec95c (Missing)
31 (Missing) 0x70e43ada (Missing)
32 (Missing) 0x70e43ada (Missing)
33 (Missing) 0x12f39976 (Missing)
34 (Missing) 0x12f43b8e (Missing)
35 libart.so 0xebc85331 (Missing)
36 (Missing) 0x70d268e2 (Missing)
37 (Missing) 0x3fdec95c (Missing)
38 libutils.so 0xee283ced (Missing)
39 (Missing) 0x70abe4f6 (Missing)
40 (Missing) 0x70aadb2e (Missing)
41 libandroid_runtime.so 0xecdb23ff (Missing)
42 (Missing) 0x70abe4f6 (Missing)
43 (Missing) 0x12c2fa8e (Missing)
44 system@[email protected] 0x749d1865 (Missing)
45 (Missing) 0x12c2fa8e (Missing)
46 system@[email protected] 0x741f0347 (Missing)
47 (Missing) 0x70d3b9ca (Missing)
48 (Missing) 0x12c2fa8e (Missing)
49 (Missing) 0x12c2fa8e (Missing)
50 (Missing) 0x70abe4f6 (Missing)
51 (Missing) 0x70aadb2e (Missing)
--
#0. Crashed: Thread
0 (Missing) 0xc00d9b20 (Missing)
1 (Missing) 0x3ffffffd (Missing)
2 libc.so 0xeda60d64 (Missing)
3 (Missing) 0x3fdec95c (Missing)
4 libc.so 0xeda3223f (Missing)
5 libutils.so 0xee283df1 (Missing)
6 (Missing) 0xea6ac55a (Missing)
7 libart.so 0xebc85331 (Missing)
8 (Missing) 0x12dfd11e (Missing)
9 (Missing) 0x12da927e (Missing)
10 system@[email protected] 0x74d6de0d (Missing)
11 (Missing) 0x3fdec95c (Missing)
12 (Missing) 0x12f39976 (Missing)
13 (Missing) 0x12c2064e (Missing)
14 (Missing) 0x70e43ada (Missing)
15 (Missing) 0x12f43b8e (Missing)
16 libart.so 0xebc85331 (Missing)
17 (Missing) 0x70d268be (Missing)
18 system@[email protected] 0x716279db (Missing)
19 (Missing) 0x70837262 (Missing)
20 (Missing) 0x70190306 (Missing)
21 (Missing) 0x2cb6ab0c (Missing)
22 (Missing) 0x70d58d82 (Missing)
23 (Missing) 0x2cb6ab0c (Missing)
24 (Missing) 0x2cb6ab0c (Missing)
25 (Missing) 0x70c63cee (Missing)
26 (Missing) 0x12c2064e (Missing)
27 (Missing) 0x70e43ada (Missing)
28 (Missing) 0x12f43c1e (Missing)
29 libart.so 0xebca3526 (Missing)
30 (Missing) 0x3fdec95c (Missing)
31 (Missing) 0x70e43ada (Missing)
32 (Missing) 0x70e43ada (Missing)
33 (Missing) 0x12f39976 (Missing)
34 (Missing) 0x12f43b8e (Missing)
35 libart.so 0xebc85331 (Missing)
36 (Missing) 0x70d268e2 (Missing)
37 (Missing) 0x3fdec95c (Missing)
38 libutils.so 0xee283ced (Missing)
39 (Missing) 0x70abe4f6 (Missing)
40 (Missing) 0x70aadb2e (Missing)
41 libandroid_runtime.so 0xecdb23ff (Missing)
42 (Missing) 0x70abe4f6 (Missing)
43 (Missing) 0x12c2fa8e (Missing)
44 system@[email protected] 0x749d1865 (Missing)
45 (Missing) 0x12c2fa8e (Missing)
46 system@[email protected] 0x741f0347 (Missing)
47 (Missing) 0x70d3b9ca (Missing)
48 (Missing) 0x12c2fa8e (Missing)
49 (Missing) 0x12c2fa8e (Missing)
50 (Missing) 0x70abe4f6 (Missing)
51 (Missing) 0x70aadb2e (Missing)
Android7ã®SamsungGalaxyS7ã§ãåãåé¡ãçºçããŠããŸã
ASSERT|04-17 00:30:16.272|18763|18813||libc|Fatal signal 11 (SIGSEGV), code 1, fault addr 0xbbadbeef in tid 18813 (mqt_js)
ASSERT|04-17 00:30:16.402|18920|18920||DEBUG|Build fingerprint: 'samsung/heroltexx/herolte:7.0/NRD90M/G930FXXS1DQHF:user/release-keys'
ASSERT|04-17 00:30:16.402|18920|18920||DEBUG|*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
ASSERT|04-17 00:30:16.405|18920|18920||DEBUG|ABI: 'arm64'
ASSERT|04-17 00:30:16.405|18920|18920||DEBUG|Revision: '8'
ASSERT|04-17 00:30:16.406|18920|18920||DEBUG|pid: 18763, tid: 18813, name: mqt_js >>> com.profibackoffice.reactnative <<<
ASSERT|04-17 00:30:16.406|18920|18920||DEBUG|signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xbbadbeef
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x16 00000070110b1acc x17 000000700bc121a8 x18 0000000021ecfc88 x19 000000700fed7e80
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x20 00000070108cf560 x21 0000006ffd4c8070 x22 000000700bc00000 x23 0000006ff9616ca0
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x28 ffff000000000002 x29 00000070108cf560 x30 0000007011408484
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x24 0000000000000007 x25 0000000000000000 x26 0000000000000000 x27 ffff000000000000
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x8 00000000bbadbeef x9 00000070114b19d0 x10 0000000000000000 x11 0000006ffc4f0000
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x0 00000070108cf3c8 x1 00000070108cf3c8 x2 0000000000000000 x3 00000000000000a8
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| sp 00000070108cf400 pc 000000701140848c pstate 00000000a0000000
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x4 000000700bfaee80 x5 0000006ff62a4980 x6 0000006ffa6a6820 x7 0000000000000000
ASSERT|04-17 00:30:16.407|18920|18920||DEBUG| x12 0000000000000000 x13 000000700b617c00 x14 0000000000000002 x15 00000000bd36143d
ASSERT|04-17 00:30:16.412|18920|18920||DEBUG|backtrace:
ASSERT|04-17 00:30:16.412|18920|18920||DEBUG| #03 pc 00000000001afe80 <anonymous:000000700bdff000>
ASSERT|04-17 00:30:16.412|18920|18920||DEBUG| #02 pc 0000000000489f2c /data/app/com.profibackoffice.reactnative-1/lib/arm64/libjsc.so (operationLinkDirectCall+1120)
ASSERT|04-17 00:30:16.412|18920|18920||DEBUG| #01 pc 00000000000be650 /data/app/com.profibackoffice.reactnative-1/lib/arm64/libjsc.so (_Z16WTFCrashWithInfoiPKcS0_i+24)
ASSERT|04-17 00:30:16.412|18920|18920||DEBUG| #00 pc 00000000007e048c /data/app/com.profibackoffice.reactnative-1/lib/arm64/libjsc.so (WTFCrash+16)
ããããandroid/app/build.gradle
è¿œå ãããšãä¿®æ£ãããå¯èœæ§ããããŸããïŒä¿®æ£ãããŸããã§ããïŒïŒã
packagingOptions {
pickFirst '**/libjsc.so'
pickFirst '**/libc++_shared.so'
}
ãhttpsïŒ//github.com/react-native-community/jsc-android-buildscripts/pull/95ãåç §ããŠ
å©ããŠãããŠããããšããããã解決çã¯ç§ãã¡ãå©ããŸããã§ããã
16æ¥ã 2019г.ãвåå19æ12åãã¢ã³ããªã¥ãŒã»ãžã£ãã¯[email protected] МапОÑалïŒÐ°ïŒïŒ
ãããandroid / app / build.gradleã«è¿œå ãããšãä¿®æ£ãããå¯èœæ§ããããŸãã
PackagingOptions {
pickFirst ' / libjsc.so'pickFirst ' / libc ++ _ shared.so'
}
react-native-community / jsc-android-buildscriptsïŒ95https ïŒ //github.com/react-native-community/jsc-android-buildscripts/pull/95ãåç §ããŠ
ä»ããããã¹ãããŸããâ
ããªããã³ã¡ã³ãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHub https://github.com/facebook/react-native/issues/24261#issuecomment-483728028ã§è¡šç€ºããããã¹ã¬ããããã¥ãŒãããŸãhttps://github.com/notifications/unsubscribe-auth/ AEO_1BMzddSncn2DtQeDcx_y1KIz0ZSGks5vhfaJgaJpZM4cX_xB ã
ããã
android/app/build.gradle
è¿œå ãããšãä¿®æ£ãããå ŽåããããŸããpackagingOptions { pickFirst '**/libjsc.so' pickFirst '**/libc++_shared.so' }
react-native-community / jsc-android-buildscriptsïŒ95ãåç §ããŠãã ãã
ç§ã¯ä»ããããã¹ãããŠããŸãã
@AndrewJackã¯ããªãã®ããã«åããŠããŸãããïŒ
ããã
android/app/build.gradle
è¿œå ãããšãä¿®æ£ãããå ŽåããããŸããpackagingOptions { pickFirst '**/libjsc.so' pickFirst '**/libc++_shared.so' }
react-native-community / jsc-android-buildscriptsïŒ95ãåç §ããŠãã ãã
ç§ã¯ä»ããããã¹ãããŠããŸãã
æ²ããããšã«ãç§ãã¡ã¯ãã§ã«ããã«ããããæã£ãŠããŸããã
Playã¹ãã¢ãã64ããããã«ããååŸããŸããã ããã¯64ããããã«ãã§ã®ã¯ã©ãã·ã¥ãšã¯ãŸã£ããé¢ä¿ããªããããããŸããããarmeabi-v7aãã«ããå®è¡ããŠããGalaxy S7ããã€ã¹ã¯ã以äžã®ããã«å€ãã¯ã©ãã·ã¥ããŠããŸãã èµ·åçŽåŸã
ä»ã®ããã€ã¹ãšæ¯èŒããŠS7ã«ã€ããŠäœããããªã«éãã®ãæ¬åœã«çåã«æããŸãã
Version Code: 10000036
Version Name: 2.3.4
Android: 8.0.0
Android Build: R16NW
Manufacturer: samsung
Model: SM-G930F
Date: undefined
com.facebook.react.bridge.UnexpectedNativeTypeException: TypeError: expected dynamic type `double', but had type `null'
at com.facebook.react.bridge.ReadableNativeMap.getIntNative
at com.facebook.react.bridge.ReadableNativeMap.getInt
at com.facebook.react.g.a.a
at com.facebook.react.modules.core.ExceptionsManagerModule.reportSoftException
at java.lang.reflect.Method.invoke(Method.java:-2)
at com.facebook.react.bridge.JavaMethodWrapper.invoke
at com.facebook.react.bridge.JavaModuleWrapper.invoke
at com.facebook.react.bridge.queue.NativeRunnable.run
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage
at android.os.Looper.loop(Looper.java:164)
at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run
at java.lang.Thread.run(Thread.java:764)
@taschikããã¯æ©èœããŸããã§ãããç§ã¯jsc-android-buildscriptsæ§æãä¿®æ£ããããšãæ©èœãããããããªããšæããŸããã
åãäŸå€ãçºçããŸããããã£ãããããªãäŸå€ãã³ãã©ãŒã§ãã£ããã§ããŸããã ç§ã®Androidã¢ããªã§ã¯ã次ã®ã³ãŒããè©ŠããŸããã
Thread.setDefaultUncaughtExceptionHandler(...);
ãã³ãã©ãŒã䜿çšããŸããããã¯ãäŸå€åãã³ã³ãœãŒã«ã«æžã蟌ã¿ãå¶åŸ¡ãããã©ã«ããã³ãã©ãŒã«æ»ãã ãã§ããããã®ã³ãŒãã¯ã¢ããªãã¯ã©ãã·ã¥ããåã«å®è¡ãããŠããŸããã§ããã
Crashlyticsããã®äŸå€ããã°ã«èšé²ããªãçç±ã調æ»ããããšããŠããŸããã ãã¶ããããçç±ã§ã...ç§ã¯ãã¡ããªãã¯ã³ã³ãœãŒã«ã§ãã€ãã£ãã¯ã©ãã·ã¥ã1ã2åèŠãã®ã§ãcrashlyticsã¯ãã€ãã£ãã¯ã©ãã·ã¥ããã°ã«èšé²ã§ããŸãããã©ãããããããã®å Žåã¯ããã§ã¯ãªãããšãèŠããŠããŸãã
@SpertsyanKMã¯ã©ãã·ã¥ã¯ndkã¬ãã«ã§çºçããŸãã Crashlytics NDKã©ã€ãã©ãªãè¿œå ããªãéããFirebaseã³ã³ãœãŒã«ã«ã¯ã©ãã·ã¥ã¯è¡šç€ºãããŸããã https://docs.fabric.io/android/crashlytics/ndk.html
ãæ°ã¥ãã®ãšããã Thread.setDefaultUncaughtExceptionHandler
ã¯JavaäŸå€ã®ã¿ããã£ããããŸãã
ä»æ¥RN0.59.5ã«ã¢ããã°ã¬ãŒãããŸããããã¯ã©ãã·ã¥ã¯åŒãç¶ãçºçããŸãã ãã®åé¡ã¯ãŸã ä¿®æ£ãããŠããŸããã
ããã«ã¡ã¯ãçãããç§ã¯0.59.5ã§åãåé¡ãæ±ããŠããŸããAndroidManifest.xmlã®androidïŒscreenOrientation = "portrait"ãåé€ããŠãã ããã ãããã«ã¯ã§ããã
@JeijieãŸã ããã«ã¯ãããŸããã§ãããããšã«ããã¯ã©ãã·ã¥ããŸããã
REDMI NOTE 4X Andââroid7.0ãšhuaweiHRY AL00A Android9ã§åãåé¡
AutomaticThread
SIGSEGV(SEGV_MAPERR)
1 #00 pc 000000000042c064 /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
2 #01 pc 0000000000429638 /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
3 #02 pc 0000000000429d28 /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
4 #03 pc 000000000041664c /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
5 #04 pc 00000000007ea4cc /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
6 #05 pc 00000000007eabcc /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
7 #06 pc 00000000007e0fec /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
8 #07 pc 00000000007ee4fc /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
9 #08 pc 00000000007ffdb8 /data/app/com.example.app-gUSG17yMVBByrSNhEo7j7A==/lib/arm64/libjsc.so [arm64-v8a]
10 #09 pc 0000000000083550 /system/lib64/libc.so (__pthread_start(void*)+36) [arm64-v8a]
11 #10 pc 00000000000241a0 /system/lib64/libc.so (__start_thread+68) [arm64-v8a]
12 java:
13 [Failed to get Java stack]
Galaxy S7 Edge / Android 7.0ã§ããReact-Nativeã®3ã€ã®ç°ãªãããŒãžã§ã³ïŒ0.58.4ã0.58.5ã0.59.5ïŒã§ãåãåé¡ãçºçããŸãã
ã¯ã©ãã·ã¥ã¯ä»ã®Androidããã€ã¹ã§ã¯æ€åºãããŠããŸããã
çŸåšããã®åé¡ãåé¿ããå¯äžã®è§£æ±ºçã¯ã32ãããã§ã®ã¿ã¢ããªããã«ãããããšã§ãã ãã ããPlayã¹ãã¢ã§ã¯32ãããã¢ããªã®ã¿ãåãå ¥ããããªããªãããããã®åé¡ã¯æåã®8æã«ä¿®æ£ããå¿ èŠããããŸãã
åãããšãäœéšããAndroid <= 7.0ïŒ8.0ã§ã¯ãªãïŒã®GalaxyS7ã«éå®ããŸãã 64ããããµããŒããæå¹ã«ããŠããçºçããŸãã
Gradleã®ããã©ã«ãèšå®ã®æç¹ã§ã¯ã64ãããããµããŒããããŠããŸããããããã§ãã¯ã©ãã·ã¥ãçºçããŸãã
`` `
defaultConfig {
applicationId _applicationId
minSdkVersion 16
targetSdkVersion 27
versionCode _versionCode
versionName _versionName
ndk {
abiFilters "armeabi-v7a"ã "x86"
}
packagingOptions {
exclude "lib/arm64-v8a/libgnustl_shared.so"
}
renderscriptTargetApi 27
renderscriptSupportModeEnabled true
vectorDrawables.useSupportLibrary = true /
multiDexEnabled true
}```
ããã§ãã1ã€ãåé¡ãäžéšã®Mediatekããã€ã¹ã§ãçºçããããšã«æ°ã¥ããŸãã
ã¢ã«ã«ãã«A5ïŒELSA6ïŒ
ã¢ã«ã«ãã«1x / TCL L9ïŒU5A_PLUS_4GïŒ
x64ããµããŒãããMediaTekSoCãåããä»ã®ããã€ãã®ããã€ã¹
ããã«ã¡ã¯ã ç§ãã¡ã¯ãããçºèŠããŸããïŒ
64ããããµããŒããåé€ãããšãã¯ã©ãã·ã¥ã¬ããŒããæ倧90ïŒ
åæžãããããšã確èªã§ããŸã
ããã¯ãŸã ããã€ãã®ããã€ã¹ã§èµ·ãã£ãŠããŸãã ããããçŸåšã®ãä¿®æ£ãã¯ç§ãä»ã§ããæåã®ããšã§ã
OnePlus 3ã§ãã¯ã©ãã·ã¥ããŸããã64ããããµããŒããåé€ããŠãå¹æã¯ãããŸããã ã¯ãªãŒã³ãªreact-nativeinitãããžã§ã¯ãã§ã¯ã©ãã·ã¥ããŸãïŒã¢ããªã®APKãéããšãã®ãšãã¥ã¬ãŒã¿ãŒã§ãïŒã
åãåé¡s7ãšããžã¢ã³ããã€ã7.0ããã³ãã«åå²ã§æ¬çªç°å¢ã§ã¯ã©ãã·ã¥ããä»ã¯å€§äžå€«ã®ããã§ã
ã·ã°ãã«11ïŒSIGSEGVïŒãã³ãŒã1ïŒSEGV_MAPERRïŒ
ããã¯ãã¬ãŒã¹ïŒ
ïŒ00 pc 000000000009e144
ïŒ01 pc 00000000000a4a70
ãã®åé¡ã¯ãWebkitãªããžããªã§ãã§ã«ç¢ºèªãããŠããŸãã æ°ãæåã«ãã®åé¡ãçºèŠãããšãã«ã³ã¡ã³ãããŸããïŒ https ïŒ
åªåã調æŽããããšã¯çŽ æŽãããããšã§ãã
æ³šïŒ Youiã§ã¯ãRNãéæšæºçãªæ¹æ³ã§äœ¿çšããŠããŸãã ç¬èªã®64ãããJSCãæ§ç¯ããŠããããããã®åé¡ã¯0.58ããã¯ããã«æ©ãçºçããŸããã
äžè¬çãªèŠå ã¯ãAndroid 6.0ãŸãã¯7.0ïŒã¬ãã«23ããã³24ïŒãšARM64ããã€ã¹ã®ããã§ãã
ãã®çµã¿åããã§æãäžè¬çãªããã€ã¹ã¯S7ã§ãã S7ãAndroid8ã«ã¢ããã°ã¬ãŒããããšãåé¡ãä¿®æ£ãããŸãã
Android ARM 64ããããšãã¥ã¬ãŒã¿ãŒã§ã¯ã©ãã·ã¥ãåçŸããŸããããAndroid ARMãšãã¥ã¬ãŒã¿ãŒã®ã€ã¡ãŒãžã¯äžå®å®ã§ãã°ããããæäœã§ããŸããã ãããã°ããS7ããããŸãããããAndroid7ã«ããŠã³ã°ã¬ãŒãããããšããŠããŸãããSamsungã§ã¯ãããç°¡åã«è¡ãããšã¯ã§ããŸããã
@ kmagiera ïŒ @ kudoããªãã¯æè¿JSCã®æ°ããããŒãžã§ã³ããªãªãŒã¹ããŸããã ãã®ãªãªãŒã¹ã§ãã®åé¡ãä¿®æ£ãããããšãæåŸ ããŠããŸããïŒ NDKããŒãžã§ã³ã®èª¿æŽã¯åœ¹ã«ç«ã¡ãŸããïŒ https://github.com/react-native-community/jsc-android-buildscripts/pull/95
@AndrewJackWebKitã»ãã¥ãªãã£ãããhttps://github.com/facebook/react-native/pull/24672ã®libc ++ _shared.soã®åé€
AFAIKãããŸããŸãªJSCã¯ã©ãã·ã¥ã¿ã€ãããããŸãã
ãã®åé¡ãå ±åãããããã«operationLinkDirectCallããã®ãã®ãããã°ã httpsïŒ//github.com/react-native-community/jsc-android-buildscripts/issues/84ãšããŠNPEããã®ãã®ããã
ãããã®ã»ãšãã©ã¯JITã«é¢é£ããŠããŸãã
JITã¯ã©ãã·ã¥ãã¹ã¯ã瀟å
ã§åçŸããã®ãé£ããããã©ãã«ã·ã¥ãŒãã£ã³ã°ãå°é£ã§ãã
ããã€ãã®æœåšçãªä¿®æ£ããããŸãããããããã¯ã©ãã·ã¥ã®åé¡ãæ¬åœã«è§£æ±ºãããã©ããã¯ããããããŸããã
ä¿®æ£ã®1ã€ã¯ã DFG_JITã
ã¢ããã¹ããªãŒã é¢é£ã®operationLinkDirectCallããã®ãŸã
æ°ããJSCïŒWebKitGTK 2.24ïŒã«ã¯ãå€ãã®JITã®å€æŽãå«ãŸããŠããŸãã ã¢ããã°ã¬ãŒãã圹ç«ã€å Žåã¯è©ŠããŠã¿ã䟡å€ããããŸãã
IMOã瀟å ã§ã®è€è£œãäžå¯èœãªå Žåã¯ãå®éšçãªãã«ããæäŸããããšãã§ããŸãã
ç§ã®èšç»ã¯ãJSCã®ã¢ããã°ã¬ãŒããç°¡åã«ããããšã§ããåçŽã«yarn add jsc-android@experiment
ã§ãã ããã¯RN0.60ã§çºçããã¯ãã§ãã
ãã®ã¡ã«ããºã ã«ãããå°ãªããšãã¯ã©ãã·ã¥ã®åé¡ãä¿®æ£ããããã®äžæ©ãèžã¿åºãããšãã§ããŸãã
äžæ¹ã§ãä¿¡é Œã§ããè€è£œã³ãŒããšç°å¢ãããã°åœ¹ã«ç«ã¡ãŸãã
ããšãã°ãreact-native-navigationããã®ãªããžããªããããŸãã ããã¯å€§ãã«åœ¹ç«ã¡ãŸãã
https://github.com/react-native-community/jsc-android-buildscripts/issues/84#issue -407898908
ã¯ã©ãã·ã¥ã¯ãAndroid9ãæèŒããPixel2ã§ãçºçããŸãã
APKã®å®è¡æã«ã¯ã©ãã·ã¥ãã°ãååŸããæ¹æ³ã¯ãããŸããïŒ ãããã®ã¯ã©ãã·ã¥ã«é¢ãã詳现æ
å ±ã®å
¥æãåãã§ãæäŒããããŠããã ããŸãããAndroidã®éçºã«ã€ããŠã¯ããããããŸããã
@quietbits ããããã®åé¡ã«é¢é£ãããã°ã®ã»ãšãã©ã¯ããŸã圹ã«ç«ã¡ãŸããããããã
adb logcat
ã䜿çšããŠã¯ã©ãã·ã¥ãçºçããã¿ã€ãã³ã°ãæ¢ããŸãâããã¯æ¬¡ã®ããã«ãªããŸãïŒãã°ã®å
é ãããããæœåºãããããæ£ç¢ºã§ã¯ãããŸããããæç²ã衚瀺ãããŠããããããã€ã³ãããŠããŸãã§ãïŒïŒ
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/heroqltetmo/heroqltetmo:8.0.0/R16NW/G930TUVU4CRI2:user/release-keys'
Revision: '14'
ABI: 'arm'
pid: 32435, tid: 32482, name: mqt_js >>> com.YOURAPP <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xcd
Cause: null pointer dereference
ãŸããéåžžããã°ã¯ããã¥ãŒã ã¹ããŒã³ãã«æžã蟌ãŸãããšèšãããŸãã
ãã¥ãŒã ã¹ããŒã³ãåãé€ãã«ã¯ã adb bugreport ./MySuperSpecialBugReport
ã䜿çšããŸããåŸè
ã®éšåã¯ãæããã«ç®çã®ãã¹ã§ãã
ããã¯zipãšããŠååŸããã解åããŠïŒã»ãšãã©ã®ããã€ã¹ã§ïŒ ./MySuperSpecialBugReport/FS/data/tombstones
ããããã¹ããšãã£ã¿ãŒã§ãã¥ãŒã ã¹ããŒã³ãéãããšãã§ããŸãã
ç¹°ãè¿ãã«ãªããŸããããããã®ã¯ã©ãã·ã¥ã®æ§è³ªãèãããšãããŸãæçã§ã¯ãããŸããã å°ãªããšãç§ãã¡ã®å Žåããããã¯éåžžmqt_jsã䜿çšããäœããã€ã³ã¿ã¢ãã¬ã¹ã«ãããŸãã ãŸãã32ãããã®ã¿ã®apkã§ãçºçããŸãïŒãã ããå¥åŠãªããšãäºæž¬ã§ããªãããšã¯å°ãªããªããŸãïŒã
===
@å·¥è€âããŸããŸãªJSCãããç°¡åã«è©ŠããŠããã®æ©èœã確èªã§ããããšãå¿ãã楜ãã¿ã«ããŠããŸãã ããã¯ããããŸã§ã®ãšããã0.59ã«ã¢ããã°ã¬ãŒãããéã®å®éã®åé¡ç¹ã§ãããéåžžã«é決å®çã§äºæž¬äžå¯èœãªã¯ã©ãã·ã¥ãçºçããŸãïŒããã¯ãç¹å®ã®ããã€ã¹ã§ã®ã¿çºçããå ŽåããããŸãïŒã
ã·ã³ããªãã¯ãªããã¯ãã¬ãŒã¹ãååŸããããã«ãç§ã¯adblogcatãšndk-stackãçµã¿åãããŠããŸãã
ããšãã°ãRN 059ã¹ããã¯JSCïŒ[email protected]ïŒããã³arm64-v8aABIãã¿ãŒã²ããã«ããŸãã
wget https://registry.npmjs.org/jsc-android/-/jsc-android-236355.0.0.tgz
tar xf jsc-android-236355.0.0.tgz
unzip package/dist/org/webkit/android-jsc/r236355/android-jsc-r236355.aar
adb logcat | ndk-stack -sym jni/arm64-v8a/libjsc.so
ãã®åé¡ã«é¢ããæŽæ°ã¯ãããŸããïŒ
Google Play 64 bit support policy.
ããã«ã64ããããåé€ããããšã¯è§£æ±ºçã§ã¯ãããŸããã 1 August 2019
åŸã«çšŒåããã¢ããªã«åœ±é¿ãäžããå¯èœæ§ããããŸãã ãã®åé¡ã«å¯Ÿããé©åãªè§£æ±ºçãå¿
èŠã§ãã @hramosããã«é¢ããæŽæ°ã¯ãããŸããïŒ æ³šæããŠãã ããã
ããã«ã¡ã¯ãçãããç§ã¯0.59.8ã§åãåé¡ãæ±ããŠããŸãã
ãã®åé¡ã«å¯Ÿããé©åãªè§£æ±ºçãå¿
èŠã§ãã
ããã«ã¡ã¯ã
ç§ã¯JSCã®ã¯ã©ãã·ã¥ã®åé¡ãšãjsc-android-buildscriptsã®å
±åç·šéè
ãæ¯æŽããŠããŸãã
RN 0.59 JSCã¯ãå®éã«ã¯jsc-android-buildscriptsããã®ãã®ã§ãã
ã¯ã©ãã·ã¥ã®åé¡ããã©ãã«ã·ã¥ãŒãã£ã³ã°ããã«ã¯ãã¯ã©ãã·ã¥ã®ããã¯ãã¬ãŒã¹ãå¿
èŠã§ãã
ããŸãããã°ã以äžã®æé ã«åŸã£ãŠããã¯ãã¬ãŒã¹ãååŸããããã«æçš¿ããŠãã ããã
ãã®åŸããã©ããŒã¢ããããŠæœåšçãªè§£æ±ºçãèŠã€ããããšãã§ããŸããã
ndk-buildãã€ã³ã¹ããŒã«
wget https://registry.npmjs.org/jsc-android/-/jsc-android-236355.0.0.tgz
tar xf jsc-android-236355.0.0.tgz
unzip package/dist/org/webkit/android-jsc/r236355/android-jsc-r236355.aar
adb logcat -c
adb logcat | ndk-stack -sym jni/arm64-v8a/libjsc.so
å€ãã®ã¯ã©ãã·ã¥ã¯SamsungS7ããæ¥ãŠããããã§ãã æ®å¿µãªãããS7ã¯æå
ã«ãããŸããã
ããŸãããã°ãããã«ãã©ãã«ã·ã¥ãŒãã£ã³ã°ãè¡ãããã«ããã€ãã®æçšãªæ
å ±ãååŸããŸãã
@marlonchalegre
@Kudoããã¯ãRN 0.59.8
æ°ãããããžã§ã¯ãã§ãããã®ã³ãã³ããå®è¡ããŠååŸãããã°ã§ãã
ãããã°ãã«ããšãªãªãŒã¹ãã«ãããã«ãããŠã¿ãŸãããããã°ã«ãã£ãŠjscãèªåã§ã³ã³ãã€ã«ãããšãã©ã¡ãã®å Žåãåãããã«èŠããŸããã
********** Crash dump: **********
Build fingerprint: âsamsung/heroltexx/herolte:7.0/NRD90M/G930FXXU1DQEL:user/release-keysâ
#00 0x00000000007e048c /data/app/com.testproj-2/lib/arm64/libjsc.so (WTFCrash+16)
WTFCrash
??:0:0
#01 0x00000000000be650 /data/app/com.testproj-2/lib/arm64/libjsc.so (_Z16WTFCrashWithInfoiPKcS0_i+24)
WTFCrashWithInfo(int, char const*, char const*, int)
??:0:0
#02 0x0000000000489f2c /data/app/com.testproj-2/lib/arm64/libjsc.so (operationLinkDirectCall+1120)
operationLinkDirectCall
??:0:0
#03 0x00000000001710f0 <anonymous:00000072adbff000>
Crash dump is completed
ç§ã¯æå ã«S7ãæã£ãŠããã®ã§ããããç解ããããã«ä»ã®äœããå®è¡ããŠã¿ãŠãã ããã
ç§ã®ææ¡ã¯ãJITãç¡å¹ã«ããŠJSCãåã³ã³ãã€ã«ããããšã§ãã OSã®ã»ãã¥ãªãã£ã¡ã«ããºã ãJITã«å¹²æžããå¯èœæ§ããããŸã
äºæž¬ã§ããªãæ¹æ³ã§ã®æäœã
@MalcolmScruggsãšåãã¯ã©ãã·ã¥ãã°ãåçŸããŸããã S7ã®å Žå-Android7.1.2-LineageOS14.1ã
RN0.59.8ããã³ææ°ããŒãžã§ã³ã®ãã¹ã¿ãŒãã©ã³ãã
ã¯ã©ãã·ã¥ãåçŸããããã«å€æŽã¯å¿ èŠãããŸããã ããã©ã«ãã®RNãã³ãã¬ãŒãã¯ãç»é¢ãå°ãã¿ããããåŸã«ã¯ã©ãã·ã¥ãããªã¬ãŒããŸãã
ããã«ãªããžããª-https ïŒ//github.com/AndrewJack/jsc_crash/tree/rn_master_branch
ã¯ã©ãã·ã¥ãã°ã¯README.mdã«ãã
次ã®ã¹ãããïŒJITãç¡å¹ã«ããŠç¬èªã®ããŒãžã§ã³ã®JSCãæ§ç¯ãã
誰ããæ°ããããŒãžã§ã³ã®Androidã§S7ãæã£ãŠããŠãããŠã³ã°ã¬ãŒããããå Žåã ããã¯ç§ãããããšã§ãïŒ
ãã®ãœãããŠã§ã¢ãããŠã³ããŒãããŸãã
ææ°ã®reactNative Masterã䜿çšãã @ Kudoã®ãã©ãŒã¯ãããŸãã¯no-jitã䜿çšãããšãã¯ã©ãã·ã¥ãåçŸã§ããŸããã
https://github.com/AndrewJack/jsc_crash/tree/no_dfg_jit
https://github.com/AndrewJack/jsc_crash/tree/no_jit
@AndrewJackããããããªãã¯ç§ã®å®éšãããã«ãããšãŠãéãããšã«
ãã£ãŒãããã¯ããå¯ãããã ãããããšãããããŸãããããã®ããŒãžã§ã³ã§ã¯ã©ãã·ã¥ãä¿®æ£ãããããšãç¥ã£ãŠãããšããã§ãããã
芪æãªãã
ç§ã¯2ã€ã®å®éšãããJSCããŒãžã§ã³ãæã£ãŠããŸãããããããããªãã®ããã«ã¯ã©ãã·ã¥ãä¿®æ£ããããšãã§ãããã©ããè©ŠããŠã¿ãŠãã ããã
ããã§ã®ç°¡åãªæé ïŒ
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
å®éšãããããŒãžã§ã³ã®1ã€ã¯ã1çš®é¡ã®JITãç¡å¹ã«ããããšã§ãã
ãããŠãã1ã€ã¯@matthargettããJITãå®å
šã«ç¡å¹ã«ããããšããå§ãããŸãã
2ã€ã®ããŒãžã§ã³ã§ã¯ã©ãã·ã¥ãä¿®æ£ãããå Žåã¯ãç§ã®èŠç¹ã«èšèŒãããŠããããã«ãå
šäœçãªããã©ãŒãã³ã¹ãšTTIã«ã€ããŠããã£ãŒãããã¯ããŠãã ããã
@å·¥è€ããããšãããããŸãïŒ ãããã®ãã«ãã§ã®åæGCã«ã€ããŠäœãç¥ã£ãŠããŸããïŒ 32ãããçãšã®éãã¯ã©ããã§èšåãããŠããã®ãèŠãŸãããããã¡ãããã®ã³ã¡ã³ãã¯ããèŠã€ãããŸããã ã¯ã©ãã·ã¥ãç¶ãå Žåã«åããŠãéã¶äŸ¡å€ã®ãããã1ã€ã®ããšãããããŸããã
@wbercx䞊è¡GCãŸãã¯äžŠè¡JSïŒäžŠè¡JITïŒãæå³ããŸããïŒ
ããã©ã«ãã§ã¯ã䞊è¡GCã¯arm64ãšx64ã§ã®ã¿æå¹ã«ãªã£ãŠããŸãã
䞊è¡GCã¯ãã¯ã©ãã·ã¥ã®åé¡ãšã¯é¢ä¿ããªãå ŽåããããŸãã JITã«é¢é£ããã®ã§ã¯ãªããããŒã管çã«é¢ããå¯èœæ§ããããŸãã
äž¡æ¹ã®ãã«ãã§åæJSãç¡å¹ã«ãªã£ãŠããŸãã
ïŒããã©ã«ãã§ã¯ã ENABLE(DFG_JIT) && USE(JSVALUE64)
ã«å¯ŸããŠã®ã¿æå¹ã«ãªããŸãïŒ
ãšããã§ãJavaScriptCoreã®JITã¯è€éã§ãç§ã¯ãã®å°é家ã§ã¯ãããŸããã
ç§ãééã£ãŠããå Žåã¯ãé æ
®ãªãææããŠãã ããã
@Kudo no-jit
ãšno-dfg-jit
å®éšçãªJSCããŒãžã§ã³ãè©ŠããŸããããã¯ã©ãã·ã¥ãåçŸã§ããŸããã§ããã ããã¯ã @ AndrewJackãå ±åããå
容ãš
ç§ã¯ãããåºæ¬çãªãããžã§ã¯ãã§è©ŠããŠããã®ã§ãããã©ãŒãã³ã¹ãžã®åœ±é¿ã«ã€ããŠã³ã¡ã³ãããããšã¯ã§ããŸããã
ç§ã¯ããã€ãã®ããå€ãã®æ
å ±ãæã£ãŠããŸããç§ã¯ãã®ã¯ã©ãã·ã¥ãèŠãŠããŸãïŒ
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒS7ïŒããã«ãïŒãAndroid 7.0
Oppo F7ïŒCPH1819ïŒãAndroid 8.1
0.58.5ã§ãçºçããŸãã ã®ã£ã©ã¯ã·ãŒS7ã Android6.0ã 32ããããã«ãã«èšå®ããŠãæ©èœããŸããã
32ãããã«æ»ããåŸãã¯ã©ãã·ã¥ã¯ããã§ãçºçããŠããŸã
@MalcolmScruggsäž¡æ¹ã®å®éšããŒãžã§ã³ãã¯ã©ãã·ã¥ãä¿®æ£ããã®ãèããŠ
ç§ã¯DFG_JITãç¡å¹ã«ããããšãèããŠããŸããå°ãªããšãJITãªãã·ã§ã³ã¯å€ãJSCãšäžèŽããŠããŸãã
@Kudo圱é¿ãåããããã€ã¹/ CPUã®ã¿ã«DFG_JIT
ãç¡å¹ã«ãããšããä¿®æ£ãã¿ãŒã²ããã«ããããšãèšç»ããŠããŸããïŒ
誰ããããã€ãã®ã¯ã©ãã·ã¥ãä¿®æ£ããŠããReactNativeã®æåŸã®ããŒãžã§ã³ïŒ0.59.8ïŒãè©ŠããŸãããïŒãªãªãŒã¹ããŒãã«èšèŒãããŠããŸãïŒïŒ
https://github.com/facebook/react-native/releases
誰ããããã€ãã®ã¯ã©ãã·ã¥ãä¿®æ£ããŠããReactNativeã®æåŸã®ããŒãžã§ã³ïŒ0.59.8ïŒãè©ŠããŸãããïŒãªãªãŒã¹ããŒãã«èšèŒãããŠããŸãïŒïŒ
https://github.com/facebook/react-native/releases
ç§ã®å Žåã0.59.8ã䜿çšããŠããŸããããä»ã«äœãæ©èœããŠããªãããã ã£ãã®ã§ããã®åŸ0.57.8ã«æ»ããŸããã ãã®ãã°ã¯ãã¢ããªãéããšããã«ã¯ã©ãã·ã¥ãããããç¹ã«æªãã§ãã ç§ã®ã¢ããªã¯ã¬ãã¥ãŒã§ããªãã®ãã¢ã«ãããããŸããã
ãããã®ããã€ã¹ã«ã¯ä¿¡å·11ã®ã¯ã©ãã·ã¥ããããŸãããã¡ã¢ãªã®å Žæã瀺ããŠããã ãã§ãã
äžè¬çãªã¢ãã€ã«GM8Go-Android 8.1
Motorola Moto E-Android 7.1
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒA6 + -Android 8.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒã°ã©ã³ããã©ã€ã ãã-Android8.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒã¿ãS2-Android8.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒJ5ãã©ã€ã -Android8.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒJ6-Android8.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒJ7ããã¯ã¹-Android8.1
ãããã®ããã€ã¹ã¯ã == / lib / arm64 /libjsc.soã®ãããªãšã©ãŒã§è¡šç€ºãããããã§ãã ç§ã¯ãããäœãæå³ããã®ããç¥ãã®ã«ååãªå éšã®ä»çµã¿ã«ã€ããŠç¥ããŸããããããŸãããã°ããã圹ç«ã€ã§ãããã
Huawei Y9-Android 8.1
Oppo RMX1811-Android 8.1
Oppo R15-Android 8.1
Motorola Moto X-Android 9.0
Nokia 3-Android 8.1
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒããŒã9-Android9.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒS9-Android9.0
Xaomi Redmi Note 5 Pro-Android 8.1
@ harryt2ã®ãªã¹ãã«ããã€ãã®ããã€ã¹ãè¿œå ã§ããŸãã
ã·ã°ãã«11ã¯ãã¡ã¢ãªäœçœ®ã®ã¿ã§ã¯ã©ãã·ã¥ããŸãã
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒããŒã9-Android9.0
Huawei Honor 8X-Android 9.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒA7ïŒ2018ïŒ-Android 9.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒS9-Android9.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒA6 + -Android 9.0
ããã¢ããã¢8-Android9.0
Huawei Huawei P30 lite-Android 9.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒããŒã8-Android9.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒA9-Android8.0
ãµã ã¹ã³ã®ã£ã©ã¯ã·ãŒS7-Android8.0
..ã
ãªã¹ãã¯ãæ倧65ã®ç°ãªãããã€ã¹ãš7.0ãã9.0ãŸã§ã®AndroidããŒãžã§ã³ã§ç¶ããŸãã
ãã®ããã€ã¹ã§ã¯ããšã©ãŒãåžžã«çºçãããšã¯éããŸããã ããããã°ãŒã°ã«ãã¬ã€ã§å ±åãããç§ã®ã¢ããªã±ãŒã·ã§ã³ã®ã¯ã©ãã·ã¥çã0.57.8ãã0.59.5ãžã®ã¢ããããŒãåŸã«0.16ïŒ ãã1.02ïŒ ã«å€ãã£ãã®ã§ãããã¯æ¬åœã®æžå¿µã§ãã
0.57.8ïŒ
0.59.5ïŒ
ç§ã¯Androidéçºã®å°é家ã§ã¯ãªãããã®ã¯ã©ãã·ã¥ãã©ãããæ¥ãŠããã®ãç解ããŠããŸããã 圹ã«ç«ã£ãããããå°ãããŒã¿ãæäŸã§ããŸãã
ç§ãã¡ã®ãããžã§ã¯ãã®@ntorionã¯ã
çŸæç¹ã§ããã«å¯Ÿãã解決çã¯ãããŸããïŒ
ç§ã¯2ã€ã®ç°ãªãã®ã£ã©ã¯ã·ãŒããŒã9ã§ãã¹ãããŸããããã¹ãŠã®é»è©±ã¯ããã«ã¯ã©ãã·ã¥ããŸã
{"dependencies": {
"axios": "^0.18.0",
"prop-types": "^15.7.2",
"react": "16.8.3",
"react-native": "0.59.8",
"react-native-gesture-handler": "^1.2.1",
"react-native-iphone-x-helper": "^1.2.0",
"react-native-linear-gradient": "^2.5.4",
"react-native-vector-icons": "^6.4.2",
"react-navigation": "^3.11.0",
"react-redux": "^7.0.3",
"reactotron-react-native": "^3.5.2",
"reactotron-redux": "^3.1.0",
"reactotron-redux-saga": "^4.2.2",
"realm": "^2.27.0",
"redux": "^4.0.1",
"redux-saga": "^1.0.2",
"reduxsauce": "^1.1.0",
"seamless-immutable": "^7.1.4",
"styled-components": "^4.2.0"
},
"devDependencies": {
"@babel/core": "^7.4.5",
"@babel/runtime": "^7.4.5",
"babel-eslint": "^10.0.1",
"babel-jest": "^24.8.0",
"babel-plugin-root-import": "^6.2.0",
"eslint": "^5.16.0",
"eslint-config-airbnb": "^17.1.0",
"eslint-import-resolver-babel-plugin-root-import": "^1.1.1",
"eslint-plugin-import": "^2.17.2",
"eslint-plugin-jsx-a11y": "^6.2.1",
"eslint-plugin-react": "^7.13.0",
"eslint-plugin-react-native": "^3.7.0",
"jest": "^24.8.0",
"metro-react-native-babel-preset": "^0.54.1",
"react-test-renderer": "16.8.3"
}}
@dudusoteroã¯@Kudoåœä»€ã䜿çšããŸãhttps://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
@matpaul @Kudoãã®jsã³ã¢ã®å®éšçãªãã«ãã§åé¡ã解決ããããã«èŠããããšã確èªã§ããŸãïŒSamsung s7ã§ãã¹ãæžã¿ïŒã
ãã®ãã¬ãŒã¹ã«é¢é£ããã¯ã©ãã·ã¥ã¯ãAndroidã§0.58.6
ã«ããŠã³ã°ã¬ãŒããããšè§£æ¶ãããŸããã 57.6
ã«ããŠã³ã°ã¬ãŒãããããšãèšç»ããŠããŸãããã 58.6
ãããä¿®æ£ãããããã§ãïŒãã ãã Androidã®åé¡ã軜æžããå¿
èŠãããããªãªãŒã¹ã®ããã«æåã§ãã«ãããå¿
èŠããããŸãïŒã
@å·¥è€
芪æãªãã
ç§ã¯2ã€ã®å®éšãããJSCããŒãžã§ã³ãæã£ãŠããŸãããããããããªãã®ããã«ã¯ã©ãã·ã¥ãä¿®æ£ããããšãã§ãããã©ããè©ŠããŠã¿ãŠãã ããã
ããã§ã®ç°¡åãªæé ïŒ
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17å®éšãããããŒãžã§ã³ã®1ã€ã¯ã1çš®é¡ã®JITãç¡å¹ã«ããããšã§ãã
ãããŠãã1ã€ã¯@matthargettããJITãå®å šã«ç¡å¹ã«ããããšããå§ãããŸãã
2ã€ã®ããŒãžã§ã³ã§ã¯ã©ãã·ã¥ãä¿®æ£ãããå Žåã¯ãç§ã®èŠç¹ã«èšèŒãããŠããããã«ãå šäœçãªããã©ãŒãã³ã¹ãšTTIã«ã€ããŠããã£ãŒãããã¯ããŠãã ããã
@å·¥è€ããªãã®èŠç¹ã§ãè¿°ã¹ãããã«ãç§ã¯ããã§2ã€ã®èŠ³å¯ãããŸãã
@kudo-ci/jsc-android@241213-no-dfg-jit
äŸåé¢ä¿ã§ãã³ã°ããŸãã@kudo-ci/jsc-android@241213-no-jit
äŸåé¢ä¿as of now
ã§æ£åžžã«åäœããŠãããTTIã¯ä»¥åã®ãã«ããšåã/ç®ç«ããªããŸãŸã§ããå·¥è€ã no_dfg_jit
ã«å¯ŸããŠãã¹ããããšãã«ã¢ããªããã³ã°ããŠããããšã«æ°ä»ããã®ã§ããã«ãªã¯ãšã¹ãã¯ãããä¿®æ£ããã®ã«ååã§ããïŒ
ããã§ããã€ãã®æŽæ°ïŒ
ãã€ãã£ãã¯ã©ãã·ã¥ãS7ãšããžã§ç°¡åã«çºçãããã©ããã¯æ¬åœã«çãããã§ãããä»ã®ã¢ããªã±ãŒã·ã§ã³ããã®ãããªåé¡ã«çŽé¢ããŠããã¯ãã§ãã
ã¬ããã£ïŒ
ããã¹ãAPIã䜿çšããGooglePlayãµãŒãã¹ã«ã¯ãã®åé¡ããããŸããããOSSã®ä¿®æ£ã¯ãããŸããã§ãã
Monoã¯S7Exynos bit.LITTLEarchã§ã¯ã©ãã·ã¥ã®åé¡ãçºèŠããŸããããããä¿®æ£ã§ãã
JavaScriptCoreã¯ARM64Assemblerã§__clear_cache
ããŸããã
ä»é±åŸåã«__clear_cacheã«ããããé©çšããããã®å¥ã®å®éšçãªãã«ãããããŸãã
__clear_cache
ãä¿®æ£ããå®éšçãªãã«ãã®æºåãã§ããŸããã
æé ã¯ä»¥åãšåãã§ãããç°ãªãnpmäŸåé¢ä¿ã䜿çšããã ãã§ãã
yarn add '@kudo-ci/jsc-android@241213-fix-clear-cache-dfg'
ããã³ããŒãžã§ã³241213.8000.0
確èªæžã¿adb logcatïŒããã§ãœãŒã¹ã³ãŒããåç
§ïŒyarn add '@kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg'
ããã³ããŒãžã§ã³241213.9000.1
確èªæžã¿adb logcatïŒããã§ãœãŒã¹ã³ãŒããåç
§ïŒç³ãèš³ãããŸããããã¯ã©ãã·ã¥ã®åé¡ãå床確èªããããšã¯ã§ããŸããããåºæ¬çãªæ©èœã確èªããããã ãã§ãã
å¯èœã§ããã°ã2ã€ã®å®éšJSCã®ãã¹ãã«ãååãã ããã
ã©ããããããšãããããŸãããä»åã¯å¹žéãç¥ããŸãã
cc @AndrewJack @MalcolmScruggs @tijs @ishantsagar @timhatch
@Kudo @kudo-ci/jsc-android@241213-fix-clear-cache-dfg
ãš@kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
äž¡æ¹ã䜿çšãããã¹ããã«ãã«é¢ãããã£ãŒãããã¯ããããŸããã
äž¡æ¹ã®ãã¹ããã«ãã¯ãSamsung Galaxy S7 Edge / Android 7.0ã§ãããŸã§ã®ãšããã¯ã©ãã·ã¥ããªãããã§ãïŒãããŸã§ã®ãšãããåé¡ã®çµã¿åããïŒ
@Kudo React-Native 0.59.8
ãå®è¡ããŠããåºæ¬çãªãããžã§ã¯ãã§@kudo-ci/jsc-android@241213-fix-clear-cache-dfg
ãš@kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
äž¡æ¹ãè©ŠããŸããããã©ã¡ãã®ããŒãžã§ã³ã§ãã¯ã©ãã·ã¥ã¯çºçããŠããŸããã ç§ã¯Android7.0ã®SamsungGalaxyS7ã§ãã¹ãããŸããïŒ
[ro.product.board]: [universal8890]
[ro.product.brand]: [samsung]
[ro.product.cpu.abi]: [arm64-v8a]
[ro.product.cpu.abilist]: [arm64-v8a,armeabi-v7a,armeabi]
[ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist64]: [arm64-v8a]
[ro.product.device]: [herolte]
[ro.product.first_api_level]: [23]
[ro.product.locale]: [en-GB]
[ro.product.manufacturer]: [samsung]
[ro.product.model]: [SM-G930F]
[ro.product.name]: [heroltexx]
@Kudoææ°ã®@kudo-ci/jsc-android@241213-fix-clear-cache-dfg
ãè©ŠããŸããããReact Native 0.59.8ã®JSCã§çºçãããã®ãšåæ§ã«ãSamsung Galaxy S5ïŒSM-G900FïŒã§ã¯ã©ãã·ã¥ãçºçããŸããã
JITã®ãªãããŒãžã§ã³ã¯å®å
šã«æ©èœããŠããïŒ @kudo-ci/jsc-android@241213-no-jit
ïŒãã¢ããªãéçãŸã§æŒã蟌ãã ã«ããããããããã®ããŒãžã§ã³ã§ã¯ã©ãã·ã¥ã¯çºçããŠããŸããã ã ããä»ã¯ããã䜿ãç¶ãããšæããŸãã
ãã¥ãŒããŒãžã£ãŒã§ReactRootViewsã䜿çšããŠãããããreact-nativeã€ã³ã¹ã¿ã³ã¹ãé »ç¹ã«äœæããã³ç Žæ£ããŸãããããããã®ã¯ã©ãã·ã¥ã®ããªã¬ãŒã«ãªã£ãŠããããã§ãã ããããããããç§ãã¡ããã®åé¡ã«æãé »ç¹ã«ééããŠããçç±ã§ãã çŸåšããã¥ãŒããŒãžã£ãŒã®ã¢ãããŒããåæ€èšããŠããŸããããããŸã§ã®éããã®ã¯ã©ãã·ã¥ãã°ãã圹ã«ç«ãŠã°å¹žãã§ãã ïŒããŒãžã§ã³241213.8000.0
ãreact-native 0.59.8çšã§ãïŒ
A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x66 in tid 16184 (mqt_js)
D/InputReader: Input event: value=1
I/InputReader: Touch event's action is 0x0 (deviceType=0) [pCnt=1, s=0.1239 ] when=8467503214000
I/InputDispatcher: Delivering touch to (1173): action: 0x4, toolType: 1
I/InputDispatcher: Delivering touch to (16117): action: 0x0, toolType: 1
I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG: Build fingerprint: 'samsung/kltexx/klte:5.0/LRX21T/G900FXXU1BOH4:user/release-keys'
I/DEBUG: Revision: '14'
I/DEBUG: ABI: 'arm'
I/DEBUG: pid: 16117, tid: 16184, name: mqt_js >>> uk.co.thetimes.debug <<<
I/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x66
I/DEBUG: r0 00000036 r1 8cc43b20 r2 8e558040 r3 fffffffb
I/DEBUG: r4 00000000 r5 91800000 r6 8c752df0 r7 92efea88
I/DEBUG: r8 fffffffb r9 8cce0000 sl 91a08821 fp fffffffc
I/DEBUG: ip 8c752df0 sp 92efe8e0 lr 91d970a9 pc 91ea6502 cpsr 600b0030
I/DEBUG: backtrace:
I/DEBUG: #00 pc 004a7502 <unknown>
I/DEBUG: #01 pc 003980a7 <unknown>
æ²ããããšã«ãç§ãã¡ã¯ãã§ã«ããã«ããããæã£ãŠããŸããã
Playã¹ãã¢ãã64ããããã«ããååŸããŸããã ããã¯64ããããã«ãã§ã®ã¯ã©ãã·ã¥ãšã¯ãŸã£ããé¢ä¿ããªããããããŸããããarmeabi-v7aãã«ããå®è¡ããŠããGalaxy S7ããã€ã¹ã¯ã以äžã®ããã«å€ãã¯ã©ãã·ã¥ããŠããŸãã èµ·åçŽåŸã
ä»ã®ããã€ã¹ãšæ¯èŒããŠS7ã«ã€ããŠäœããããªã«éãã®ãæ¬åœã«çåã«æããŸãã
Version Code: 10000036 Version Name: 2.3.4 Android: 8.0.0 Android Build: R16NW Manufacturer: samsung Model: SM-G930F Date: undefined com.facebook.react.bridge.UnexpectedNativeTypeException: TypeError: expected dynamic type `double', but had type `null' at com.facebook.react.bridge.ReadableNativeMap.getIntNative at com.facebook.react.bridge.ReadableNativeMap.getInt at com.facebook.react.g.a.a at com.facebook.react.modules.core.ExceptionsManagerModule.reportSoftException at java.lang.reflect.Method.invoke(Method.java:-2) at com.facebook.react.bridge.JavaMethodWrapper.invoke at com.facebook.react.bridge.JavaModuleWrapper.invoke at com.facebook.react.bridge.queue.NativeRunnable.run at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage at android.os.Looper.loop(Looper.java:164) at com.facebook.react.bridge.queue.MessageQueueThreadImpl$4.run at java.lang.Thread.run(Thread.java:764)
ãããå éšã§ç¢ºèªããäžéšã®ã¹ã¿ã€ãªã³ã°ããããã£ãæ¡ä»¶ä»ãã§nullãè¿ããŠããããšã«æ°ä»ããŸããã ãããåé€ããæ¡ä»¶ä»ãã§styleããããã£ãè¿œå ããã ãã§ãåæ§ã®äŸå€ãä¿®æ£ãããŸããããã€ãã£ãã¢ãžã¥ãŒã«ã¿ã€ãã§äœããèµ·ãã£ãŠããå¯èœæ§ããããŸããïŒ
@tuncaulubilgeæ
å ±ãããããšãã
ãµã ã¹ã³S5ïŒSM-G900FïŒãarmïŒarm64ã§ã¯ãªãïŒã¢ãŒããã¯ãã£ã§ããããšãå確èªããã ãã§ãããïŒ
adb shell getprop ro.product.cpu.abi
確èªã§ããŸã
ã¯ã©ãã·ã¥ãã°ãããããã¯è
ã®ããã§ãã
ãããããªããæ ¹æ¬çãªåå ã¯ãããšã¯å¥ã®è©±ã«ãªãã¯ãã ãšæããŸãã
no-dfg-jitããŒãžã§ã³ãã€ãŸã@kudo-ci/jsc-android@241213-no-dfg-jit
ãŸãã¯@kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
ãã¹ãããããšããããŸããïŒ
ãããã®2ã€ã®ããŒãžã§ã³ã¯arm32ã§åãã§ããå¿
èŠããããã©ã¡ããããã¹ãããã ãã§æžã¿ãŸãã
@å·¥è€UPDATE
å ã®åé¡ïŒ[æä»çã«] Samsung S7 Edge + Android 7.0ã§ã®ã¢ããªã±ãŒã·ã§ã³ã®èµ·åæã«ç¹°ãè¿ãçºçããã¯ã©ãã·ã¥ïŒã«ã€ããŠéçºè ã³ã³ãœãŒã«ããå ±åãããããã¯ãã¬ãŒã¹ã¯ã次ã®ããã«ãªããŸãã
#00 pc 00000000007e048c /data/app/org.ifsc.boulder14-1/lib/arm64/libjsc.so (WTFCrash+16)
#01 pc 00000000000be650 /data/app/org.ifsc.boulder14-1/lib/arm64/libjsc.so (_Z16WTFCrashWithInfoiPKcS0_i+24)
#02 pc 0000000000489f2c /data/app/org.ifsc.boulder14-1/lib/arm64/libjsc.so (operationLinkDirectCall+1120)
#03 pc 00000000002149a8 <unknown>
å
ã®åé¡ã¯ã次ã®åãã«ãã§ä¿®æ£ãããŠããããã§ãã
@kudo-ci/jsc-android@241213-no-jit
@kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
@kudo-ci/jsc-android@241213-fix-clear-cache-dfg
ãã ãããããã®æåŸã®ïŒ @kudo-ci/jsc-android@241213-fix-clear-cache-dfg
ïŒã«ã€ããŠãå¥ã®ããã€ã¹ãšå¥ã®ããã¯ãã¬ãŒã¹ã§2åãå¥ã®ã¯ã©ãã·ã¥ãåºæ¿ããããšãã§ããŸããã
#00 pc 00000000004886ac /data/app/org.ifsc.boulder14-ECb5NhJUQgyp_UkWAZLdKg==/lib/arm64/libjsc.so (operationLinkDirectCall+176)
#01 pc 000000000043ad90 <anonymous>
ç§ã¯ãã¹ãã¢ããªã2åã¯ã©ãã·ã¥ãããŸããããæ¯ååã眲åã§ã¯ã©ãã·ã¥ã¯äœç³»çã«åçŸã§ãããèµ·åæã§ã¯ãªããã¹ãã¢ããªã®ç°ãªãç»é¢éã®ããã²ãŒã·ã§ã³äžã«çºçããŸãã é¢é£ããããã€ã¹ãæå ã«ããã®ã§ã次ã®ããã«èªã¿åãããã€ã¹ããããå®å šãªãã¬ãŒã¹ãåŒãåºãããšãã§ããŸããã
05-29 15:39:06.132 9361 9361 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1c
05-29 15:39:06.132 9361 9361 F DEBUG : Cause: null pointer dereference
05-29 15:39:06.132 9361 9361 F DEBUG : x0 0000007363fc4900 x1 000000735b75a000 x2 0000000000000004 x3 0000000000000000
05-29 15:39:06.132 9361 9361 F DEBUG : x4 000000736470caa0 x5 e805b658e92d4328 x6 0000007368dfc8f0 x7 0000000000000000
05-29 15:39:06.132 9361 9361 F DEBUG : x8 0000000000000007 x9 0000000000000000 x10 0000007364d39d80 x11 0000000000000040
05-29 15:39:06.132 9361 9361 F DEBUG : x12 0000007364d39d80 x13 000000000000b324 x14 00000000ffdaeb75 x15 00000073609a09c0
05-29 15:39:06.132 9361 9361 F DEBUG : x16 000000736a1515fc x17 00000073647121a8 x18 0000000000000002 x19 000000735b75a000
05-29 15:39:06.132 9361 9361 F DEBUG : x20 0000007368dfca10 x21 0000007363f0c070 x22 0000007364700000 x23 0000000000000004
05-29 15:39:06.132 9361 9361 F DEBUG : x24 0000000000000000 x25 0000000000000007 x26 0000000000000000 x27 ffff000000000000
05-29 15:39:06.132 9361 9361 F DEBUG : x28 ffff000000000002 x29 0000007368dfca10
05-29 15:39:06.132 9361 9361 F DEBUG : sp 0000007368dfc920 lr 000000736a1516ac pc 000000736a1516ac
05-29 15:39:06.154 9361 9361 F DEBUG :
05-29 15:39:06.154 9361 9361 F DEBUG : backtrace:
05-29 15:39:06.154 9361 9361 F DEBUG : #00 pc 00000000004886ac /data/app/org.ifsc.boulder14-ECb5NhJUQgyp_UkWAZLdKg==/lib/arm64/libjsc.so (operationLinkDirectCall+176)
05-29 15:39:06.154 9361 9361 F DEBUG : #01 pc 000000000043ad90 <anonymous:00000073648ff000>
ãããŠ
05-29 15:10:13.010 7853 7853 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1018
05-29 15:10:13.010 7853 7853 F DEBUG : x0 00000073642c6c40 x1 0000007359684500 x2 0000000000001000 x3 0000000000000000
05-29 15:10:13.010 7853 7853 F DEBUG : x4 00000073008a3030 x5 000000000000006d x6 00000000ffffffff x7 cb010063d1004021
05-29 15:10:13.010 7853 7853 F DEBUG : x8 0000000000000007 x9 0000000000000000 x10 00000073651159c0 x11 0000000000000040
05-29 15:10:13.010 7853 7853 F DEBUG : x12 00000073651159c0 x13 000000736a744558 x14 000000736249dc00 x15 000000736928a2e8
05-29 15:10:13.010 7853 7853 F DEBUG : x16 000000736a1575fc x17 0000007364a121a8 x18 0000000000000045 x19 0000007359684500
05-29 15:10:13.010 7853 7853 F DEBUG : x20 000000736928a2a0 x21 0000007362fb7700 x22 0000007364a00000 x23 0000000000001000
05-29 15:10:13.010 7853 7853 F DEBUG : x24 0000000000000000 x25 0000000000000007 x26 0000000000000000 x27 ffff000000000000
05-29 15:10:13.010 7853 7853 F DEBUG : x28 ffff000000000002 x29 000000736928a2a0
05-29 15:10:13.010 7853 7853 F DEBUG : sp 000000736928a110 lr 000000736a1576ac pc 000000736a1576ac
05-29 15:10:13.024 7853 7853 F DEBUG :
05-29 15:10:13.024 7853 7853 F DEBUG : backtrace:
05-29 15:10:13.024 7853 7853 F DEBUG : #00 pc 00000000004886ac /data/app/org.ifsc.boulder14-ECb5NhJUQgyp_UkWAZLdKg==/lib/arm64/libjsc.so (operationLinkDirectCall+176)
05-29 15:10:13.024 7853 7853 F DEBUG : #01 pc 00000000005169d8 <anonymous:0000007364bff000>
ããã圹ç«ã€ãã©ããã¯ããããŸããããAndroidã§ã®ã¯ã©ãã·ã¥ã®ãããã°ãšè§£éã¯ç§ã以åã«è¡ã£ãããšã§ã¯ãããŸãã
@å·¥è€ãããç§ã®çºèŠã§ãïŒ
ãµã ã¹ã³S5ã¯armeabi-v7a
ã§ãã ç§ã¯ããªããæäŸãã4ã€ã®éžæè¢ãã¹ãŠãè©ŠããŸããããjitã®ãªããã®ãå¯äžã®ã¯ã©ãã·ã¥ã®ãªããã®ã®ããã§ãã dfgãç¡å¹ã«ãããšãã¯ã©ãã·ã¥çã倧å¹
ã«äœäžããŸãããããã§ãã¯ã©ãã·ã¥ããå¯èœæ§ããããŸãã
Pixel XLïŒ arm64-v8a
ïŒã§ããã¹ãããŠããŠã kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
ãŸã ã¯ã©ãã·ã¥ã¯çºçããŠããŸããããæ ¹æ¬çãªåå ãèããããããããã€ãšã³ãããã€ã¹ã§ã¯ã©ãã·ã¥ãåçŸããã®ã¯å°é£ã§ããã¡ã¢ãªã®è² è·ãäœãããšã
ç·æ¬ããïŒ
@kudo-ci/jsc-android@241213-no-jit
ïŒããã¯äž¡æ¹ã®ããã€ã¹ã§ã¯ã©ãã·ã¥ããªãŒã§ã
@kudo-ci/jsc-android@241213-fix-clear-cache-no-dfg
ïŒããã¯ããŒãšã³ãã®ããã€ã¹ã§ã¯ã¯ã©ãã·ã¥ãããã€ãšã³ãã®ããã€ã¹ã§ã¯åçŸã§ããŸããã§ãã
@kudo-ci/jsc-android@241213-fix-clear-cache-dfg
ïŒããã¯ãããŒãšã³ãããã€ã¹äžã®ä»ã®ãã«ããããé »ç¹ã«ã¯ã©ãã·ã¥ããŸãã ïŒã¹ããã¯RN 59 jscãããåªããŠããŸãïŒ
@kudo-ci/jsc-android@241213-no-dfg-jit
ïŒããã¯ããŒãšã³ãããã€ã¹ã§ãã¯ã©ãã·ã¥ããŸããããã€ãšã³ãã§ã¯ãã¹ãããŠããŸããã
jitã䜿çšããªããã«ãã§ããã¹ããã¯JSCãããããªãé«éã§ããããã @kudo-ci/jsc-android@241213-no-jit
ã䜿çšããããšãèšç»ããŠãããæ¬çªç°å¢ã«å¯Ÿå¿ã§ããããšã確èªããããã«ããã«ãã¹ããè¡ããŸãã
ãšããã§ããã¹ãŠã®å©ãã«æè¬ããŸãã ç§ãäœãå©ãã«ãªãããšãã§ãããã©ããç§ã«ç¥ãããŠãã ãã
@ timhatch @ tuncaulubilgeçŽ æŽãããäœç³»çãªãã¹ããšãã£ãŒãããã¯ãããããšãã
ä»ã®ãšãããç§ã¯æ¬åœã«åé¡ã解決ããèãããããŸããã
DFGãç¡å¹ã«ããããšãã__ clear_cacheãä¿®æ£ããããšããããå©ããŸããã
ããã«ãã¯ã©ãã·ã¥ã¯arm32ã§ãçºçããŸãïŒæ ¹æ¬çãªåå ã¯arm64ãšã¯ç°ãªãå ŽåããããŸãïŒ
ç§ã®å人çãªæèŠã§ã¯ãå°ãªããšãæåã«ã¯ã©ãã·ã¥ã®ãªãJSCãããããšã確èªããããã«ãããã©ã«ãã§JITããŸã£ããç¡å¹ã«ããããšæããŸãã
ãšããã§@tuncaulubilge @kudo-ci/jsc-android@241213-no-jit
ãã¹ããã¯JSCãããéãããšãã©ã®ããã«æž¬å®ããŸãããïŒ
ãã³ãããŒã¯ã®çµæãããno-jitããŒãžã§ã³ã®åäœã¯å°ãé
ããªãã®ã§èå³ããããŸãã
@Kudoã¢ããªã®èµ·åæéãšã¡ã¢ãªäœ¿çšéã枬å®ããŸãããïŒ ç§ã¯åžžã«ãããã2ã€ã®ã¡ããªãã¯ãJITãªãã®æ¹ãè¯ããšæã£ãŠããŸããã ã»ãšãã©ã®ã¢ããªã¯UIãéããããJITãå®éã®ã¢ããªã§å€§ããªã¡ãªããããããããã©ããã¯ããããŸããããããã£ãŠãèµ·åãšã¡ã¢ãªäœ¿çšéãæ¹åãããå Žåã¯ãJITãç¡å¹ã«ããŠããããšããå§ãããŸãã ãŸããJITãªãã§JSCã®ãã£ã¹ã¯ãããããªã³ããå°ãããªããã©ãããç¥ãããã§ãã
@å·¥è€
ãããã®ãã¹ããã«ãã§è¡ã£ãããã«__clear_cacheãä¿®æ£ãããšãç¶æ³ã¯ç¢ºå®ã«æ¹åãããŸãããä¿®æ£ã«ããå¯äœçšãããŸã æããã§ã¯ãªãããè€éãªçžäºäœçšããããŸãã ããã¯èšã£ãŠãã -fix-clear-cache-dfg
ãã¹ãã¢ããªãåã³ã¯ã©ãã·ã¥ãããããšã¯ã§ããŸããã§ããã @tuncaulubilgeãèšãããã«ãåäœã¯ã¡ã¢ãªã®è² è·ããã®ä»ã®èŠå ã«äŸåããŠããå¯èœæ§ããããŸãã
JITãå®å šã«ç¡å¹ã«ããããšã¯ãã¯ã©ãã·ã¥ããªãŒããªãã·ã§ã³ã®ããã§ãããã®ãªãã·ã§ã³ã«ããããã©ãŒãã³ã¹ã®äœäžã«ã¯æ°ä»ããŠããªãã®ã§ããå®å šãªãéžæã«ãªããŸãã
@Kudoæ確ã«ããããã«ãç§ã¯React-Native 0.58.6ïŒã«ã¹ã¿ã jscãã€ã³ã¹ããŒã«ãããŠããªãïŒãš@kudo-ci/jsc-android@241213-no-jit
0.59.8ãæ¯èŒããŠããŸããã
枬å®ã¯è¡ã£ãŠããŸããããããã©ãŒãã³ã¹ã®åäžã¯éåžžã«é¡èã§ãã ããªããèšã£ãããã«ã no jit
ããŒãžã§ã³ã¯[email protected]
ããå°ãé
ããšæããŸãããããã¯æ¯èŒãããšç¡èŠã§ããŸãã å®å®æ§ã®åäžã¯ãjitããåŸããããã€ããŒãªããã©ãŒãã³ã¹ã®åäžã倧å¹
ã«äžåã£ãŠãããããããã©ã«ãã®ãªãã·ã§ã³ãšããŠno-jit
ããŒãžã§ã³ã䜿çšããããšããå§ãããŸãã
Expo v32ã䜿çšããŠã¢ããªããã«ãããŠããŸãããAndroidã®ããŒãžã§ã³ãšããã€ã¹ã§ãã®ãšã©ãŒãçºçããŠããŸãã
@ tido64TTIã«å€§ããªéãã¯ãããŸããã ãã€ããªãµã€ãºã¯no_dfgããŒãžã§ã³ããçŽ1MBæžå°ããŸãã ã¡ã¢ãªã¯çŽ48ïŒ
æžå°ããŸãã
JITãå®å
šã«ç¡å¹ã«ããPRãéä¿¡ããŸãããã枬å®çµæããããŸãã
https://github.com/react-native-community/jsc-android-buildscripts/pull/108
@timhatch__clear_cacheã®ä¿®æ£ãå°ã圹ç«ã€ãšèããŠ
æ ¹æ¬çãªåå ãbig.LITTLEã«ããã®ã§ã¯ãªãããšçã£ãŠããŸãããåé¡ãåŒãèµ·ããä»ã®JSCã³ãŒãã¯ãŸã èŠã€ãããŸããã§ããã
SamsungS5ãšS7ã¯ã©ã¡ããbig.LITTLEãš2ã€ã®CPUã»ããã®ãã£ãã·ã¥ã©ã€ã³ãµã€ãºãç°ãªããŸãã
ãµã ã¹ã³ããŒã5ã§ã¯ã©ãã·ã¥ãåçŸã§ããªãã£ãã®ã¯ã2ã€ã®CPUã»ããã®ãã£ãã·ã¥ã©ã€ã³ãµã€ãºãäž¡æ¹ãšã64Bã§ãããããããããŸããã
OSã¹ã±ãžã¥ãŒã©ãšJSCãå®è¡æã«å€§ããª<-> LITTLECPUéã§ç§»è¡ã§ãããã©ããã¯ããããŸããã
ãããæ¬åœã§ãããªãã°ãåé¡ã¯ãã®æã«ç¹ã«èµ·ãããããããŸããã
@tuncaulubilgeããã¯ç§ã«ãšã£ãŠå¥œå¥å¿ã匷ãã§ãã
ããªãã¯ç§ã®PRããã§ãã¯ããããšãã§ããŸããno-jitããŒãžã§ã³ã¯åšåº«RN058JSCããé
ãã§ãã
ããã¯ç§ã枬å®äžã«æãããã®ã§ããããŸãã
ãããããã³ãããŒã¯ã¯æ¥µç«¯ãªã±ãŒã¹ã§ããã以åã®RNã¢ããªãšã¯ããªãç°ãªããŸãã
ãšããã§ããã€ããªãµã€ãºãšã¡ã¢ãªãµã€ãºãããŒãžããããŒãžã§ã³ããæžå°ããŠããã®ãèŠãŸããã
ãããã®2ã€ã®å©ç¹ãšã¯ã©ãã·ã¥ã®ãªãããšã¯ãç§ã«ãšã£ãŠããåççã§ãã
@RomanovYurii 32ãããã®ãµããŒãã®ã¿ãæäŸããããšã«ãããbuild.gradleã®defaultConfigãããã¯ã®ndkabiFiltersãã64ãããã®ndkãã£ã«ã¿ãŒãarm64-v8aãããx86_64ããåé€ãããšãã ã¯ã©ãã·ã¥ã¯ãªããªããŸãããã Google 64ããããµããŒãã®çŸ©åã«åŸã£ãŠãããã¯64ãããndkãµããŒãã§ä¿®æ£ããå¿ èŠããããŸãã
@dishantwalia @Kudoç¡å¹JITã¯64ãããã§åäœãããããŸã§ã®ãšããããã©ãŒãã³ã¹ã®åé¡ã¯èŠãããŸããã
ãã®èŠç¹ã¯ç§ã®ããã«åããhttps://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
芪æãªãã
no-JITJSCãjsc-androidnpmã«å
¬éãã以åã®èŠç¹ãjsc-android@next
ã䜿çšããããã«ä¿®æ£ããŸããã
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
ããŸãããã°ããã¹ãŠã®ã¯ã©ãã·ã¥ã®åé¡ãä¿®æ£ããŸãã
ããã©ãŒãã³ã¹ã倧å¹
ã«äœäžããªãå Žåã¯ãJITãªãã®ããŒãžã§ã³ã@latestããŒãžã§ã³ãšããŠæ£åŒã«ææ¡ããPRãéä¿¡ããŠæ°ããRNã«çµã¿èŸŒã¿ãŸãã
芪æãªãã
no-JITJSCãjsc-androidnpmã«å ¬éãã以åã®èŠç¹ã
jsc-android@next
ã䜿çšããããã«ä¿®æ£ããŸããã
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
ããŸãããã°ããã¹ãŠã®ã¯ã©ãã·ã¥ã®åé¡ãä¿®æ£ããŸãã
ããã©ãŒãã³ã¹ãå€§å¹ ã«äœäžããªãå Žåã¯ãJITãªãã®ããŒãžã§ã³ã@latestããŒãžã§ã³ãšããŠæ£åŒã«ææ¡ããPRãéä¿¡ããŠæ°ããRNã«çµã¿èŸŒã¿ãŸãã
ããããšã@ Kudodisable -jitã¯é åã®ããã«æ©èœããŸã!!!
倧å€ãªåªåãããŠããã@Kudoã«æè¬ããŸãïŒ 241213.2.0ã¯ãã¯ã©ãã·ã¥ã解決ããããã§ãã æ®å¿µãªãããããã©ãŒãã³ã¹ãžã®åœ±é¿ã¯ããªãéèŠã§ãã å¿ããç»é¢ã®äžéšã«ããããŒãšã³ãããã€ã¹ã§ã¯ãjs fpsã20ã30ïŒ æžå°ããããšãããããŸããã
ã¯ã©ãã·ã¥ããªããªã£ãããšã確èªã§ããŸãããããŒãšã³ãããã€ã¹ã®ããã©ãŒãã³ã¹ãããªãäœäžããŠããŸãã ããçŸä»£çãªJSCã®ããã«RN58 / RN59ã«ã¢ããã°ã¬ãŒãããã®ãåŸ ã£ãŠããããšãèãããšãéåžžã«æ®å¿µã ãšèšããããåŸãŸããã
@kudoã®ææªã®ã·ããªãªã§ã¯ãjitã¯64ãããããŒãžã§ã³ã§ã®ã¿ç¡å¹ã«ããå¿ èŠãããã64ããã察å¿ããã€ã¹ã®ã¿ãã¯ã©ãã·ã¥ããŸã
@yendaãã®ãã«ããä¿®æ£ã«ãªã£ãå Žåã¯ããã®ãªãã·ã§ã³ãyesã«ãããšããã§ãããã ãããã©ãã»ã©é£ãããããããªãã ããŸãããã°ãããã¯JSCã®2ã€ã®ããŒãžã§ã³ãåºè·ããããšãæå³ããªãã§ããã
@benoitdion @ItsNoHaxããã©ãŒãã³ã¹ã®äœäžãèŠãããç¹å®ã®ããã€ã¹ããªã¹ãã§ããŸããïŒ ããããšãïŒ
ãšãããNexus5ãšSamsungTabEã§ãã¹ããããŠããŸãã
RNãããžã§ã¯ãã59.xã«ã¢ããã°ã¬ãŒãããGoogle瀟å¡ã®å Žåã android/app/build.gradle
-> android {defaultConfig {versionName}}ãreact-native-code-pushã§æå®ãããããŒãžã§ã³ãšäžèŽããŠããªãããšã確èªããŠãã ããã
ç§ã¯åãåé¡ã§çŽ3æ¥éèŠåŽããŸããããåŸã§v59.3ã§ã¢ããã°ã¬ãŒãããReact Nativeãããžã§ã¯ãããReact Nativev54.7ãå«ãã³ãŒãããã·ã¥ã«ãã£ãŠæŽæ°ãããŠããããšãããããŸããã
ããã¯90ïŒ ã®äººã ã«åœãŠã¯ãŸããªãã¯ãã§ãã ããããç§ã®ãããªäººã«ãšã£ãŠã¯ãæéãç¯çŽã§ããŸãã
ãã®åŸã@ Kudoã«æè¬ããŸãã ã¯ã©ãã·ã¥ã®åé¡ãä¿®æ£ããŸããã
Huawei Honor8Xã«ããã®åé¡ããããŸã
ã¯ã©ãã·ã¥ããªããªã£ãããšã確èªã§ããŸãããããŒãšã³ãããã€ã¹ã®ããã©ãŒãã³ã¹ãããªãäœäžããŠããŸãã ããçŸä»£çãªJSCã®ããã«RN58 / RN59ã«ã¢ããã°ã¬ãŒãããã®ãåŸ ã£ãŠããããšãèãããšãéåžžã«æ®å¿µã ãšèšããããåŸãŸããã
ãã£ã¡ãäžç·ã Androidã®å€ãRNã¯é ããŠã¯ã©ãã·ã¥ããæ°ããRNã¯éããŠã¯ã©ãã·ã¥ããŸããããã®ä¿®æ£ã«ãããæ°ããRNã¯å®å®ããŠé ããªããŸãã Androidã§ã¯ãã¹ãŠãæã«å ¥ããããšã¯ã§ããªãããã§ãã ð
芪æãªãã
JITã䜿çšããªãããŒãžã§ã³ã§ã¯ãããã©ãŒãã³ã¹ãäœäžããããšããè©«ã³ç³ãäžããŸãã
ç³ãèš³ãããŸããããçŸåšè§£æ±ºçã¯ãããŸããã
åçŸã§ããªãã£ãåé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã¯å°é£ã§ãã
ããŸãããã°ãã³ãã¥ããã£ã®èª°ããåé¡ãæãèµ·ããã®ãæäŒã£ãŠãããã§ãããã
JSC for RNã¯ã httpsïŒ//github.com/react-native-community/jsc-android-buildscriptsã®OSS
https://github.com/react-native-community/jsc-android-buildscripts/blob/master/scripts/start.sh#L10ã®è¡ã®ã³ã¡ã³ãã解é€ããããšã§ãããã°ãã«ããæå¹ã«ããããšããµããŒãããŠã
ãã€ãã£ãã«ãããã°ããããã«gdbãŸãã¯lldbãã¢ã¿ãããããšãããã€ãã®æããããåŸãããå¯èœæ§ããããŸãã
ã¯ã©ãã·ã¥ã¯https://trac.webkit.org/browser/webkit/releases/WebKitGTK/webkit-2.22.6/Source/JavaScriptCore/jit/JITOperations.cpp#L1067ã®äžéšã®RELEASE_ASSERTã«éåããå¯èœæ§ããããŸãããåé¡ãã©ã®ããã«é²è¡ããŠãããã¯ããããŸããç¶æ
ã«ã
ãããšjsc-android-buildscripts
@ Kudoã«ãååããã ãããããšãããããŸãã ããªãã®é²æ©ã«ç¶ããŠããã¯çŽ æŽãããã§ãïŒ ç§ãã¡ïŒãã®åé¡ãç£èŠããŠããã³ãã¥ããã£ïŒãæ¯æŽã§ããããšã¯ãããŸããïŒ @tuncaulubilgeã¯ã»ãŒå®å®ããåçŸã±ãŒã¹ãæã£ãŠãããš
ãã¶ããå éšã®Facebookã®react-nativeããŒã ã«ã¯jscã®å°é家ãããŸããïŒ
ç§ã¯ãã®åé¡ã«çŽé¢ããã°ããã§ãããREAL DEVICEãLENOVO A701a48ãRUNNING ANDROID6ã§ã®ã¿çºçããŸãã
ãã"arm64-v8a", "x86_64"
ãåé€ãã
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
}
ããã解決ããŸããããå°ãããã¯ãæããŸããã
RNã®ããŒã ããã®ã¢ããããŒããããã«ããããšãé¡ã£ãŠããŸã:(
芪æãªãã
ãããããããç§ã®æåŸã®è©Šã¿ã§ã-æ°ããWebKitããŒãžã§ã³ã䜿çšããããšã§ãã
@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
ã¯WebKitGTK 2.24.2ã«åºã¥ããŠãããããŒã¹ã©ã€ã³JITã¯ãããŸãããDFGJITã¯ãããŸããã
泚ç®ãã¹ãå€æŽã¯ãæ°ããWebKitãJITãã€ãã³ãŒã圢åŒãå€æŽããããšã§ãã
x86ã®JITã¯ãµããŒããããŠããããarmeabi-v7a JITãµããŒãã¯ã³ãã¥ããã£ããã®ãã®ã§ãïŒIgaliaã«æè¬ïŒã
ã¯ã©ãã·ã¥ã¯arm64ã§ã®ã¿çºçãããããæ°ããããŒãžã§ã³ã¯è©ŠããŠã¿ã䟡å€ããããŸãã
ãã®ããŒãžã§ã³ãçµ±åããããã®è©³çŽ°ãªæé ã¯ã httpsïŒ //gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17#file-steps_for_webkitgtk_2_24_2-mdã«ãã
泚ç®ãã¹ãå€æŽã¯ããšããããšã§ã241213 -> 245459
以åJSCããŒãžã§ã³ãããšæã£ãŠããããšã確èªããŠãã ãã245459.9000.0
ADBãã°ã«ã
ãã®å®éšãããJSCã®æ€èšŒã«ãååãã ããã
ä»åã¯éãè¯ãã£ããšæããŸãã ð€
@benoitdionããªãã®å±ãŸãã«æè¬â€ïž
@å·¥è€@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
ã¯åé¡ãªãåäœããŸãïŒ
äžèšã®JSCã䜿çšãããšãRNv0.59ã§çºçããŠããã¯ã©ãã·ã¥ã解æ¶ãããããšã確èªã§ããŸãã Google Nexus 6ã§ãã¹ãæžã¿ã§ããã®ä»ã¯ããŒã«ã¢ãŠãåŸã«ç¢ºèªãããŸãã
ããããšãïŒ
@å·¥è€@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
ãç§ã«ã䜿ããããšã確èªã§ããŸãã 以åã«RNv0.59ã§çºçãã no-jit
ãŸãã¯jsc-android v241213.2.0
ä¿®æ£ãããSamsung Galaxy S7SM-G930FDã§ã¯ã¯ã©ãã·ã¥ã¯çºçããŸããã
ä»ã®ãããžã§ã¯ãã®ãã€ã«ã¹ããŒã³ãéªéã«ãªã£ãŠããããããã®æ°ãããã«ããçµ±åããæ©äŒã¯ãŸã ãããŸããããããããéªéã«ãªããªãããã«ãªã£ããããã«çµ±åããäºå®ã§ãã
@Kudoã®å
ã®no-dfg
ãã«ãã¯ãç§ãèŠãã¯ã©ãã·ã¥ã®99ïŒ
ãä¿®æ£ãã1åã®ã¯ã©ãã·ã¥ãåºæ¿ããããšã¯ã§ããŸãããããããç¹°ãè¿ãããšã¯ã§ããŸããã§ããã
@tuncaulubilgeã¯ãå
ã®no-dfg
ãã«ãã§ã¯ã©ãã·ã¥ãåçŸã§ãããšæããŸãããããã£ãŠã圌ããã®æ°ãããã«ãã§äœãäœæããããèŠãã®ã¯èå³æ·±ãããšã§ãã
@rimzici @ dishantwalia @ timhatchãååããã ãããããšãããããŸãã
@tuncaulubilgeæéãããã°ãææ°ã®å®éšããŒãžã§ã³ã確èªããã®ãæäŒã£ãŠããã ããŸãããïŒ
IIRCãååã 241213
-fix-clear-cache-no-dfgãããã®ã¯ã©ãã·ã¥ãå ±åããã®ã¯ããªããš@timhatchã ãã§ãã
ããŸãããã°ãæŽæ°ãããããŒãžã§ã³ã§ã¯ã©ãã·ã¥ãä¿®æ£ã§ããŸãã
ããããšãããããŸããã
@å·¥è€Error when loading lib: dlopen failed: "/data/data/com.amiclient.qa/lib-main/librealmreact.so" is 32-bit instead of 64-bit lib hash: 28b81ed6ba5d3bb31c51509ac8150cd4 search path is /data/app/com.amiclient.qa-1/lib/arm64
ZTE BladeãSamsung S8ãOnePlus 6ã«@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
ãçµ±åããåŸããã®åé¡ãçºçããŸããMotorolaZ2Android7.1.1ã§ã®ã¿ãã«ããéå§ãããŸããã
@å·¥è€
Error when loading lib: dlopen failed: "/data/data/com.amiclient.qa/lib-main/librealmreact.so" is 32-bit instead of 64-bit lib hash: 28b81ed6ba5d3bb31c51509ac8150cd4 search path is /data/app/com.amiclient.qa-1/lib/arm64
ZTE BladeãSamsung S8ãOnePlus 6ã«@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
ãçµ±åããåŸããã®åé¡ãçºçããŸããMotorolaZ2Android7.1.1ã§ã®ã¿ãã«ããéå§ãããŸããã
ããã¯realm
é¢é£ããŠããããã§ãhttps://github.com/realm/realm-js/issues/2261#issuecomment-468691502ã確èªããŠ
https://github.com/realm/realm-js/issues/2221
@å·¥è€ããäžåºŠãçŽ æŽãããä»äºãããããšãïŒ æ®å¿µãªãããç§ã¯æ°ãããããžã§ã¯ãã«ç§»åããå€ããããžã§ã¯ãã«ã¢ã¯ã»ã¹ã§ããªããªããŸããã ç§ã¯å€ãããŒã ã¡ã€ãã«é£çµ¡ãåãã誰ãã«ãããè©ŠããŠãããããã«ããŸãã
ç¹ã«reactRootView.unmountReactApplication
ã§ã¯ã©ãã·ã¥ãçºçããã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãããªã¬ãŒãããã¯ã©ãã·ã¥ãçºçããããšããããŸããã ReactRootViewsãäœæããã³ç Žæ£ããŠããµã³ãã«ã¢ããªã§åçŸã§ããå ŽåããããŸãã
@å·¥è€
Error when loading lib: dlopen failed: "/data/data/com.amiclient.qa/lib-main/librealmreact.so" is 32-bit instead of 64-bit lib hash: 28b81ed6ba5d3bb31c51509ac8150cd4 search path is /data/app/com.amiclient.qa-1/lib/arm64
ZTE BladeãSamsung S8ãOnePlus 6ã«@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
ãçµ±åããåŸããã®åé¡ãçºçããŸããMotorolaZ2Android7.1.1ã§ã®ã¿ãã«ããéå§ãããŸãããããã¯
realm
é¢é£ããŠããããã§ãrealm / realm-jsïŒ2261ïŒã³ã¡ã³ãïŒã確èªããŠãã ãã
ã¬ã«ã /ã¬ã«ã -jsïŒ2221
ã©ããããããšãããããŸãïŒ ã¬ã«ã ã2.28ã«æŽæ°ããå¿
èŠããããŸããã
@å·¥è€ããããšã
@Kudo以åã®ãã¹ããšåããã«ãæ§æã§ã以åã«åœ±é¿ãåããã¢ããªã®ããŒãžã§ã³ãåãã«ãããŸãããã @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
ãŸãã
ãããŸã§ã®ãšãããã¯ã©ãã·ã¥ããã³ã°ã¯çºçããŠããŸãããé±æ«ã«ã¢ããªã«ã¹ãã¬ã¹ããããåé¡ãçºçããå Žåã¯å ±åã§ãããã©ããã確èªããŸãã
@timhatchã©ããããããšãããããŸããããããŠé±æ«ã«æéããããŠãã ããã
次åã¯ããªãããã®è¯ããã¥ãŒã¹ãèãããã«æã亀差ãããŸãã
ãããã§ãã«ãã§ããŸããã FBSDKãã次ã®ãšã©ãŒãçºçããŸãã
ãã
ã¿ã¹ã¯ïŒreact-native- fbsdkïŒcompileReleaseJavaWithJavacã倱æããŸãã
/ Users / waltermonecke / Documents / Code / React-Native2 / moodPixel / node_modules / react-native-fbsdk / android / src / main / java / com / facebook / reactnative / androidsdk / FBAppEventsLoggerMod
uleã javaïŒ209 ïŒãšã©ãŒïŒã·ã³ãã«ãèŠã€ãããŸãã
@ReactMethodïŒisBlockingSynchronousMethod = trueïŒ
^
ã·ã³ãã«ïŒã¡ãœããisBlockingSynchronousMethodïŒïŒ
å ŽæïŒ @interface ReactMethod
泚ïŒäžéšã®å
¥åãã¡ã€ã«ã¯ãéæšå¥šã®APIã䜿çšãŸãã¯ãªãŒããŒã©ã€ãããŸãã
泚ïŒè©³çŽ°ã«ã€ããŠã¯ã -XlintïŒdeprecationãåã³ã³ãã€ã«ããŠãã ããã
泚ïŒ/Users/waltermonecke/Documents/Code/React-Native2/moodPixel/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.javaã¯ããã§ãã¯ãããŠããªãããŸãã¯å®å
šã§ãªãæäœã䜿çšããŸãã
泚ïŒè©³çŽ°ã«ã€ããŠã¯ã -XlintïŒuncheckedã䜿çšããŠåã³ã³ãã€ã«ããŠãã ããã
1ãšã©ãŒ
倱æïŒãã«ãã¯äŸå€ã§å€±æããŸããã
ãã
@wmoneckeãã®åé¡ã¯ç§ã«ã¯å¥åŠã«æããŸãã JSCAARã®Javaã³ãŒããgradleã®äŸåé¢ä¿ã«ã¯è§ŠããŸããã§ããã
åé¡ã確èªãããããããã®é©çšæ¹æ³ãç°¡åã«èª¬æããŠãã ããã
誀ã£ãŠå€ãRNäŸåé¢ä¿ã䜿çšããŠãããšæããŸã
./gradlew :app:dependencies | grep 'com.facebook.react:react-native:'
確èªã§ããŸãïŒè¿ãããRNããŒãžã§ã³ãæåŸ
ã©ããã§ããããšã確èªããŠãã ããïŒã
ãããã§ãã«ãã§ããŸããã FBSDKãã次ã®ãšã©ãŒãçºçããŸãã
Task :react-native-fbsdk:compileReleaseJavaWithJavac FAILED /Users/waltermonecke/Documents/Code/React-Native2/moodPixel/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerMod ule.java:209: error: cannot find symbol @ReactMethod(isBlockingSynchronousMethod = true) ^ symbol: method isBlockingSynchronousMethod() location: <strong i="7">@interface</strong> ReactMethod Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: /Users/waltermonecke/Documents/Code/React-Native2/moodPixel/node_modules/react-native-fbsdk/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 error FAILURE: Build failed with an exception.
@wmoneckeã³ã³ãã€ã«ããã«ã¯ãïŒreact-nativeãš
Maven {
//ãã¹ãŠã®ReactNativeïŒJSãObj-CãœãŒã¹ãAndroidãã€ããªïŒã¯npmããã€ã³ã¹ããŒã«ãããŸã
url "$ rootDir /../ node_modules / react-native / android"
}
Maven {
// Androidçšã«æ§ç¯ãããJSCã©ã€ãã©ãªãåããAARãå«ãããŒã«ã«Mavenãªããžããª
url "$ rootDir /../ node_modules / @ kudo-ci / jsc-android / dist"
}
@å·¥è€@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
åé¡ãããŸããã ã¢ããªã±ãŒã·ã§ã³ããã³ã°ãããã¯ã©ãã·ã¥ãããããããšã¯ãããŸããã
@å·¥è€
@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
åé¡ãããŸããã ã¢ããªã±ãŒã·ã§ã³ããã³ã°ãããã¯ã©ãã·ã¥ãããããããšã¯ãããŸããã
@Kudoãã®ä¿®æ£ãjsc-android-buildscripts
ããã·ã¥ããŠãããŒãžã§ã³ãå
¬éããŠãã ããã ãã®ããããããæ¬çªã¢ããªhttps://github.com/react-native-community/jsc-android-buildscriptsã§å±éã§ã
@timhatchçŽ æŽãããïŒ ç¹ã«ããªãã®æ€èšŒã«æè¬ããŸãã JSCã®å€æŽãããã«RNã«ããã·ã¥ããŸãã
@dishantwaliaã¯ããé²è¡äžã§ãã ããããšãããããŸããã
ããã«åãçµãã§ããã
ç§ã¯çŸåšRN0.59.9ã䜿çšããŠããŸãã å€æŽãå
¬éããããšãRNã®æŽæ°ããŒãžã§ã³ã0.59.10ã®ããã«å©çšå¯èœã«ãªããŸããããããšã代ããã«jsc-android-buildscripts
ããµãŒãããŒãã£ããã±ãŒãžãšããŠã€ã³ã¹ããŒã«ããããã¥ã¡ã³ãã«åŸã£ãŠ0.59xã§å®è£
ããå¿
èŠããããŸããïŒ
@å·¥è€ååã®ããŒãžã§ã³ã§ãåé¡ãããŸããã ãããä»äºïŒ ðª
@Kudoã«æè¬ããŸãã jacquesdevã0.59.10ãŸãã¯jsc-android-buildscripts
å°ããŠããã®ãšåã質åããããŸããïŒ
@å·¥è€@dishantwalia
ããããšãïŒ ç§ã¯ãã å®ã£ãŠããïŒ
maven {
// workaround for crash on 64 bit devices - remove once RN 59+ has resolved issue.
// issue: https://github.com/facebook/react-native/issues/24261
url "$rootDir/../node_modules/@kudo-ci/jsc-android/dist"
}
build.gradleã䜿çšãã
@Kudoæ®å¿µãªãããåé¡ã¯ãŸã ãããŸãïŒGalaxy S7ãAndroid7ïŒã @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
ãè©ŠããŸããã
JITãªãã®ããŒãžã§ã³ãè©ŠããŸãããã圹ã«ç«ã¡ãŸããã§ããã æå®ããgrepã䜿çšããŠãJavaScriptCoreãããŒãžã§ã³ãadblogcatã«åºåãããããã«ããããšã¯ã§ããŸããã§ããããŸããæåã§èª¿ã¹ãŠãããã°èªäœã«JavaScriptCoreã«ã€ããŠã®èšåã¯ãããŸããã§ããã
ã¯ã©ãã·ã¥ãé »ç¹ã«åçŸã§ããŸãã åžžã«åãå Žæã§ã¯ã©ãã·ã¥ãããšã¯éããŸããã
ãšã©ãŒã¯æ¬¡ã®ãšããã§ãïŒ245459-fix-clear-cache-no-dfgïŒïŒ
06-26 13:56:22.982 4374 4521 W google-breakpad: Chrome build fingerprint:
06-26 13:56:22.982 4374 4521 W google-breakpad: 3.0.70
06-26 13:56:22.982 4374 4521 W google-breakpad: 30070
06-26 13:56:22.982 4374 4521 W google-breakpad: ### ### ### ### ### ### ### ### ### ### ### ### ###
06-26 13:56:22.984 4374 4521 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0xafca in tid 4521 (mqt_js)
06-26 13:56:22.986 3075 3075 W : debuggerd: handling request: pid=4374 uid=10169 gid=10169 tid=4521
06-26 13:56:23.089 3769 5715 D SSRM:k : SIOP:: AP = 430, PST = 398 (W:6), CP = 318, CUR = -104, LCD = 99
06-26 13:56:23.154 4557 4557 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
06-26 13:56:23.156 4557 4557 F DEBUG : Build fingerprint: 'samsung/hero2ltexx/hero2lte:7.0/NRD90M/G935FXXU1ZPL3:user/release-keys'
06-26 13:56:23.156 4557 4557 F DEBUG : Revision: '8'
06-26 13:56:23.156 4557 4557 F DEBUG : ABI: 'arm64'
06-26 13:56:23.157 4557 4557 F DEBUG : pid: 4374, tid: 4521, name: mqt_js >>> com.myapp <<<
06-26 13:56:23.157 4557 4557 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xafca
06-26 13:56:23.157 4557 4557 F DEBUG : x0 000000000000a01a x1 0000000000000000 x2 00000079f6a30000 x3 0000007a05afe748
06-26 13:56:23.157 4557 4557 F DEBUG : x4 0000000000000000 x5 0000000000000010 x6 ffff000000000002 x7 0000000000009ab0
06-26 13:56:23.158 4557 4557 F DEBUG : x8 0000007a045acd6c x9 0000000000000002 x10 0000000000000001 x11 0000000000000000
06-26 13:56:23.158 4557 4557 F DEBUG : x12 0000000000000fff x13 00000079df7ed2b8 x14 00000079f6973890 x15 0000000000000001
06-26 13:56:23.158 4557 4557 F DEBUG : x16 00000079f6a59a30 x17 0000007a1ae56058 x18 000000000045b4fb x19 0000007a05afe7f0
06-26 13:56:23.158 4557 4557 F DEBUG : x20 0000007a05afe750 x21 00000079f6a3a6b8 x22 0000007a1ae4b000 x23 00000079f693cf50
06-26 13:56:23.158 4557 4557 F DEBUG : x24 0000000000000000 x25 00000079df415e10 x26 0000000000000001 x27 ffff000000000000
06-26 13:56:23.158 4557 4557 F DEBUG : x28 ffff000000000002 x29 0000007a05afe750 x30 0000007a045ac890
06-26 13:56:23.158 4557 4557 F DEBUG : sp 0000007a05afe640 pc 0000007a045a27e4 pstate 0000000040000000
06-26 13:56:23.173 4557 4557 F DEBUG :
06-26 13:56:23.173 4557 4557 F DEBUG : backtrace:
06-26 13:56:23.173 4557 4557 F DEBUG : #00 pc 00000000001647e4 /data/app/com.test.app-1/lib/arm64/libjsc.so
06-26 13:56:23.173 4557 4557 F DEBUG : #01 pc 000000000016e88c /data/app/com.test.app-1/lib/arm64/libjsc.so
06-26 13:56:23.173 4557 4557 F DEBUG : #02 pc 000000000016ebf0 /data/app/com.test.app-1/lib/arm64/libjsc.so
06-26 13:56:23.173 4557 4557 F DEBUG : #03 pc 000000000016ed8c /data/app/com.test.app-1/lib/arm64/libjsc.so
06-26 13:56:23.173 4557 4557 F DEBUG : #04 pc 0000000000005ecc <anonymous:00000079eb5f9000>
ããã¯ãã¬ãŒã¹ã¯æå³ã®ããããšãäœãèšã£ãŠããŸããã
ãŸããGalaxy S7ã«ã¯å ¬åŒã®Android7ããããŸãããããã¯ãAndroid8ããããŠã³ã°ã¬ãŒãã§ããªãã£ãããïŒAndroid8ã§åé¡ãçºçããªãã£ãããïŒãAndroid7ããµããŒãããã«ã¹ã¿ã ROMãèŠã€ããå¿ èŠããããŸããã
jsc-android-buildscriptsã§ã®æåŸã®ã³ãããã䜿çšããŠãç¬èªã®ãããã°ããŒãžã§ã³ã®jsc-androidãã³ã³ãã€ã«ããããšèª¿æ»ããŠããŸããããã°ããæéãããããŸãã
åãåé¡ãçºçããŠãããšæããŸãã
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 0 >>> com.groundspeak.react.adventures <<<
backtrace:
#00 pc 00000000007e048c /data/app/com.groundspeak.react.adventures-1/lib/arm64/libjsc.so
#01 pc 00000000000be650 /data/app/com.groundspeak.react.adventures-1/lib/arm64/libjsc.so
#02 pc 0000000000489f2c /data/app/com.groundspeak.react.adventures-1/lib/arm64/libjsc.so
#03 pc 000000000025fd98 <anonymous>
AndroidããŒãžã§ã³å¥ïŒ
ããŒãžã§ã³| çªå·| ããŒã»ã³ã
-| -| -
Android 7.0 | 66 | 100.0ïŒ
ããã€ã¹å¥ïŒ
ããã€ã¹| çªå·| ããŒã»ã³ã
-| -| -
hero2lte | 26 | 39.4ïŒ
ããã«ã| 24 | 36.4ïŒ
heroltebmc | 16 | 24.2ïŒ
RNã0.58.6ãã0.59.9ã«æŽæ°ããåŸãGalaxyS7ãã¯ã©ãã·ã¥ããããšããããŸãã
jsc-android
ã®çŸåšã®npmããŒãžã§ã³ã§ãã¢ããªãã¯ã©ãã·ã¥ããŸããã @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
ãšJSCããŒãžã§ã³245459.9000.0
ã䜿çšãããšãS7ã§ã®ã¯ã©ãã·ã¥ãä¿®æ£ãããŸããã
@ChrisEelmaa adb
RN 0.59ã«ã¯libjsc.soãçµã¿èŸŒãŸããŠãããããpickFirst '** /libjsc.so'ã¯ç§ã®æèŠã§ã¯ä¿¡é Œã§ããŸããã
JSCã®ããŒãžã§ã³ã確èªããå¥ã®æ¹æ³ã¯ã次ã®æé ã§ãã
åºåã¯æ¬¡ã®ããã«ãªããŸãã
$ strings jni/arm64-v8a/libjsc.so|grep -C 1 JavaScriptCore.Version
API Wrapper
JavaScriptCore.Version
245459.9000.0
@å·¥è€ããªãã®ä¿®æ£ã«æè¬ããŸããããã¯å°çãèµ·ããã®ãé²ãã§ããããã§ãã
ããã«ç§ã®2ã»ã³ãïŒ jni
ãã©ã«ããŒã¯ãããŸãããã代ããã«lib
1 jni
ãã©ã«ããŒãããã®ã§ããã®ã³ãã³ãã䜿çšããŠã解ååŸã«ããŒãžã§ã³ã確èªããŸãã
$ strings lib/arm64-v8a/libjsc.so | grep -C 1 JavaScriptCore.Version
API Wrapper
JavaScriptCore.Version
245459.9000.0
ããããšã@å·¥è€
以åã¯react-native0.58.3ã䜿çšããŠããŸããããåžžã«0.59ãšèšãããŠããã®ã§ãæŽæ°ããããšã«ããŸããã 0.59.0ãš@ kudo-ci / jsc-android @ 245459-fix-clear-cache-no-dfgã®çµã¿åããã¯ãç§ã«ãšã£ãŠã¯
ã¯ã©ãã·ã¥ãçºçãããããšã¯ã§ããªããªããŸããã
ãã®åé¡ã®ä¿®æ£ã次ã®RNãªãªãŒã¹ã«å«ãŸãããã©ãã誰ããç¥ã£ãŠããŸããïŒ
ãã®åé¡ã®ä¿®æ£ã次ã®RNãªãªãŒã¹ã«å«ãŸãããã©ãã誰ããç¥ã£ãŠããŸããïŒ
https://github.com/react-native-community/jsc-android-buildscripts#for -react-native-version-060-and-newer
@kristerkari
å®è¡ããæé ã確èªããã ãã§ãã
https://github.com/react-native-community/jsc-android-buildscripts#for-react-native-version-059ã®æé ã«åŸããŸãã
ãããã "jsc-android": "241213.x.x",
ãè¿œå ãã代ããã«ã¹ã¯ãããã @kudo-ci/jsc-android": "^245459.9000.0
ãpackage.jsonã«è¿œå ããŸãããïŒ ä»ã«äœãå€æŽãå ããŸãããïŒ
ããšãã°ãbuild.gradeã§ã implementation "org.webkit:android-jsc:r241213"
ãè¿œå ããå¿
èŠãããããšãããããŸããããã®è¡ãå€æŽããå¿
èŠããããŸãããå€æŽããå Žåã¯ãã©ãããã°ããã§ããã
ãã«ããšã©ãŒCould not find org.webkit:android-jsc:r241213.
ãŸãã¯Could not find org.webkit:android-jsc:r245459.9000.0.
çºçãç¶ããã®ã§ãåé¡ã¯ããã§ééã£ãåç
§ã䜿çšããŠãããšæããŸããããããã©ãããã¹ããå®å
šã«ã¯ããããŸããã
@jacquesdevã¯ããã®ã¬ã€ãã®æé ã«åŸããŸãïŒ https ïŒ//gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17#file -steps_for_webkitgtk_2_24_2-md
芪æãªãã
@kmagieraã®å©ããåããŠãããæŽæ°ããããã«ãç§ã®ãããã¯ã [email protected] ããšããŠå
¬éãããŸããã
https://github.com/facebook/react-native/pull/25426ãéä¿¡ããŠãæŽæ°ãããJSCãRNã«è¿œå ããŸããã
ãŸãã @ kelsetã¯RN0.60RCã«ãå«ãŸããŠããŸãã
ããŸãããã°ãç§ãã¡ã¯æçµçã«ãã®åé¡ãä¿®æ£ããŠéããããšãã§ããŸãã
ç¹ã«ç§ã®å®éšããããŒãžã§ã³ãååŸã«æ€èšŒããããã®å©ããæ±ããŠãããã®äººã
ã«å«ãã§ãã ããã
ç§ãã¡ã¯ããããRNã³ãã¥ããã£ã§ãïŒ
ããããšã@å·¥è€ïŒ ããã0.59.xã®ãªãªãŒã¹ãè¡ãå¯èœæ§ãããã®ãââããããšãã¡ããã©0.60ã«ãªãå¯èœæ§ãããã®ãââãäœãèãããããŸããïŒ
0.59.xã§å
¥æã§ããã°çŽ æŽããããšæããŸã
0.60ã«ã¯ãAndroidXãšå€éšã©ã€ãã©ãªã§å€ãã®é倧ãªå€æŽããããŸãã
+ 1ã0.59.xã«ãããšãå€ãã®åé¡ã解決ããŸãã
ã¢ããªã
ã§AndroidXããµããŒããããŠããããã0.60ã«ç§»è¡ããããªã
ãããŸã§ã®ã©ã€ãã©ãªã
JSCã®pickFirstã¯æ©èœããŠããŸããããã€ãã£ãã©ã€ãã©ãªã®1ã€ã§ããå¿
èŠããããŸã
åé¡ãåŒãèµ·ãããŠããŸãããåžžã«rnå
éšããŒãžã§ã³ãéžæããŠããããã§ãã
ïŒããããã¯ãªãŒã³ãªãããžã§ã¯ãã¯æ©èœããã®ã§ããããåŒãèµ·ãããŠããç§ãã¡ã®éšéã®1ã€ã§ãªããã°ãªããŸããïŒ
ã«ãŒã¯
2019幎6æ29æ¥åææ¥ã19ïŒ35 Anurag Dadheechã notifications @ github.com
æžããŸããïŒ
0.59.xã§å ¥æã§ããã°çŽ æŽããããšæããŸã
0.60ã«ã¯ãAndroidXãšå€éšã©ã€ãã©ãªã§å€ãã®é倧ãªå€æŽããããŸããâ
ãã®ã¹ã¬ããã«ãµãã¹ã¯ã©ã€ãããŠããããããããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/facebook/react-native/issues/24261?email_source=notifications&email_token=AABPHZ25TBIFBOI3QWMSPXLP46TN3A5CNFSM4HC77RA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AABPHZ2D5WUEM4S3242ZTYTP46TN3ANCNFSM4HC77RAQ
ã
ããã«ã¡ã¯ããã®ã@ kudo- ci /
ããã«ã¡ã¯@å·¥è€ããªãã®çŽ æŽãããä»äºã«æè¬ããŸãïŒ
DFG JITã®ãªãå€ãWebKitã§ãã¯ã©ãã·ã¥ã¯çºçããŸãããDFGJITã®ãªãæ°ããWebKit2.24.2ã§ã¯ä¿®æ£ãããŠããããã§ãã æé«ã®ããã©ãŒãã³ã¹ãå®çŸããããã«ãDFGJITãæå¹ã«ããŠãã®æ°ããWebKitãè©Šã䟡å€ããããã©ããçåã«æã£ãŠããŸãã
0.60 @Kudo @kelset @grabbou @turnryeã«ã¢ããã°ã¬ãŒãããã®ãé£ãããªãããããã®ä¿®æ£ã§0.59.10ã䜿çšããæ¹ãããåã«ãããã€ãã®ã³ã¡ã³ãã«åæããŸãã
ããã§åãåé¡ããããŸãã
react-native-mapsã¯ãŸã AndroidXããµããŒãããŠããªãããã0.60ã«ã¢ããã°ã¬ãŒãã§ããŸããããŸããS7ãšS7 plusãã¯ã©ãã·ã¥ãããããæŽæ°ã0.59.Xã«ããã·ã¥ã§ããŸããã
ããã¯æ¬åœã«ããžãã¹ã«ãšã£ãŠã®åé¡ã§ãreact-nativeã«äŸå
ããã«å¯Ÿããåé¿çã¯ãããŸããïŒ
@adnkhã«åæããŸããçŸåšãAndroidXã«ã¢ããã°ã¬ãŒãããããšã¯
ä¿®æ£ã䜿çšããããã«0.60ã«ã¢ããã°ã¬ãŒãããå¿
èŠã¯ãããŸããã https://github.com/react-native-community/jsc-android-buildscripts/#for-react-native-version-059ã®æ瀺ã«åŸãããšãã§ããã¯ãã§ãã ã€ã³ã¹ããŒã«ããããŒãžã§ã³ã¯245459.0.0
以äžã§ãã
ããã«ã¡ã¯@benoitdion ã
ã¯ããã¡ã€ã³ã©ã€ãã©ãªã«ãªããŠãæ¶è²»ããããšã¯å¯èœã§ããå®éãç§ã¯ãããã®æé https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17ã«åŸããŸããã ãããŠããã¯ããŸããã£ã
ããããAndroidãããžã§ã¯ãã«è¿œå ããå¿ èŠããããã®ããããããããããããã¯æ°žç¶çãªè§£æ±ºçã§ã¯ãªãããã¡ããšãããã®ã§ã¯ãªããšæããŸããã¡ã€ã³RNã®ä¿®æ£ããã°ã©ã ã¯ãéçºè ã®èŠ³ç¹ãããã䟿å©ã§ãããå€ãã®ã¯ã©ãã·ã¥ã®åé¡ã解決ãããšæããŸãã Androidã¢ããªã®å Žå
ä¿®æ£ã䜿çšããããã«0.60ã«ã¢ããã°ã¬ãŒãããå¿ èŠã¯ãããŸããã https://github.com/react-native-community/jsc-android-buildscripts/#for-react-native-version-059ã®æ瀺ã«åŸãããšãã§ããã¯ãã§ãã ã€ã³ã¹ããŒã«ããããŒãžã§ã³ã¯245459.0.0以éã§ãã
@benoitdionã¯ãããããããã¯åé¿çã§ããã0.59.10ãšããŠå ¬éãããå ¬åŒã®ä¿®æ£ãããè¯ãã§ãããã
ããããšã@å·¥è€
@kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
䜿çšãããšãã»ãšãã©ã®ã¯ã©ãã·ã¥ãæžå°ããŸãã
ããããæ¬çªç°å¢ã§ã¯ãŸã ããã€ãã®ã¯ã©ãã·ã¥ããããŸã
xiaomi MIX 3 XiaoMi / MIUI Android 9ãã¬ãã«28 arm64-v8a
1Â #00 pc 00000000000f7748 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::AccessCase::propagateTransitions(JSC::SlotVisitor&) const+16) [arm64-v8a]
2Â #01 pc 0000000000143fe8 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::PolymorphicAccess::propagateTransitions(JSC::SlotVisitor&) const+48) [arm64-v8a]
3Â #02 pc 000000000012f0a8 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::CodeBlock::propagateTransitions(JSC::ConcurrentJSLocker const&, JSC::SlotVisitor&)+556) [arm64-v8a]
4Â #03 pc 0000000000139484 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::ExecutableToCodeBlockEdge::runConstraint(JSC::ConcurrentJSLocker const&, JSC::VM&, JSC::SlotVisitor&)+40) [arm64-v8a]
5Â #04 pc 000000000013900c /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::ExecutableToCodeBlockEdge::visitChildren(JSC::JSCell*, JSC::SlotVisitor&)+1044) [arm64-v8a]
6Â #05 pc 00000000001fb9c4 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (_ZZN3JSC11SlotVisitor5drainEN3WTF13MonotonicTimeEENK3$_3clERNS_14MarkStackArrayE+324) [arm64-v8a]
7Â #06 pc 00000000001f8e90 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::SlotVisitor::drain(WTF::MonotonicTime)+132) [arm64-v8a]
8Â #07 pc 00000000001f96bc /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode, WTF::MonotonicTime)+580) [arm64-v8a]
9Â #08 pc 00000000001e41a0 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (_ZN3WTF17SharedTaskFunctorIFvvEZN3JSC4Heap13runBeginPhaseENS2_11GCConductorEE4$_17E3runEv+580) [arm64-v8a]
10Â #09 pc 00000000006171ec /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (WTF::ParallelHelperClient::runTask(WTF::RefPtr<WTF::SharedTask<void ()>, WTF::DumbPtrTraits<WTF::SharedTask<void ()> > > const&)+40) [arm64-v8a]
11Â #10 pc 0000000000617950 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (WTF::ParallelHelperPool::Thread::work()+16) [arm64-v8a]
12Â #11 pc 000000000060de7c /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (_ZN3WTF8FunctionIFvvEE15CallableWrapperIZNS_15AutomaticThread5startERKNS_14AbstractLockerEE3$_0E4callEv+376) [arm64-v8a]
13Â #12 pc 000000000061b084 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)+212) [arm64-v8a]
14Â #13 pc 0000000000646dc8 /data/app/com.gezbox.windmessage--4BWJ7puodXEdg5g4H7Mdg==/lib/arm64/libjsc.so (WTF::wtfThreadEntryPoint(void*)+4) [arm64-v8a]
15Â #14 pc 0000000000081dac /system/lib64/libc.so (__pthread_start(void*)+36) [arm64-v8a]
16Â #15 pc 0000000000023788 /system/lib64/libc.so (__start_thread+68) [arm64-v8a]
OPPO R9S Oppo / COLOROS Android 6.0.1ãã¬ãã«23 arm64-v8a
1Â #00 pc 00000000000f7748 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::AccessCase::propagateTransitions(JSC::SlotVisitor&) const+16) [arm64-v8a]
2Â #01 pc 0000000000143fe8 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::PolymorphicAccess::propagateTransitions(JSC::SlotVisitor&) const+48) [arm64-v8a]
3Â #02 pc 000000000012f0a8 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::CodeBlock::propagateTransitions(JSC::ConcurrentJSLocker const&, JSC::SlotVisitor&)+556) [arm64-v8a]
4Â #03 pc 0000000000139484 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::ExecutableToCodeBlockEdge::runConstraint(JSC::ConcurrentJSLocker const&, JSC::VM&, JSC::SlotVisitor&)+40) [arm64-v8a]
5Â #04 pc 000000000013900c /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::ExecutableToCodeBlockEdge::visitChildren(JSC::JSCell*, JSC::SlotVisitor&)+1044) [arm64-v8a]
6Â #05 pc 00000000001fb9c4 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (_ZZN3JSC11SlotVisitor5drainEN3WTF13MonotonicTimeEENK3$_3clERNS_14MarkStackArrayE+324) [arm64-v8a]
7Â #06 pc 00000000001f8e90 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::SlotVisitor::drain(WTF::MonotonicTime)+132) [arm64-v8a]
8Â #07 pc 00000000001f96bc /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode, WTF::MonotonicTime)+580) [arm64-v8a]
9Â #08 pc 00000000001e41a0 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (_ZN3WTF17SharedTaskFunctorIFvvEZN3JSC4Heap13runBeginPhaseENS2_11GCConductorEE4$_17E3runEv+580) [arm64-v8a]
10Â #09 pc 00000000006171ec /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (WTF::ParallelHelperClient::runTask(WTF::RefPtr<WTF::SharedTask<void ()>, WTF::DumbPtrTraits<WTF::SharedTask<void ()> > > const&)+40) [arm64-v8a]
11Â #10 pc 0000000000617950 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (WTF::ParallelHelperPool::Thread::work()+16) [arm64-v8a]
12Â #11 pc 000000000060de7c /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (_ZN3WTF8FunctionIFvvEE15CallableWrapperIZNS_15AutomaticThread5startERKNS_14AbstractLockerEE3$_0E4callEv+376) [arm64-v8a]
13Â #12 pc 000000000061b084 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)+212) [arm64-v8a]
14Â #13 pc 0000000000646dc8 /data/app/com.gezbox.windmessage-1/lib/arm64/libjsc.so (WTF::wtfThreadEntryPoint(void*)+4) [arm64-v8a]
15Â #14 pc 00000000000664a4 /system/lib64/libc.so (__pthread_start(void*)+52) [arm64-v8a]
16Â #15 pc 000000000001ebc4 /system/lib64/libc.so (__start_thread+16) [arm64-v8a]
RMX1901 Oppo / COLOROS Android 9ãã¬ãã«28 arm64-v8a
1Â #00 pc 0000007772fbb2c0 <unknown>
2Â #01 pc 00000000005519bc /data/app/com.gezbox.windmessage-vCMpnEKA509f1Di2EyrZ2w==/lib/arm64/libjsc.so (JSC::RegExp::match(JSC::VM&, WTF::String const&, unsigned int, WTF::Vector<int, 0ul, WTF::CrashOnOverflow, 16ul>&)+500) [arm64-v8a]
3Â #02 pc 00000000005722e8 /data/app/com.gezbox.windmessage-vCMpnEKA509f1Di2EyrZ2w==/lib/arm64/libjsc.so (JSC::stringProtoFuncReplaceUsingRegExp(JSC::ExecState*)+3072) [arm64-v8a]
4Â #03 pc 0000007772dff1ec <unknown>
ðã¿ããªã
çæ§ã®ãæèŠããåŸ ã¡ããŠãããŸããå€ãã®æ¹ãåé¡ãæ±ããŠãããããJSCã®æ°ããããŒãžã§ã³ãæäŸããããã«æåŸã®0.59.10ããããªãªãŒã¹ãè¡ããŸããã
ããã0.59ã«ããã¯ããŒãããäœæ¥ãããŠããã
0.60ïŒæ°ããJSCããããŸãïŒïŒã«ãåãçµãã§ãããããããã¯ããããã®ããäœæ¥ã§ãããããã«å°é£ã§ãããããåœé¢ã¯ä»ã®0.59ãªãªãŒã¹ãè¡ããŸããã
äž»ãªã³ã¢åé¡ã解決ãããã®ã§ãããéããŸããã0.59.10以éã«çºçããå¯èœæ§ã®ããä»ã®ã¯ã©ãã·ã¥ã®ããã«æ°ãããã®ãéãããšããå§ãããŸãã
çŽ æŽããããã¥ãŒã¹!!
ã¿ããªãç¹ã«@kudoã«æè¬ããŸã!!
2019幎7æ2æ¥ç«ææ¥ã12ïŒ29 Lorenzo Sciandraã notifications @ github.com
æžããŸããïŒ
ðã¿ããªã
ç§ãã¡ã¯çããã®å£°ãèããŠããŸãããããŠåé¡ã®ããã«å€ãã®çãããç§ãã¡ãæ±ããŠããŸã
æ°ããããŒãžã§ã³ãæäŸããããã«ãæåŸã®0.59.10ããããªãªãŒã¹ãè¡ããŸãã
JSCã@Kudohttps ïŒ//github.com/Kudoã®äœæ¥ã«å€§ãã«æè¬ããŸã
ããã0.59ã«ããã¯ããŒãããŸããæ°ãã0.59ãªãªãŒã¹ã¯ããããã®ããäœæ¥ã§ããã
0.60ïŒæ°ããJSCãæèŒãããäºå®ïŒã«ãåãçµãã§ãããããããå°é£ã§ã
ããŸãã«ãïŒïŒãäž»ãªã³ã¢åé¡ã解決ãããã®ã§ããããéããã€ããã§ãããç§ã¯
ããªããçµéšããŠãããããããªãä»ã®ã¯ã©ãã·ã¥ã®ããã«æ°ãããã®ãéãããšãææ¡ããŸã
0.59.10以éãâ
ãã®ã¹ã¬ããã«ãµãã¹ã¯ã©ã€ãããŠããããããããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/facebook/react-native/issues/24261?email_source=notifications&email_token=AABPHZZG2Z764HFNPJB7UVTP5M325A5CNFSM4HC77RA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AABPHZ5PYT4F7ZZGQXZKKKLP5M325ANCNFSM4HC77RAQ
ã
ä¿®æ£ããŠãããŠããããšãïŒ react-nativeãããŒãžã§ã³0.59.10
ã«ã¢ããã°ã¬ãŒãããåŸã§ããããã«èšèŒãããŠããæé ãå®è£
ããå¿
èŠããã
ã±ãã³ã
RN 0.59.10ã«ã¢ããã°ã¬ãŒãããåŸã¯ãèŠç¹ã«åŸãå¿
èŠã¯ãããŸããã
ãã¯ãæ瀺ã
K
2019幎7æ3æ¥æ°Žææ¥ã15ïŒ42 Kevin Etoreã notifications @ github.comã¯æ¬¡ã®ããã«æžããŠããŸãã
ä¿®æ£ããŠãããŠããããšãïŒ react-nativeãããŒãžã§ã³0.59.10ã«ã¢ããã°ã¬ãŒãããåŸã
ããã«èšèŒãããŠããæé ãå®è£ ããå¿ èŠããããŸãã
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17 ïŒâ
ãã®ã¹ã¬ããã«ãµãã¹ã¯ã©ã€ãããŠããããããããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/facebook/react-native/issues/24261?email_source=notifications&email_token=AABPHZ6H66HMI6CFMXMR4Y3P5S3DVA5CNFSM4HC77RA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN
ãŸãã¯ã¹ã¬ããããã¥ãŒãããŸã
https://github.com/notifications/unsubscribe-auth/AABPHZ6UMO5NS4F4OZ7RWPTP5S3DVANCNFSM4HC77RAQ
ã
Meizu M5s M612H Android OS6ãšRN-0.59.10ã§ã¢ããªãã¯ã©ãã·ã¥ããŸãã @kelsetãææ¡ããããã«ãæ°ããåé¡ãäœæããŸããã
Caterpillar S41ïŒAndroid 8.0ïŒã§ãŸã ã¯ã©ãã·ã¥ããŠããŸãã ãã®ä¿®æ£ã«ãããä»ã®ãã¹ãŠã®ããã€ã¹ã®åé¡ã解決ãããŸããã ãŸããæ°ããåé¡ãäœæããŸããã ãããæ£ããæ¹æ³ã§ã¯ãªããã©ããæããŠãã ããã
ããã«ã¡ã¯ãã¿ããª
64ãããã§ã³ã³ãã€ã«ãããšãäžéšã®Androidããã€ã¹ã§ãã¢ããªãã¯ã©ãã·ã¥ããŸã
react-native-elementsããã±ãŒãžããŒãžã§ã³1.1.0ã䜿çšããŠããŸããïŒ
å°éå
·ã®ã¢ã€ã³ã³ãŸãã¯ã¿ã€ãã«ãé
眮ãããšãã³ã³ããŒãã³ãããããŒãã¢ããªãšã¢ãã¿ãŒã³ã³ããŒãã³ããã¯ã©ãã·ã¥ããããã
ä»ã®èª°ããåãããšã圌ãã«èµ·ãããã©ããã確èªã§ããŸããïŒ
s7ã®ââææè ã¯ããšã«ã¡ã¹ã§ãã®åé¡ããã¹ãããæ©äŒããããŸãããïŒ
以äžã®ã¢ããªã䜿çšãããšã¯ã©ãã·ã¥ããGooglePlayã¹ãã¢ã§æ¿èªãããŸã
ndk {abiFilters "armeabi-v7a"ã "arm64-v8a"ã "x86"ã "x86_64"}
以äžã®ã¢ããªã䜿çšããå Žåãã¢ããªã¯æ©èœããŠããŸãããGooglePlayã¹ãã¢ã§åãå
¥ããããŸãã
ndk {abiFilters "armeabi-v7a"ã "x86"}
誰ããç§ã解決ããã®ãæäŒã£ãŠãã ãã
64ãããã¢ãŒã APKãæèŒããMotoG7ãšPixel2ïŒã©ã¡ããAndroid 9.0ïŒã§ãã¯ã©ãã·ã¥ããŸãã 32ãããã¢ãŒã APKã§æ£åžžã«åäœããŸãã
@ afras21-ããã¯ãGooglePlayã¹ãã¢ãå¿ é ã«ããŠãã64ãããããŒãžã§ã³ã«ãã°ãååšããããã§ãã
@jacquesdev jacqã«æè¬ããŸããä»ã§ã¯å¿ é ãåé€ããçŸåšã¯æ©èœããŠããŸã
@ afras21ã°ãŒã°ã«ããã¬ã€ã¹ãã¢ãã64ãããã®å¶éã解é€ãããšããããšã§ããïŒ
åãåé¡ããããŸãã ãããžã§ã¯ãã0.59.9ãã0.60.4ã«æŽæ°ããå Žåãåé¡ãä¿®æ£ããå¿ èŠããããŸããïŒ
åãåé¡ããããŸãã çŸåšã0.59.9ã䜿çšããŠããŸãã 0.60.xã«ã¢ããã°ã¬ãŒããããšãåé¡ã¯è§£æ±ºããŸããïŒ
0.59.10ã§åé¡ã解決ãããã©ãããæåã«è©ŠããŠãã ããã
ããã§ãªãå Žåã¯ãRN 0.60.4ãã¢ããã°ã¬ãŒãããŠã代ããã«Hermesããªã³ã«ãã䟡å€ããããŸãã
å·¥è€ãèšã£ãããšãç¹°ãè¿ããã³ã³ããã¹ããäžãããã®åé¡ã®ä»¥åã®å 容ãèŠçŽããŸãïŒãã®æç¹ã§éåžžã«å€ãã®ã³ã¡ã³ããåé¡ããã®ã¯ããããé£ããããïŒïŒ
0.59.9以äžã®å Žåãããã¯å€ãJSCã§ç¢ºèªãããåé¡ã§ãã ããã¯äžèšã®ïŒãããŠä»ã®åé¡ã§ïŒäœçŸãã®ã³ã¡ã³ãã®äž»é¡ã§ãã ãã®åé¡ã¯64ãããã«éã£ãããšã§ã¯ãããŸããããã»ãšãã©ã®å Žå64ãããã§çºçããŸãã
0.60+ã«ã¯ãç¹ã«Androidã§ãããŸããŸãªé倧ãªå€æŽããããŸãã
ããããããããªãå Žåã¯ãããŒãžã§ã³/ãã«ãã«çŽæ¥çµ±åãããä¿®æ£ïŒäžèšã®ãšããïŒãããããã0.59.10ãè©ŠããŠãã ãããã»ãšãã©ã®å Žåãåé¡ã¯ä¿®æ£ãããŠããããã§ãã
ç¹å®ã®é»è©±ã§åé¡ãçºçããå ŽåããŸã ãããŸãïŒç§ãééããŸããïŒãïŒ25494ãåç §ããŠãã ããããããããå Žåã¯ãã¹ã¿ãã¯ãã¬ãŒã¹ããã®æªè§£æ±ºã®åé¡ã«æçš¿ããããšããå§ãããŸãã ãã ãã0.59.9ã䜿çšããŠãããšèšã£ãŠããå Žåã¯ã0.59.10ã«ç§»åããããšã§åé¡ã_ãããã_ä¿®æ£ã§ããŸãã
@MalcolmScruggs @ntorion @ harryt2
ããªãã¯ããã解決ããŸãããïŒ è§£æ±ºæ¹æ³ïŒããããšã
0.59.10ã¯ç§ã®ããã«ããã解決ããŸããã§ããã 0.60.xã®ã¢ããã°ã¬ãŒããè©ŠããŠã¿ãŸã
@MalcolmScruggs @ntorion @ harryt2
ããªãã¯ããã解決ããŸãããïŒ è§£æ±ºæ¹æ³ïŒããããšã
0.59.10ã¯ç§ã«ãšã£ãŠãããã解決ããŸããã§ããã äžéšã®äŸåé¢ä¿ãæ©èœããªãããã0.60.xã«ã¢ããã°ã¬ãŒãã§ããŸããã Hermesã§ã³ã³ãã€ã«ããããšã¯ã§ããŸããããANRãå€§å¹ ã«å¢å ããŸããïŒæ®µéçãªå±éãç¥ã«æè¬ããŸãïŒã RNããŒãžã§ã³0.57.8ã®Playã¹ãã¢ã«ãŸã 座ã£ãŠããŸããã64ãããèŠä»¶ã®ããã«ã¢ããªãæŽæ°ã§ããŸããã ããªãã€ã©ã€ã©ããŠããŠãã¢ããªå šäœãå¥ã®ãã¬ãŒã ã¯ãŒã¯ã§åæ§ç¯ãããã©ããã決å®ããããšããŠããŸãã
@ harryt2 @rogerkerseæè¬ã
ç§ã®ç¶æ³ã¯ããã«æªãã§ãã ãªãªãŒã¹ãããããŒãžã§ã³ã«ã¯ãã°ãããããã64ã¢ããªã±ãŒã·ã§ã³ãã¢ããã°ã¬ãŒãããå¿
èŠããããŸãã çŸåšããã®åé¡ã解決ããããšã¯ã§ããŸããã ç§ããã©ãã¿ãŒãè©ŠããŠããŸãããå®å
šãªäº€æã¯ããã»ã©éããããŸããã
ç§ã¯å®éã«React-Nativeã0.60.5ã«ãã³ãããHermes + 64ããããæå¹ã«ãããšããåé¡ãçµéšããŸããïŒreact-nativeã®ã¢ããã°ã¬ãŒãã¯åžžã«ããã§ãããããããã¯èŠçã§ããïŒããããŠç§ã¯ãŸã ããã€ãã®Androidæºåž¯é»è©±ã§ãããã®åé¡ãæ±ããŠããŸãïŒ HUAWEI MYA-L41ïŒã
ç§ã¯ä»ã®ã¹ã¬ããã§èŠã€ããã»ãšãã©ãã¹ãŠãéãæªãã£ãã®ã§ãreact-nativeãã¶ã€ããŠãHermesã䜿çšããŠããããã®åé¡ã®ãã¹ãŠãä¿®æ£ãããããã§ã¯ãããŸããã
æŽæ°ãããreact-native + Hermesãš64ãããã¯ãç§ãå®è¡ããä»ã®Androidããã€ã¹ã§é©ãã¹ããã®ã§ãããç§ãã¡ã®ã¢ããªã¯ãããŸã§ã«ãªãã¹ã ãŒãºã«æããããŸããã
ãã ããåè¿°ã®ç¹å®ã®ããã€ã¹ïŒHuaweiïŒã§ãã¹ããããšãããã«ã¯ã©ãã·ã¥ããããç¹å®ã®ã¯ã©ãã·ã¥ã¡ãã»ãŒãžãªãã§ã¢ããªã1ã2ç§ééããåŸããã®ããã€ã¹ãšæ°ããHuaweiïŒHuaweiïŒä»¥å€ã®ããã€ã¹ã¯ãããŸãããããã¯å®å šã«æ©èœããŸãïŒã®ã§ãä»ã®é»è©±ã§ãã以äžã®æ å ±ãæäŸããããšã¯ã§ããŸããã
誰ãããã®åé¡ã§é²å±ãéããå ŽåããŸãã¯ç§ã®åé¡ãããå
·äœçã«èšé²ããããã®ã¢ã€ãã¢ãæã£ãŠããå Žåã¯ããã€ã§ãã¢ããã€ã¹ãæè¿ããŸãããã®åé¡ã«é¢ããæ
å ±ãå
±æããããšæããŸãã
ãœãªã¥ãŒã·ã§ã³ãæäŸããŠããããã®ã¹ã¬ããã®äººã
ã«æè¬ããŸãããä»ã®ãšããéããããŸããã ð
@YoranRoels react-native initã«ãã£ãŠäœæãããã¯ãªãŒã³ãªã¢ããªãå®è¡ããŠã¿ãŸãããïŒ ã¯ã©ãã·ã¥ã®åå ã¯RNèªäœãªã®ããäœæããã©ã€ãã©ãªãã³ãŒããªã®ãçåã«æããŸãã
@armenbadalyanè¿ éãªå¯Ÿå¿ã«æè¬ããŸãã
æ°ãããããžã§ã¯ããã»ããã¢ããããŠããã€ã¹ã§å®è¡ããããšããŸãããããã¹ãŠãé 調ã«èŠããã®ã§ãæçµçã«ã¯ã»ããã¢ããã§äœãã®ããã«èŠããŸãã ç§ã®logcatã¯com.<our_app_id>
ã殺ããã以å€ã«æçšãªãã®ãäœãåãåºããªãã®ã§ãããããããã°ããå¹ççãªæ¹æ³ã¯ãããŸããïŒ
React Native59.10ãããã解決ããŸããã ã¢ããªã¯æåã®èµ·åæã«ãŸã ã¯ã©ãã·ã¥ããŸãã
@GreanBeetlehttps ïŒ //github.com/facebook/react-native/issues/25494ãåç §ããŠãã ããã æ®å¿µãªããã0.59.10ã¯çŸæç¹ã§ã¯ããã¹ãŠã®å Žåã«ãã®åé¡ã解決ã§ããããã§ã¯ãªãããšãããã£ãŠããŸãã
ææ°ã®ãã¹ã¯ãïŒãã®ã¹ã¬ããã®ããã«ïŒ0.60+ãšHermesã䜿çšããããšã§ãã
@YoranRoelsããã€ã¹ããhttps ïŒ
@GreanBeetle 0.59.10ã§V8ãšã³ãžã³ã䜿çšããŠããã®åé¡ãåãé€ãããšãã§ããŸã
https://github.com/Kudo/react-native-v8
@ j-wangã«æè¬ããŸãã @manuhookããœãªã¥ãŒã·ã§ã³ã
@GreanBeetle 0.59.10ã§V8ãšã³ãžã³ã䜿çšããŠããã®åé¡ãåãé€ãããšãã§ããŸã
https://github.com/Kudo/react-native-v8
ããã§åé¡ã解決ããããšã確èªã§ããŸãã 64ãããã§ãã«ããreact-native-v8
ã«0.59.10
ãã¯ãã¯ã©ãã·ã¥ãããŠããªããšæã
ã¯æçµçã«Google Playã®äžã§åã³æŽæ°ãããã·ã¥ããããšãã§ããŸãã ããããšãããããŸããïŒ
@ j-wangãèšåãããã¥ãŒã ã¹ããŒã³ãã®ã³ã°ãè©ŠããŸããããå®éã«äœ¿çšããããšã¯ãªãããã°ããæ€çŽ¢ããåŸãèªã¿åãå¯èœãªæ ¹æ¬åå ãèŠã€ãããªãã£ããããèªã¿ã«ãã巚倧ãªãã¡ã€ã«ã§ããã
@armenbadalyanã®ã¢ããã€ã¹ãåããåŸãã¢ããªã®èµ·åæã«ãããã°ãããããšã§ã¯ãªãããšæãå§ããŸãããæåã®ã³ã³ããŒãã³ãã®UIãåé€ãããšãã¢ããªãåã³å®å®ããŠå®è¡ãããŠããããšã«æ°ä»ããŸããã ãã®ãããããã«æãäžããŠã¿ããšãç»åãã¬ã³ããªã³ã°ãããå Žæã§ç¹å®ã®ã³ã³ããŒãã³ãã«åé¡ãçºçããŠããããšã«æ°ä»ããŸããã
ãã®ã³ã³ããŒãã³ãã§ã¯ã react-native
Image
ã®source
å€æ°ãšããŠnull
ãæž¡ãå¯èœæ§ããããŸãã ãããæ¢ãã®ã«ãã°ããæéãããããŸããããæ確ãªãšã©ãŒã¯ãããŸããã§ããããæçµçã«ãã¹ãŠãä¿®æ£ããããã¹ãŠã®ãã¹ãããã€ã¹ã§å®è¡ãããŠããŸãã ä»ã®ãã¹ãããã€ã¹ã§å€±æããªãã£ãçç±ã¯ãŸã ããããŸãã...
ä»ã®äººãã¢ããªã®æåã®ã³ã³ããŒãã³ããåçŽåããŠããã®ã³ãŒãã§ã¯ã©ãã·ã¥ããªãããã«ããã®ã«åœ¹ç«ã€å¯èœæ§ããããŸãã
TL; DR ïŒããã¯ããããä»ã§ã¯å®å
šã«ãããã¯ããå€ããŠããŸãããé¢ä¿è
ïŒ null
Image
source
å€æ°ãšããŠäœ¿çšããªãã§ãã ããã tãã¹ãŠã®ããã€ã¹ã§åäœããŸãã ð
@ harryt2ã¯ããç§ãããã§ãã RN 0.60ã«ã¢ããã°ã¬ãŒãããåŸãANRãå€§å¹ ã«å¢å ããŸããã+
ãŸã ã¹ã¿ãŒãã¢ããã®ã¯ã©ãã·ã¥ã«å¯ŸåŠããããšããŠãã人ãã¡ãžã®å°ãã®å©ãïŒ
adb logcat
ãå®è¡ããããã¯åé¡ã解決ããŸããããããªãã«ãã£ãšäœããèŠã€ããããŸãã ç§ã¯2ã€ã®ã¢ããªãæã£ãŠããŸãã1ã€ã¯64ãããã§ããŸãæ©èœããŠããŸãããåãæ§æã§ãã£ãŠããã1ã€ã¯ãŸã èŠåŽããŠããŸãã ç§ã®ã¯ã©ãã·ã¥ããã€ã¹ã¯OnePlus 5tïŒ64ãããïŒã§ã
ããã¯ãRN 59.10ã§ãã«ããããã¢ããªã®æ°ãããªãªãŒã¹ãç¹ã«Android9ã®SamsungGalaxy Note9ã§èŠããšããã§ããä»ã«åæ§ã®åé¡ãçºçããŠãã人ã¯ããŸããïŒ
@msspshawäžèšããã³ä»ã®åé¡ã§è¿°ã¹ãããã«ãã¯ãã æ°ããJSCã¯ãé決å®è«çã«ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãè¡ããããããç¹å®ã®Androidããã€ã¹ã§ã©ã³ãã ã«ããªãŒãº/ã¯ã©ãã·ã¥ããŸãããã®åŸãã¢ããªå šäœãã¯ã©ãã·ã¥ããŸãã
解決çã¯ã0.60 +ã«ã¢ããã°ã¬ãŒãããŠHermesã䜿çšããããJSC forv8ãåãæ¿ããããšã§ãã
@ j-wangãèšåãããã¥ãŒã ã¹ããŒã³ãã®ã³ã°ãè©ŠããŸããããå®éã«äœ¿çšããããšã¯ãªãããã°ããæ€çŽ¢ããåŸãèªã¿åãå¯èœãªæ ¹æ¬åå ãèŠã€ãããªãã£ããããèªã¿ã«ãã巚倧ãªãã¡ã€ã«ã§ããã
@armenbadalyanã®ã¢ããã€ã¹ãåããåŸãã¢ããªã®èµ·åæã«ãããã°ãããããšã§ã¯ãªãããšæãå§ããŸãããæåã®ã³ã³ããŒãã³ãã®UIãåé€ãããšãã¢ããªãåã³å®å®ããŠå®è¡ãããŠããããšã«æ°ä»ããŸããã ãã®ãããããã«æãäžããŠã¿ããšãç»åãã¬ã³ããªã³ã°ãããå Žæã§ç¹å®ã®ã³ã³ããŒãã³ãã«åé¡ãçºçããŠããããšã«æ°ä»ããŸããã
ãã®ã³ã³ããŒãã³ãã§ã¯ã
react-native
Image
ã®source
å€æ°ãšããŠnull
ãæž¡ãå¯èœæ§ããããŸãã ãããæ¢ãã®ã«ãã°ããæéãããããŸããããæ確ãªãšã©ãŒã¯ãããŸããã§ããããæçµçã«ãã¹ãŠãä¿®æ£ããããã¹ãŠã®ãã¹ãããã€ã¹ã§å®è¡ãããŠããŸãã ä»ã®ãã¹ãããã€ã¹ã§å€±æããªãã£ãçç±ã¯ãŸã ããããŸãã...ä»ã®äººãã¢ããªã®æåã®ã³ã³ããŒãã³ããåçŽåããŠããã®ã³ãŒãã§ã¯ã©ãã·ã¥ããªãããã«ããã®ã«åœ¹ç«ã€å¯èœæ§ããããŸãã
TL; DR ïŒããã¯ããããä»ã§ã¯å®å šã«ãããã¯ããå€ããŠããŸãããé¢ä¿è ïŒ
null
Image
source
å€æ°ãšããŠäœ¿çšããªãã§ãã ããã tãã¹ãŠã®ããã€ã¹ã§åäœããŸãã ð
+1ã¯ç§ã®ããã«åããŸãã ç§ãåãåé¡ãæ±ããŠããŸããã ããããšãããããŸããïŒ
ãŸããAndroid 7.0 RN0.59.10ã®SamsungGalaxy S7 IO-IL086ã§çºçããŠããããšã確èªããŠãã ããã
@BracketMan JSCã®ä»£ããã«V8ã䜿çšããŠããŸããïŒ
@EmilScherdinããããããç§ã¯
@EmilScherdin RN 0.59.10ã®V8ã§å®è¡ãããšãã¯ã©ãã·ã¥ããããšã¯ãªããåäœããŠããããšã確èªã§ããŸãã
ããããšãïŒ
v8ã®RN0.59.10ã§ãåãåé¡ãçºçããŸãã arm64-v8aã§ã¯JITãç¡å¹ã«ãªã£ãŠãããããã®ã¢ãŒããã¯ãã£ã®ããã€ã¹ã§ã¯ã¯ã©ãã·ã¥ããããšãããããŸãã
@mmamoyco V8ããã®ã¯ã©ãã·ã¥ã®ã¹ã¿ãã¯ãã¬ãŒã¹ã¯ãããŸããïŒ
@å·¥è€ãããã¯ã©ãã·ã¥ãã°ã¯ãããŸãã å€ãã®ã¯ã©ãã·ã¥ãçºçãããããjscããv8ã«ç§»è¡ããŸããã ããããv8ã䜿çšããŠãåãããšãèµ·ãããŸãã 以äžã¯ãã°ã§ã
ïŒ01 pc 0000000000c3437c /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so
ïŒ02 pc 0000000000c30554 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so
ïŒ03 pc 0000000000c33070 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so
ïŒ04 pc 0000000000bf2e94 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.soïŒv8 :: internal :: ItemParallelJob :: Task :: RunInternalïŒïŒ+ 24ïŒ
ïŒ05 pc 0000000000a4d660 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.soïŒv8 :: platform :: DefaultWorkerThreadsTââaskRunner :: WorkerThread :: RunïŒïŒ+ 56ïŒ
ïŒ06 pc 0000000000a4a074 /data/app/my.app.id-a42vFQTz2lrEJMUnXdYsYA==/lib/arm64/libv8.so
ïŒ07 pc 0000000000067ec4 /system/lib64/libc.soïŒ__pthread_startïŒvoid *ïŒ+ 36ïŒ
ïŒ08 pc 000000000001f2f4 /system/lib64/libc.soïŒ__start_thread + 68ïŒ
âïžãããã®æ¹åã¯ã jsc-androidREADMEãšåãã§ã¯ãããŸããã ããŒãžã§ã³çªå·ãšããã€ãã®èšå·ãå€æŽããŸããã
canary
ã®ããŒãžã§ã³jsc
ã®åé¡ã解決ããŸããã å¿ èŠãªã®ã¯jsc-android @ canaryã®åŸã®ããŒãžã§ã³ã§ããåç §ïŒreact-nativeãªããžããªã«ããŒãžãããå ã®ä¿®æ£ã®ãã®ãããã ããã解決ããã®ãæäŒã£ãŠããã@ ravali121ã«æè¬ããŸãã
jsc-android
ããªãã®"äŸåé¢ä¿"ã»ã¯ã·ã§ã³ã«package.json
ïŒdependencies {
...
+ "jsc-android": "^245459.0.0",
...
}
次ã«ã npm install
ãŸãã¯yarn
ïŒäœ¿çšããnpmã¯ã©ã€ã¢ã³ãã«å¿ããŠïŒãå®è¡ããŠãæ°ããäŸåé¢ä¿ãnode_modules
ã€ã³ã¹ããŒã«ããŸãã
android/build.gradle
ãã¡ã€ã«ãå€æŽããŠã jsc-android
ããã±ãŒãžã«ããã±ãŒãžåãããæ°ããããŒã«ã«Mavenãªããžããªãæ€çŽ¢ãã¹ã«è¿œå ããŸããallprojects {
repositories {
mavenLocal()
jcenter()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url "$rootDir/../node_modules/react-native/android"
}
+ maven {
+ // Local Maven repo containing AARs with JSC library built for Android
+ url "$rootDir/../node_modules/jsc-android/dist"
+ }
}
}
android/app/build.gradle
ã«ããã¢ããªã®build.gradle
ãã¡ã€ã«ãæŽæ°ããŠãJSCã®äŸåé¢ä¿ãè¿œå ããŸãã äŸåé¢ä¿ãReactNativeäŸåé¢ä¿ã®åã«ããããšã確èªããŠãã ããã
dependencies {
+ // Make sure to put android-jsc at the top
+ implementation 'org.webkit:android-jsc:+'
compile fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}"
implementation "com.facebook.react:react-native:+" // From node_modules
}
android/app/build.gradle
ã«ããã¢ããªã®build.gradle
ãã¡ã€ã«ãæŽæ°ããŠãæåã«äžèŽããJSCã©ã€ãã©ãªã䜿çšããŸããandroid {
// ...
+ packagingOptions {
+ pickFirst '**/armeabi-v7a/libc++_shared.so'
+ pickFirst '**/x86/libc++_shared.so'
+ pickFirst '**/x86_64/libc++_shared.so'
+ pickFirst '**/arm64-v8a/libc++_shared.so'
+ pickFirst '**/libjsc.so'
+ }
}
誰ãããã®è³ªåã«çããã®ãæäŒã£ãŠãããã§ããããïŒ
https://github.com/react-native-community/jsc-android-buildscripts/issues/127
null
Image
source
å€æ°ãšããŠäœ¿çšããªãã§ãã ããããã¹ãŠã®ããã€ã¹ã§æ©èœãããšã¯éããŸããã ð
ç§ã¯ããªããåŒçšããã®ã¯å«ãã§ããããã®ã¹ã¬ããã®ãã€ãºã§ããªãã®è§£æ±ºçãã»ãšãã©èŠéããŸããã ã©ããããããšã@YoranRoels !! ããã¯ãã®æ¥ãæã£ãïŒ
ãªã³ã©ã€ã³ã®å®æ©ãã¹ãWebãµã€ããèŠã€ããŸãããããã§ãGALAXY S7Edgeãšandroid7.0 osãéžæããŸããããæ®å¿µãªããã¯ã©ãã·ã¥ã¯çºçããŸããã @ YoranRoelsã¡ãœããã»ããsource
å€æ°Image
ã䜿çšããããšããŠããŸãã {null}
ãš{{ uri: null }}
ããããã§ãã¯ã©ãã·ã¥ããŸãããæãããããšã«ãã©ãããŠèµ·ãã£ãã®ãããããããŸããã誰ãå©ããŠãããŸãããã
0.59.1ã§ãã®æ£ç¢ºãªåé¡ãçºçãã次ã®ããã«ããŠä¿®æ£ããããšãã§ããŸããã
âïžãããã®æ¹åã¯ã jsc-androidREADMEãšåãã§ã¯ãããŸããã ããŒãžã§ã³çªå·ãšããã€ãã®èšå·ãå€æŽããŸããã
canary
ã®ããŒãžã§ã³jsc
ã®åé¡ã解決ããŸããã å¿ èŠãªã®ã¯jsc-android @ canaryã®åŸã®ããŒãžã§ã³ã§ããåç §ïŒreact-nativeãªããžããªã«ããŒãžãããå ã®ä¿®æ£ã®ãã®ãããã ããã解決ããã®ãæäŒã£ãŠããã@ ravali121ã«æè¬ããŸãã
- è¿œå
jsc-android
ããªãã®"äŸåé¢ä¿"ã»ã¯ã·ã§ã³ã«package.json
ïŒdependencies { ... + "jsc-android": "^245459.0.0", ... }
次ã«ã
npm install
ãŸãã¯yarn
ïŒäœ¿çšããnpmã¯ã©ã€ã¢ã³ãã«å¿ããŠïŒãå®è¡ããŠãæ°ããäŸåé¢ä¿ãnode_modules
ã€ã³ã¹ããŒã«ããŸãã
android/build.gradle
ãã¡ã€ã«ãå€æŽããŠãjsc-android
ããã±ãŒãžã«ããã±ãŒãžåãããæ°ããããŒã«ã«Mavenãªããžããªãæ€çŽ¢ãã¹ã«è¿œå ããŸããallprojects { repositories { mavenLocal() jcenter() maven { // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm url "$rootDir/../node_modules/react-native/android" } + maven { + // Local Maven repo containing AARs with JSC library built for Android + url "$rootDir/../node_modules/jsc-android/dist" + } } }
android/app/build.gradle
ã«ããã¢ããªã®build.gradle
ãã¡ã€ã«ãæŽæ°ããŠãJSCã®äŸåé¢ä¿ãè¿œå ããŸãã äŸåé¢ä¿ãReactNativeäŸåé¢ä¿ã®åã«ããããšã確èªããŠãã ãããdependencies { + // Make sure to put android-jsc at the top + implementation 'org.webkit:android-jsc:+' compile fileTree(dir: "libs", include: ["*.jar"]) implementation "com.android.support:appcompat-v7:${rootProject.ext.supportLibVersion}" implementation "com.facebook.react:react-native:+" // From node_modules }
android/app/build.gradle
ã«ããã¢ããªã®build.gradle
ãã¡ã€ã«ãæŽæ°ããŠãæåã«äžèŽããJSCã©ã€ãã©ãªã䜿çšããŸããandroid { // ... + packagingOptions { + pickFirst '**/armeabi-v7a/libc++_shared.so' + pickFirst '**/x86/libc++_shared.so' + pickFirst '**/x86_64/libc++_shared.so' + pickFirst '**/arm64-v8a/libc++_shared.so' + pickFirst '**/libjsc.so' + } }
ããªãã¯åœã®æ©äººã§ãïŒ â€ïžç§ã¯ãã®ã³ãŒãã貌ãä»ããjsc-androidã®ããŒãžã§ã³ãããªããèšåãããã®ã«æ£ç¢ºã«å€æŽããããã«3æ¥éããªãã®çããæ¢ããŠããŸããã ãããŠããã¯ä»åããŠããŸãïŒ RNããŒãžã§ã³ã0.59ãã0.60ã«ã¢ããã°ã¬ãŒããããšãã«ãšã©ãŒãçºçããŸããã ã¢ããªã¯ã¢ã³ããã€ãã ãã®ããã«å£ããŠããŸãããiosã¯å€§äžå€«ã§ããã æãå¥åŠãªããšã¯ãã¢ããªãæ£åžžã«ã³ã³ãã€ã«ãããããããã¹ãŠãèŠæ ããè¯ãã£ãã®ã§ãããèµ·åãããšããã«ã¯ã©ãã·ã¥ããŸããã
æãåèã«ãªãã³ã¡ã³ã
@hramos @mkonicekçŸæç¹ã§ã¯ãããã¯ææ°ã®RN 0.59ãªãªãŒã¹ã®åé¡ã§ããã
arm64-v8a
ãµããŒããæäŸããåŸãS7 Edge
Samsung S7
ãS7 Edge
å®è¡ãããŠããAndroidãã«ãã«åœ±é¿ãäžãããšçµè«ä»ããããšãã§ããŸããarm64-v8a
ãx86_64
ãbuild.gradle
ããããããåé€ããŠãã¢ããªã¯ã¯ã©ãã·ã¥ããŸãããããã¯ãGoogle Play 64ããããµããŒãããªã·ãŒã«åŸã£ãŠã1 August 2019
以éã«ã¢ããªã皌åããããšã«åœ±é¿ãäžããå¯èœæ§ããããŸãã 泚ç®ããŠããã ãããã®ã§ããã