๋ฒ๊ทธ ์ ๊ณ
์์์ ์ถฉ๋
Android logcat A / libc : Fatal signal 11 (SIGSEGV), ์ฝ๋ 1, ์ค๋ฅ ์ฃผ์ 0x0 (tid 20217)์์ ์ถ์ ๋์ด ์ค๋ฅ ๋ก๊ทธ๋ง์ผ๋ก ์ถฉ๋์ด ๋ฐ์ํ์ต๋๋ค
์ฌํํ๋ ค๋ฉด
๋ฐ์ ๋ค์ดํฐ๋ธ ์คํ ์๋๋ก์ด๋
์ด๊ธฐ ๊ฒฝ๋ก์์ ์คํ ํ์๊ธฐ๋ฅผ ํตํด ๋ ๋ฒ์งธ ํ๋ฉด์ผ๋ก ์ด๋ํฉ๋๋ค. React-Navigation 3.6
react-navigation
ํ๊ณ Samsung S7 64 bit CPU
์ฅ์น์์ ์ถฉ๋์ ์์ํ์๋ง์ ์ฑ์ด ์ถฉ๋ํ๋ฉฐ ์ฌ์ฉ์ค์ธ ๋ค๋ฅธ Android ์ฅ์น์์ ์ ๋๋ก ์๋ํฉ๋๋ค.
์์๋๋ ๋์
์์ ๋ ๋ฐฉ์์ผ๋ก ์ผํ๊ธฐ ์ํด์์
๋๋ค. ์ด์ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ฒ์ 0.58์์์ ๊ฐ์ด
ํ๊ฒฝ
React Native ํ๊ฒฝ ์ ๋ณด :
์ฒด๊ณ:
์ด์์ฒด์ : 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
์์ ํด๊ฒฐ ๋ฐฉ๋ฒ :
32 ๋นํธ ์ง์ ๋ง ์ ๊ณตํ์ฌ buidl.gradle์ defaultConfig ๋ธ๋ก์์๋ ndk abiFilters์์ 64 ๋นํธ ndk ํํฐ "arm64-v8a", "x86_64"๋ฅผ ์ ๊ฑฐํ์ ๋.
์ ์๋ํฉ๋๋ค.
ndk {
abiFilters "armeabi-v7a", "x86", "arm64-v8a", "x86_64" -> change to
abiFilters "armeabi-v7a", "x86"
}
๋ฌธ์ ๋ฅผ ์ ์ถํด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค. ์ค๋ช
์ ๋ค์ ์ดํด๋ณด๊ณ ๋ฌธ์ ํ
ํ๋ฆฟ์ด ์์ ํ ์ฑ์ ์ก๋์ง ํ์ธํ ์ ์์ต๋๊น?
๐ ๋ฒ๊ทธ ๋ณด๊ณ ์ ๋ฌธ์ ํ ํ๋ฆฟ์ ๋ค์ ๋ณด๋ ค๋ฉด ์ฌ๊ธฐ๋ฅผ ํด๋ฆญํ์ญ์์ค.
๋ฌธ์ ๋ฅผ ์ ์ถํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ค๋ช ์ ๋ค์ ์ดํด๋ณด๊ณ ๋ฌธ์ ํ ํ๋ฆฟ์ด ์์ ํ ์ฑ์ ์ก๋์ง ํ์ธํ ์ ์์ต๋๊น?
๐ ๋ฒ๊ทธ ๋ณด๊ณ ์ ๋ฌธ์ ํ ํ๋ฆฟ์ ๋ค์ ๋ณด๋ ค๋ฉด ์ฌ๊ธฐ๋ฅผ ํด๋ฆญํ์ญ์์ค.
์ ๋ฐ์ดํธ ๋จ
์ฐธ์กฐ ์ฉ Logcat ์ค๋ฅ ์คํฌ๋ฆฐ ์ท
64 ๋นํธ ๋ถํ ๋น๋ ๊ฒ์ Android 7.0์ด ์ค์น๋ Galaxy S7 ๋ฐ Galaxy S7 Edge์์ ์คํ์ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค.
Android vitals ํ์ :
์ ํธ 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 ๋นํธ ๋น๋ ๋ง ์ ๊ณตํ๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ํ์ฌ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ ๋๋ค.
Android 7.0์ ์คํํ๋ Galaxy S7์ @nadavmos ์ ๋๊ฐ์ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค. ์์์ ์ฑ์ด ์ถฉ๋ํฉ๋๋ค.
Android 7.0์ ์คํํ๋ Galaxy S7์ @nadavmos ์ ๋๊ฐ์ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค. ์์์ ์ฑ์ด ์ถฉ๋ํฉ๋๋ค.
@nsantacruz ๋ ๋ฐ์ ํ์์ ์ฌ์ฉํ๊ณ ์์ต๋๊น? ๋ค๋ฅธ ๋ชจ๋ ๊ธฐ์์๊ฒ ๊ณตํต์ ์ผ๋ก ๋ณด์ ๋๋ค.
@nadavmos ์ถฉ๋์ react-navigation
์ ๊ด๋ จ์ด ์์ต๋๋ค. ์ค์ ๋ก ์ฑ์ react-native init๋ฅผ ํตํด ์์ฑ ๋ ์๋ก์ด RN ํ๋ก์ ํธ์์ ์ถฉ๋ํฉ๋๋ค.
@hramos @mkonicek ์ง๊ธ๊น์ง arm64-v8a
๋ํ ์ง์์ ์ ๊ณต ํ ํ Samsung S7
, S7 Edge
์์ ์คํ๋๋ Android ๋น๋์ ์ํฅ์ ๋ฏธ์น๋ ์ต์ RN 0.59 ๋ฆด๋ฆฌ์ค์ ๋ฌธ์ ์ธ ๊ฒ์ผ๋ก ํ๋จ ํ ์ ์์ต๋๋ค. arm64-v8a
, x86_64
, build.gradle
์์ ์ ๊ฑฐํด๋ ์ฑ์ด ๋ค์ด๋์ง ์์ผ๋ฉฐ, Google Play 64 ๋นํธ ์ง์ ์ ์ฑ
์ ๋ฐ๋ผ 1 August 2019
์ดํ์ ๊ฒ์๋๋ ์ฑ์ ์ ์ฌ์ ์ผ๋ก ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์ฌ๋ฌ๋ถ๋ค์ ๊ด์ฌ์ ๋ถํ๋๋ฆฝ๋๋ค.
0.58.5์์๋ ๋ฐ์ํฉ๋๋ค. Galaxy S7. ์๋๋ก์ด๋ 6.0. 32 ๋นํธ ๋น๋๋ก ์ค์ ํ๋ ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค.
Android 7.0์ ์คํํ๋ Galaxy S7์์ RN 0.59.4์ 64 ๋นํธ ๋น๋์์ ๋์ผํ ์ถฉ๋์ด ๊ด์ฐฐ๋ฉ๋๋ค. ์ฌํ๊ฒ๋ ์ฐ๋ฆฌ๋ ํด๋น ๋ชจ๋ธ์ ์ฅ์น์ ์ก์ธ์ค ํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ ๋ชจ๋์์ ์ ์๋ํฉ๋๋ค.
๋ค์ ํ๊ฒฝ์์ Huawai P9 ์ฅ์น์ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
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)
Android 7์์ Samsung Galaxy S7๊ณผ ๋์ผํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
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, Andrew Jack [email protected] ะฝะฐะฟะธัะฐะป (ะฐ) :
์ด๊ฒ์ android / app / build.gradle์ ์ถ๊ฐํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋ ์ ์์ต๋๋ค.
packagingOptions {
pickFirst ' /libjsc.so'pickFirst ' /libc++_shared.so'
}
react-native-community / jsc-android-buildscripts # 95 https://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/ ์ค๋ ๋๋ฅผ ์์๊ฑฐํฉ๋๋ค.
์ด๊ฒ์
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๊ฐ์ด ์์ธ๋ฅผ ๊ธฐ๋กํ์ง ์๋ ์ด์ ๋ฅผ ์กฐ์ฌํ๋ ค๊ณ ํ์ต๋๋ค. ์๋ง๋ ๊ทธ๊ฒ์ด ์ด์ ์ผ ๊ฒ์ ๋๋ค ... ์ ๋ ํจ๋ธ๋ฆญ ์ฝ์์์ ๋ค์ดํฐ๋ธ ํฌ๋์๋ฅผ ํ ๋ ๋ฒ ๋ณธ ๊ฒ์ ๊ธฐ์ตํฉ๋๋ค. ๋ฐ๋ผ์ crashlytics๋ ๋ค์ดํฐ๋ธ ํฌ๋์๋ฅผ ๊ธฐ๋ก ํ ์ ์์ง๋ง์ด ๊ฒฝ์ฐ์๋ ๊ทธ๋ ์ง ์์ต๋๋ค.
@SpertsyanKM ์ถฉ๋์ ndk ์์ค์์ ๋ฐ์ํฉ๋๋ค. Crashlytics NDK ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ์ง ์์ผ๋ฉด Firebase ์ฝ์์ ๋น์ ์ ์ข ๋ฃ๊ฐ ํ์๋์ง ์์ต๋๋ค. https://docs.fabric.io/android/crashlytics/ndk.html
Thread.setDefaultUncaughtExceptionHandler
๋ Java ์์ธ ๋ง ํฌ์ฐฉํฉ๋๋ค.
์ค๋ RN 0.59.5๋ก ์ ๊ทธ๋ ์ด๋ํ๋๋ฐ ์ฌ์ ํ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค. ์ด ๋ฌธ์ ๋ ์์ง ํด๊ฒฐ๋์ง ์์์ต๋๋ค.
์๋ ํ์ธ์, ์ฌ๋ฌ๋ถ, ์ ๋ 0.59.5์์ ๋์ผํ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ AndroidManifest.xml์์ android : screenOrientation = "portrait"๋ฅผ ์ ๊ฑฐํฉ๋๋ค. ๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค.
@Jeijie ๋๋ ์ด๋ฏธ ๊ฑฐ๊ธฐ์ ๊ทธ๊ฒ์ ๊ฐ์ง๊ณ ์์ง ์์์ง๋ง ์ด์จ๋ ์ถ๋ฝํ์ต๋๋ค.
REDMI NOTE 4X Android 7.0 ๋ฐ huawei HRY AL00A Android 9์์ ๋์ผํ ๋ฌธ์
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์ ์ธ ๊ฐ์ง ๋ฒ์ (0.58.4, 0.58.5 ๋ฐ 0.59.5)์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ค๋ฅธ Android ๊ธฐ๊ธฐ์์๋ ์ถฉ๋์ด ๊ฐ์ง๋์ง ์์์ต๋๋ค.
ํ์ฌ์ด ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๋ ์ ์ผํ ํด๊ฒฐ์ฑ ์ 32 ๋นํธ์์๋ง ์ฑ์ ๋น๋ํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ Play ์คํ ์ด๊ฐ ๋ ์ด์ 32 ๋นํธ ์ฑ๋ง ํ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๋ 8 ์ 1 ์ผ์ ํด๊ฒฐ๋์ด์ผํฉ๋๋ค.
๋์ผํ ๊ฒฝํ, Android <= 7.0 (8.0 ์๋)์ Galaxy S7์ ๊ตญํ๋ฉ๋๋ค. 64 ๋นํธ ์ง์์ ํ์ฑํํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํฉ๋๋ค.
gradle ๊ธฐ๋ณธ ๊ตฌ์ฑ์์ 64 ๋นํธ๋ ์ง์ํ์ง ์์ผ๋ฉฐ ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค.
```
defaultConfig {
applicationId _applicationId
minSdk ๋ฒ์ 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
}```
์ฌ๊ธฐ์ ํ๋ ๋, ์ผ๋ถ Mediatek ์ฅ์น์์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
Alcatel A5 (ELSA6)
Alcatel 1x / TCL L9 (U5A_PLUS_4G)
x64๋ฅผ ์ง์ํ๋ MediaTek SoC๊ฐ์๋ ๋ค๋ฅธ ์ฅ์น
์๋ ํ์ธ์. ์ฐ๋ฆฌ๋ ๋ค์์ ๋ฐ๊ฒฌํ์ต๋๋ค.
64 ๋นํธ ์ง์์ ์ ๊ฑฐํ๋ฉด ์ถฉ๋ ๋ณด๊ณ ์๊ฐ ~ 90 % ๊ฐ์ํ์์ ํ์ธํ ์ ์์ต๋๋ค.
์ฌ์ ํ ์ผ๋ถ ์ฅ์น์์ ๋ฐ์ํฉ๋๋ค. ํ์ง๋ง ํ์ฌ์ "์์ "์ ์ ๊ฐ ์ง๊ธ ํ ์์๋ ์ต์ ์
๋๋ค.
OnePlus 3์์๋ ์ถฉ๋์ด ๋ฐ์ํ์ง๋ง 64 ๋นํธ ์ง์์ ์ ๊ฑฐํด๋ ๋์์ด๋์ง ์์ต๋๋ค. ๊นจ๋ํ react-native init ํ๋ก์ ํธ (์ฑ์ APK๋ฅผ ์ด ๋ ์๋ฎฌ๋ ์ดํฐ์์๋ ์ถฉ๋)๊ฐ ๋ฐ์ํฉ๋๋ค.
๋ฒ๋ค ๋ถํ ๋ก ํ๋ก๋์
์์ ์ถฉ๋ํ๋ ๋์ผํ ๋ฌธ์ s7 edge android 7.0, other๋ ๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค.
์ ํธ 11 (SIGSEGV), ์ฝ๋ 1 (SEGV_MAPERR)
์ญ ์ถ์ :
# 00 PC 000000000009e144
# 01 pc 00000000000a4a70
์ด ๋ฌธ์ ๋ ์ด๋ฏธ ์นํท ์ ์ฅ์์์ ์๋ณ๋์์ต๋๋ค. ๋ช ๋ฌ ์ ์์ด ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ์ ๋ ๋๊ธ์ ๋ฌ์์ต๋๋ค : https://github.com/WebPlatformForEmbedded/WPEWebKit/issues/327#issuecomment -436781890
๋ ธ๋ ฅ์ ์กฐ์ ํ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
์ฐธ๊ณ : Youi ์์๋ ๋นํ์ค ๋ฐฉ์์ผ๋ก RN์ ์ฌ์ฉํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์์ฒด 64 ๋นํธ JSC๋ฅผ ๊ตฌ์ถํ๊ธฐ ๋๋ฌธ์์ด ๋ฌธ์ ๋ 0.58 ์ด์ ์ ํจ์ฌ ์ผ์ฐ ๋ฐ์ํ์ต๋๋ค.
๊ณตํต ์์๋ Android 6.0 ๋๋ 7.0 (Level 23 ๋ฐ 24) ๋ฐ ARM 64 ๊ธฐ๊ธฐ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
์ด ์กฐํฉ์ ์ฌ์ฉํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ์ฅ์น๋ S7์
๋๋ค. S7์ Android 8๋ก ์
๊ทธ๋ ์ด๋ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
Android ARM 64 ๋นํธ ์๋ฎฌ๋ ์ดํฐ์์ ์ถฉ๋์ ์ฌํํ์ง๋ง Android ARM ์๋ฎฌ๋ ์ดํฐ ์ด๋ฏธ์ง๊ฐ ๋๋ฌด ๋ถ์์ ํ๊ณ ๋ฒ๊ทธ๊ฐ ๋ง์ ์์ ํ ์ ์์ต๋๋ค. ๋ํ ๋๋ฒ๊น ํ S7๋ ์๋๋ฐ, ์ผ์ฑ์์ด๋ฅผ ์ฝ๊ฒ ๋ง๋ค์ง ๋ชปํ์ง๋ง Android 7๋ก ๋ค์ด ๊ทธ๋ ์ด๋ํ๋ ค๊ณ ํฉ๋๋ค.
@kmagiera & @kudo ์ต๊ทผ์ JSC์ ์ ๋ฒ์ ์ ์ถ์ https://github.com/react-native-community/jsc-android-buildscripts/pull/95
@AndrewJack WebKit ๋ณด์ ํจ์น ๋ฐ 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 ์ถฉ๋ ๊ฒฝ๋ก๋ ์ฌ๋ด์์ ์ฌํํ๊ธฐ ์ด๋ ต๊ณ ๋ฌธ์ ํด๊ฒฐ๋ ์ด๋ ต์ต๋๋ค.
๋ช ๊ฐ์ง ์ ์ฌ์ ์ธ ์์ ์ฌํญ์ด ์์ง๋ง ์ด๊ฒ์ด ์ง์ ์ผ๋ก ์ถฉ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ง ํ์คํ์ง ์์ต๋๋ค.
์์ ์ฌํญ ์ค ํ๋๋ DFG_JIT ๋ฅผ
์ต์ JSC (WebKitGTK 2.24)์๋ ๋ง์ JIT ๋ณ๊ฒฝ ์ฌํญ์ด ํฌํจ๋์ด ์์ต๋๋ค. ์ ๊ทธ๋ ์ด๋๊ฐ ๋์์ด๋๋ค๋ฉด ์๋ํด ๋ณผ ๊ฐ์น๊ฐ ์์ต๋๋ค.
IMO, ์ฌ๋ด ๋ณต์ ๊ฐ ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋์์ ์คํ ๋ ๋น๋๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
๋ด ๊ณํ์ JSC๋ฅผ ๋ ์ฝ๊ฒ ์
๊ทธ๋ ์ด๋ํ๋ ๊ฒ์
๋๋ค. yarn add jsc-android@experiment
. ์ด๊ฒ์ RN 0.60์์ ๋ฐ์ํด์ผํฉ๋๋ค.
์ด ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๋ฉด ์ ์ด๋ ์ฐ๋ฆฌ๋ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํ๋ฐ ์์ ๋๊ฐ ์ ์์ต๋๋ค.
๋ฐ๋ฉด์ ์ ๋ขฐํ ์์๋ ์ฌํ ์ฝ๋์ ํ๊ฒฝ์ด ์๋ค๋ฉด ๋์์ด ๋ ๊ฒ์
๋๋ค.
์๋ฅผ ๋ค์ด react-native-navigation์ repo๊ฐ โโ์์ต๋๋ค. ๋ง์ ๋์์ด๋ฉ๋๋ค.
https://github.com/react-native-community/jsc-android-buildscripts/issues/84#issue -407898908
๋์์ด๋๋ค๋ฉด Android 9๊ฐ ์ค์น๋ Pixel 2์์๋ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค.
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
๋ก ์ด๋ ํ ๋ค์ ํ
์คํธ ํธ์ง๊ธฐ๋ก tombstone์ ์ด ์ ์์ต๋๋ค.
๋ค์ ๋งํ์ง๋ง, ์ด๋ฌํ ์ถฉ๋์ ํน์ฑ์ ๊ณ ๋ คํ ๋ ๊ทธ๋ค์ง ์ ์ตํ์ง ์์ต๋๋ค. ์ ์ด๋ ์ฐ๋ฆฌ์ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก mqt_js์ ๋ฎ์ ํฌ์ธํฐ ์ฃผ์์ ์์ต๋๋ค. ๋ํ 32 ๋นํธ ์ ์ฉ APK์์๋ ์ฌ์ ํ ๋ฐ์ํฉ๋๋ค (๋ ์ด์ํ๊ฒ / ์์ธกํ โโ์ ์์ง๋ง).
===
@ Kudoโ ๋ค์ํ JSC๋ฅผ๋ณด๋ค ์ฝ๊ฒ โโ์ํํด๋ณด๊ณ ๊ทธ ๊ธฐ๋ฅ์ ํ์ธํ ์ ์๊ธฐ๋ฅผ ๊ธฐ๋ํฉ๋๋ค. ์ด๊ฒ์ ๋งค์ฐ ๋น๊ฒฐ์ ์ ์ด๊ณ ์์ธกํ ์์๋ ์ถฉ๋๋ก 0.59๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๋ฐ์์ด ์ง๊ธ๊น์ง ์ง์ ํ ๊ณ ํต ํฌ์ธํธ์์ต๋๋ค (ํน์ ์ฅ์น์์๋ง ๋ฐ์ํฉ๋๋ค ... ๋๋ก๋).
๊ธฐํธํ ๋ ์ญ ์ถ์ ์ ์ป๊ธฐ ์ํด adb logcat๊ณผ ndk-stack ์ ๊ฒฐํฉํ์ต๋๋ค.
์๋ฅผ ๋ค์ด RN 059 ์ฃผ์ JSC ([email protected]) ๋ฐ arm64-v8a ABI๋ฅผ ํ๊ฒํ
ํฉ๋๋ค.
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
์ด ๋ฌธ์ ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
64 ๋นํธ๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ Google Play 64 bit support policy.
๋ฐ๋ฅธ ํด๊ฒฐ์ฑ
์ด ์๋๋๋ค. 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
์ผ์ฑ S7์์ ๋ง์ ์ถฉ๋์ด ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ถํํ๋ S7์ด ์์ต๋๋ค.
์ถ๊ฐ ๋ฌธ์ ํด๊ฒฐ์ ์ํด ์ ์ฉํ ์ ๋ณด๋ฅผ ์ป์ผ์๊ธฐ ๋ฐ๋๋๋ค.
์๋ ํ์ธ์.
@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-Android 7.1.2-LineageOS 14.1.
RN 0.59.8 ๋ฐ ์ต์ ๋ฒ์ ์ ๋ง์คํฐ ๋ธ๋์น์์ .
์ถฉ๋์ ์ฌํํ๊ธฐ ์ํด ๋ณ๊ฒฝ์ด ํ์ํ์ง ์์ต๋๋ค. ๊ธฐ๋ณธ RN ํ ํ๋ฆฟ์ ํ๋ฉด์ ์ฝ๊ฐ ํญํ ํ ์ถฉ๋์ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค.
์ฌ๊ธฐ Repo- https: //github.com/AndrewJack/jsc_crash/tree/rn_master_branch
์ถฉ๋ ๋ก๊ทธ๋ README.md์ ์์ต๋๋ค.
๋ค์ ๋จ๊ณ : JIT๊ฐ ๋นํ์ฑํ ๋ JSC์ ์์ฒด ๋ฒ์ ๋น๋
์ ๋ฒ์ ์ Android์ S7์ด ์๊ณ ๋ค์ด ๊ทธ๋ ์ด๋ํ๋ ค๋ ์ฌ๋์ด์๋ ๊ฒฝ์ฐ. ์ด๊ฒ์ด ๋ด๊ฐ ํ ์ผ์ ๋๋ค.
์ด ์ํํธ์จ์ด ๋ค์ด๋ก๋ :
์ต์ ๋ฐ์ ๋ค์ดํฐ๋ธ ๋ง์คํฐ์ @Kudo ์ ํฌํฌ์์ ๋๋ no-jit ๋ฅผ ์ฌ์ฉํ๋ฉด ์ถฉ๋์ ์ฌํ ํ ์ ์์ต๋๋ค.
https://github.com/AndrewJack/jsc_crash/tree/no_dfg_jit
https://github.com/AndrewJack/jsc_crash/tree/no_jit
@AndrewJack Amazing, ์คํ ํ ๋น๋๊ฐ ๋๋ฌด ๋น ๋ฅด๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
์๊ฒฌ์ ๋ณด๋ด ์ฃผ์
์ ๊ฐ์ฌ ๋๋ฆฌ๋ฉฐ ์ด๋ฌํ ๋ฒ์ ์ด ์ถฉ๋์ ํด๊ฒฐํ๋ค๋ ์ฌ์ค์ ์๊ฒ๋์ด ๊ธฐ์ฉ๋๋ค.
์น์ ํ๋,
๋ ๊ฐ์ ์คํ ๋ JSC ๋ฒ์ ์ด ์์ต๋๋ค. ์ด๊ฒ์ด ์ถฉ๋์ ํด๊ฒฐํ ์ ์๋์ง ์๋ํด๋ณด์ญ์์ค.
์ฌ๊ธฐ์ ๊ฐ๋จํ ๋จ๊ณ :
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
ํ ๊ฐ์ง ์คํ ๋ฒ์ ์ ํ ์ข
๋ฅ์ JIT๋ฅผ ๋นํ์ฑํํ๋ ๊ฒ์
๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ํ๋๋ @matthargett ์์ JIT๋ฅผ ์์ ํ ๋นํ์ฑํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ ๊ฐ์ง ๋ฒ์ ์ด ์ถฉ๋์ ํด๊ฒฐํด ์ค๋ค๋ฉด ๋ด ์์ ์ ์ธ๊ธ ๋๋๋ก ์ ๋ฐ์ ์ธ ์ฑ๋ฅ ๋ฐ TTI์ ๋ํด์๋ ํผ๋๋ฐฑ์ ๋ณด๋ด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
@Kudo ๊ฐ์ฌํฉ๋๋ค! ์ด๋ฌํ ๋น๋์ ๋์ GC์ ๋ํด ๋ฌด์์ ์๊ณ ์์ต๋๊น? 32 ๋นํธ ๋ฒ์ ๊ณผ ๋ค๋ฅธ ์ฐจ์ด์ ์ด์๋ ๊ณณ์์ ์ธ๊ธ ํ ๊ฒ์ ๋ณด์์ง๋ง ๋ ์ด์ ๊ทธ ์ฃผ์์ ์ฐพ์ ์ ์์ต๋๋ค. ์ถฉ๋์ด ์ง์๋๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์ง๊ณ ๋ ๊ฐ์น๊ฐ์๋ ๋ ๋ค๋ฅธ ์ผ์ด ๋ ์ ์์ต๋๋ค.
@wbercx ๋์ GC ๋๋ ๋์ JS (๋์ JIT)๋ฅผ ์๋ฏธํฉ๋๊น?
๊ธฐ๋ณธ์ ์ผ๋ก ๋์ GC๋ arm64 ๋ฐ x64์์๋ง ํ์ฑํ๋ฉ๋๋ค.
๋์ GC๋ ์ถฉ๋ ๋ฌธ์ ์ ๊ด๋ จ์ด ์์ ์ ์์ต๋๋ค. ํ ๊ด๋ฆฌ์ ๊ดํ ๊ฒ์ด์ง JIT์ ๊ด๋ จ์ด ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
๋ ๋น๋ ๋ชจ๋์์ ๋์ JS๊ฐ ๋นํ์ฑํ๋์์ต๋๋ค.
(๊ธฐ๋ณธ์ ์ผ๋ก ENABLE(DFG_JIT) && USE(JSVALUE64)
๋ํด์๋ง ํ์ฑํ๋ฉ๋๋ค.)
BTW, JavaScriptCore์ JIT๋ ๋ณต์กํ๋ฉฐ ์ด์ ๋ํ ์ ๋ฌธ๊ฐ๊ฐ ์๋๋๋ค.
๋ด๊ฐ ํ๋ ธ๋ค๋ฉด ์์ ๋กญ๊ฒ ์ง์ ํ์ญ์์ค.
@Kudo no-jit
๋ฐ no-dfg-jit
์คํ์ฉ JSC ๋ฒ์ ์ ์ฌ์ฉํด ๋ณด์์ง๋ง ์ถฉ๋์ ์ฌํ ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ @AndrewJack์ด ๋ณด๊ณ ํ ๊ฒ๊ณผ ์ผ์นํ๋ ๊ฒ
๋๋ ๊ธฐ๋ณธ ํ๋ก์ ํธ์์ ์ด๊ฒ์ ์๋ํ๊ณ ์์๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ ๋ํด์๋ ์ธ๊ธ ํ ์ ์์ต๋๋ค.
๋ ๋ง์ ์ ๋ณด๊ฐ ์์ต๋๋ค.์ด ์ถฉ๋๋ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
์ผ์ฑ Galaxy S7 (herolte), Android 7.0
Oppo F7 (CPH1819), Android 8.1
0.58.5์์๋ ๋ฐ์ํฉ๋๋ค. Galaxy S7. ์๋๋ก์ด๋ 6.0. 32 ๋นํธ ๋น๋๋ก ์ค์ ํ๋ ๊ฒ๋ ์๋ํ์ง ์์ต๋๋ค.
32 ๋นํธ๋ก ๋ ๋๋ฆฐ ํ์๋ ์ฌ๊ธฐ์์๋ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค.
@MalcolmScruggs ๋ ์คํ ๋ฒ์ ์ด ์ถฉ๋์ ํด๊ฒฐํ๋ ๊ฒ์ ๋ค์ผ๋ ๋ฐ๊ฐ์ต๋๋ค.
DFG_JIT๋ฅผ ๋นํ์ฑํํ๋ ค๊ณ ์๊ฐํ๊ณ ์๋๋ฐ, ์ ์ด๋ JIT ์ต์
์ ์ด์ JSC์ ์ผ์นํฉ๋๋ค.
@Kudo ์ํฅ์๋ฐ๋ ์ฅ์น / CPU์๋ง DFG_JIT
์ (๋ฅผ) ๋นํ์ฑํํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ณํ์
๋๊น?
๋๊ตฐ๊ฐ๊ฐ ์ผ๋ถ ์ถฉ๋์ ์์ ํ๋ React Native (0.59.8)์ ๋ง์ง๋ง ๋ฒ์ (๋ฆด๋ฆฌ์ค ๋
ธํธ์ ์ธ๊ธ ๋จ)์ผ๋ก ์๋ ํ์ต๋๊น?
https://github.com/facebook/react-native/releases
๋๊ตฐ๊ฐ๊ฐ ์ผ๋ถ ์ถฉ๋์ ์์ ํ๋ React Native (0.59.8)์ ๋ง์ง๋ง ๋ฒ์ (๋ฆด๋ฆฌ์ค ๋ ธํธ์ ์ธ๊ธ ๋จ)์ผ๋ก ์๋ ํ์ต๋๊น?
https://github.com/facebook/react-native/releases
์ ๊ฒฝ์ฐ์๋ 0.59.8์ ์ฌ์ฉํ๊ณ ์์๋๋ฐ, ๊ทธ ์ดํ๋ก๋ ์๋ฌด๊ฒ๋ ์๋ํ์ง ์๋ ๊ฒ ๊ฐ์ ๊ธฐ ๋๋ฌธ์ 0.57.8๋ก ๋๋ ๋ ธ์ต๋๋ค. ์ด ๋ฒ๊ทธ๋ ์ฑ์ ์ด ๋ ์ฆ์ ์ถฉ๋์ ์ผ์ผํค๊ธฐ ๋๋ฌธ์ ํนํ ๋์ฉ๋๋ค. ๋ด ์ฑ์ ๋ฆฌ๋ทฐ์์ ๊ฝค ์๋์ต๋๋ค.
์ด๋ฌํ ์ฅ์น์๋ ์ ํธ 11 ์ถฉ๋์ด ์์ง๋ง ๋ฉ๋ชจ๋ฆฌ ์์น ๋ง ํ์๋ฉ๋๋ค.
์ผ๋ฐ ๋ชจ๋ฐ์ผ GM8 Go-Android 8.1
Motorola Moto E-Android 7.1
์ผ์ฑ Galaxy A6 +-Android 8.0
์ผ์ฑ Galaxy Grand Prime Pro-Android 8.0
์ผ์ฑ Galaxy Tab S2-Android 8.0
์ผ์ฑ Galaxy J5 Prime-Android 8.0
์ผ์ฑ Galaxy J6-Android 8.0
์ผ์ฑ Galaxy J7 Max-Android 8.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
์ผ์ฑ Galaxy Note9-Android 9.0
์ผ์ฑ Galaxy S9-Android 9.0
Xaomi Redmi Note 5 Pro-Android 8.1
@ harryt2 ๋ชฉ๋ก์ ์ฅ์น๋ฅผ ์ถ๊ฐ ํ ์ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์์น ๋ง์๋ Signal 11 ์ถฉ๋ :
์ผ์ฑ Galaxy Note 9-Android 9.0
Huawei Honor 8X-Android 9.0
์ผ์ฑ Galaxy A7 (2018)-Android 9.0
์ผ์ฑ Galaxy S9-Android 9.0
์ผ์ฑ Galaxy A6 +-Android 9.0
Nokia Nokia 8-Android 9.0
Huawei Huawei P30 lite-Android 9.0
์ผ์ฑ Galaxy Note8-Android 9.0
์ผ์ฑ Galaxy A9-Android 8.0
์ผ์ฑ Galaxy S7-Android 8.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 ์ฐ๋ฆฌ๋ ์ฌ์ ํ ๋ฐ์ ๋ค์ดํฐ๋ธ 0.59.8๋ก ์ผ์ฑ s7์์ ์ด๋ฌํ ์ถฉ๋์ ๋ณผ ์ ์์ต๋๋ค.
์ด ์๊ฐ์ ๋ํ ํด๊ฒฐ์ฑ
์ด ์์ต๋๊น?
๋ ๊ฐ์ ๋ค๋ฅธ ๊ฐค๋ญ์ ๋
ธํธ 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 ์ฝ์ด์ ์คํ์ ์ธ ๋น๋๊ฐ ์ฐ๋ฆฌ์๊ฒ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ ๊ฐ๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค (์ผ์ฑ s7์์ ํ ์คํธ ๋จ).
์ด ์ถ์ ๊ณผ ๊ด๋ จ๋ ๋ด ์ถฉ๋์ Android์์ 0.58.6
๋ค์ด ๊ทธ๋ ์ด๋ํ์ ๋ ์ฌ๋ผ์ก์ต๋๋ค. 57.6
๋ก ๋ค์ด ๊ทธ๋ ์ด๋ ํ ๊ณํ ์ด์์ง๋ง 58.6
์ (๋)์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐ ํ ๊ฒ ๊ฐ์ต๋๋ค.
๊ตฌ๋
์น์ ํ๋,
๋ ๊ฐ์ ์คํ ๋ JSC ๋ฒ์ ์ด ์์ต๋๋ค. ์ด๊ฒ์ด ์ถฉ๋์ ํด๊ฒฐํ ์ ์๋์ง ์๋ํด๋ณด์ญ์์ค.
์ฌ๊ธฐ์ ๊ฐ๋จํ ๋จ๊ณ :
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17ํ ๊ฐ์ง ์คํ ๋ฒ์ ์ ํ ์ข ๋ฅ์ JIT๋ฅผ ๋นํ์ฑํํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ํ๋๋ @matthargett ์์ JIT๋ฅผ ์์ ํ ๋นํ์ฑํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ ๊ฐ์ง ๋ฒ์ ์ด ์ถฉ๋์ ํด๊ฒฐํด ์ค๋ค๋ฉด ๋ด ์์ ์ ์ธ๊ธ ๋๋๋ก ์ ๋ฐ์ ์ธ ์ฑ๋ฅ ๋ฐ TTI์ ๋ํด์๋ ํผ๋๋ฐฑ์ ๋ณด๋ด ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค.
@Kudo ๋๋ ๋น์ ์ ์์ ์์๋ ์ธ๊ธํ๋ฏ์ด ์ฌ๊ธฐ์ ๋ ๊ฐ์ง ๊ด์ฐฐ์ด ์์ต๋๋ค.
@kudo-ci/jsc-android@241213-no-dfg-jit
์ข
์์ฑ์ผ๋ก ์ค๋จ๋ฉ๋๋ค.@kudo-ci/jsc-android@241213-no-jit
์ข
์์ฑ as of now
ํ๊ณ TTI๋ ์ด์ ๋น๋์ ๊ด๋ จํ์ฌ ๋์ผํ๊ฑฐ๋ ๋์ ๋์ง ์์ต๋๋ค.์ข์์, no_dfg_jit
์ ๋ํด ํ
์คํธํ์ ๋ ์ฑ์ด ์ค๋จ๋๋ ๊ฒ์ ์์ ๊ธฐ ๋๋ฌธ์ ํ ์์ฒญ ์ด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ์ ์ถฉ๋ถํ ๊น์?
์ฌ๊ธฐ์ ๋ ๋ง์ ์
๋ฐ์ดํธ๊ฐ ์์ต๋๋ค.
S7 edge์์ ๋ค์ดํฐ๋ธ ํฌ๋์๊ฐ ์ฝ๊ฒ ๋ฐ์ํ๋์ง ์ ๋ง ์์ฌ ์ค๋ฝ์ต๋๋ค. ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์
์ด ๊ทธ๋ฌํ ๋ฌธ์ ์ ์ง๋ฉดํ์ ๊ฒ์
๋๋ค.
์ก์๋ค!
Text API๋ฅผ ์ฌ์ฉํ๋ Google Play ์๋น์ค์์ด ๋ฌธ์ ๊ฐ ์์์ง๋ง OSS ์์ ์ฌํญ์ ์์ต๋๋ค.
Mono๋ S7 Exynos bit.LITTLE arch์์ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌ ํ์ผ๋ฉฐ ์ฌ๊ธฐ์ ์์ ์ฌํญ์ด ์์ต๋๋ค.
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 ( ์ฌ๊ธฐ์ ์ฐธ์กฐ ์์ค ์ฝ๋ )ํฌ๋์ ๋ฌธ์ ๋ฅผ ๋ค์ ํ์ธํ ์ ์์ง๋ง ๊ธฐ๋ณธ ๊ธฐ๋ฅ ๋ง ํ์ธํ๋ ๊ฒ์ด ์ ๊ฐ์
๋๋ค.
๊ฐ๋ฅํ๋ฉด ๋ ์คํ 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
์ ๋ชจ๋ ์๋ํ์ผ๋ฉฐ ๋ ๋ฒ์ ๋ชจ๋ ์ถฉ๋์ด ๋ฐ์ํ์ง ์์ต๋๋ค. Android 7.0์์ Samsung Galaxy S7์์ ํ
์คํธํ์ต๋๋ค.
[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์ ๋ฐํํ๋ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๊ทธ๊ฒ์ ์ ๊ฑฐํ๊ณ ์กฐ๊ฑด๋ถ๋ก ์คํ์ผ ์์ฑ์ ์ถ๊ฐํ๋ ๊ฒ๋ง์ผ๋ก ๋น์ทํ ์์ธ๊ฐ ์์ ๋์์ต๋๋ค. ๋น์ ์ ๋ค์ดํฐ๋ธ ๋ชจ๋ ์ ํ์ ๋ฌด์ธ๊ฐ๊ฐ ์งํ๋ ์ ์์ต๋๊น?
@tuncaulubilge ์ ๋ณด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
Samsung 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
ํ
์คํธ ํ ์ ์ด ์์ต๋๊น?
์ด ๋ ๋ฒ์ ์ arm32์์ ๋์ผํด์ผํ๋ฉฐ ๋ ์ค ํ๋๋ง ํ
์คํธ ํ ์ ์์ต๋๋ค.
@Kudo ์ ๋ฐ์ดํธ
์๋ ๋ฌธ์ ([๋ ์ ] 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
)์ ๋ํด ๋ ๋ฒ์ ๋ ๋ค๋ฅธ ์ถฉ๋์ ์๊ทนํ์ต๋๋ค.
#00 pc 00000000004886ac /data/app/org.ifsc.boulder14-ECb5NhJUQgyp_UkWAZLdKg==/lib/arm64/libjsc.so (operationLinkDirectCall+176)
#01 pc 000000000043ad90 <anonymous>
ํ ์คํธ ์ฑ์ ๋ ๋ฒ ์ถฉ๋ ์์ผฐ์ง๋ง ๋งค๋ฒ ๋์ผํ ์๋ช ์ ์ฌ์ฉํ์ง๋ง ์ถฉ๋์ ์ฒด๊ณ์ ์ผ๋ก ๋ฐ๋ณต๋์ง ์์ผ๋ฉฐ ์์ ์๊ฐ ์๋ ํ ์คํธ ์ฑ์ ๋ค๋ฅธ ํ๋ฉด ์ฌ์ด๋ฅผ ํ์ํ๋ ๋์ ๋ฐ์ํฉ๋๋ค. ๊ด๋ จ ์ฅ์น๊ฐ ์์ ์กํ๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ ์ฅ์น์์ ๋ ์์ ํ ์ถ์ ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
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์์ ์ถฉ๋ ๋๋ฒ๊น ๋ฐ ํด์์ ์ด์ ์ ํด๋ณธ ๊ฒ์ด ์๋๋๋ค.
@Kudo ๋ค์์ ๋ด ๊ฒฐ๊ณผ์ ๋๋ค.
์ผ์ฑ 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๋ฅผ ๋นํ์ฑํํ๊ณ ์ถ์ต๋๋ค.
BTW @tuncaulubilge @kudo-ci/jsc-android@241213-no-jit
์ด ์ฃผ์ JSC๋ณด๋ค ๋น ๋ฅด๋ค๋ ๊ฒ์ ์ด๋ป๊ฒ ์ธก์ ํ์ต๋๊น?
๋ฒค์น ๋งํฌ ๊ฒฐ๊ณผ์์ ๋ณผ ๋ no-jit ๋ฒ์ ์ด ์ฝ๊ฐ ๋๋ฆฌ๊ฒ ์๋ํ๊ธฐ ๋๋ฌธ์ ๊ถ๊ธํฉ๋๋ค.
@Kudo ์ฑ ์์ ์๊ฐ๊ณผ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๋ ์ธก์ ํ๋์? ์ ๋ ํญ์์ด ๋ ๊ฐ์ง ์ธก์ ํญ๋ชฉ์ด JIT์์ด ๋ ๋์ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํ์ต๋๋ค. ๋๋ถ๋ถ์ ์ฑ์ UI๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ JIT๊ฐ ์ค์ ์ฑ์์ ๋ง์ ์ด์ ์ ์ป์ ์ ์์์ง ํ์ ํ์ง ๋ชปํ๋ฏ๋ก ์์ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ๊ฐ์ ํ๋ฉด JIT๋ฅผ ๋นํ์ฑํํ๊ณ ์ถ์ต๋๋ค. ๋ํ JSC๊ฐ JIT์์ด ๋ ์์ ๋์คํฌ ํ ํ๋ฆฐํธ๋ฅผ ๊ฐ๊ฒ ๋ ์ง ๊ถ๊ธํฉ๋๋ค.
๊ตฌ๋
์ด ํ
์คํธ ๋น๋์์ํ๋ ๊ฒ์ฒ๋ผ __clear_cache๋ฅผ ์์ ํ๋ฉด ์ํฉ์ด ํ์คํ ๊ฐ์ ๋์ง๋ง ์์ ์ผ๋ก ์ธํ ๋ถ์์ฉ์ด ์๊ฑฐ๋ ์์ง ๋ช
ํํ์ง ์์ ๋ ๋ณต์กํ ์ํธ ์์ฉ์ด ์์ต๋๋ค. ์ฆ, -fix-clear-cache-dfg
ํ
์คํธ ์ฑ์ ๋ค์ ๋ค์ด์ํฌ ์ ์์์ต๋๋ค. @tuncaulubilge๊ฐ ๋งํ๋ฏ์ด ๋์์ ๋ฉ๋ชจ๋ฆฌ ์๋ ฅ ๋ฐ / ๋๋ ๊ธฐํ ์์ธ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
JIT๋ฅผ ์์ ํ ๋นํ์ฑํํ๋ ๊ฒ์ "์ถฉ๋์๋"์ต์ ์ธ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ์ฑ๋ฅ์ด ์ ํ๋์ง ์์ผ๋ฏ๋ก "์์ ํ"์ ํ์ด ๋ ๊ฒ์ ๋๋ค.
@Kudo ๋ฅผ ๋ช
ํํํ๊ธฐ ์ํด React-Native 0.58.6 (์ฌ์ฉ์ ์ ์ jsc๊ฐ ์ค์น๋์ง ์์)๊ณผ 0.59.8์ @kudo-ci/jsc-android@241213-no-jit
๊ณผ ๋น๊ตํ์ต๋๋ค.
๋๋ ์ด๋ค ์ธก์ ๋ํ์ง ์์์ง๋ง ์ฑ๋ฅ ํฅ์์ ๋งค์ฐ ๋์ ๋๋๋ค. ์์ ์ธ๊ธํ๋ฏ์ด no jit
๋ฒ์ ์ด [email protected]
๋ณด๋ค ์ฝ๊ฐ ๋๋ฆด ๊ฒ์ผ๋ก ์์ํ์ง๋ง ๋น๊ตํ๋ฉด ๋ฌด์ํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ์ต์
์ผ๋ก no-jit
๋ฒ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์์ ์ฑ ํฅ์์ด jit์์ ์ป์ ์์๋ ์ฌ์ํ ์ฑ๋ฅ ํฅ์๋ณด๋ค ํจ์ฌ ํฝ๋๋ค.
Expo v32๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ์ ๋น๋ํ๊ณ ์์ผ๋ฉฐ Android ๋ฒ์ ๊ณผ ์ฅ์น์์์ด ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.
@ tido64 TTI๋ ํฐ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ๋ฐ์ด๋๋ฆฌ ํฌ๊ธฐ๋ no_dfg ๋ฒ์ ์์ ์ฝ 1MB ๊ฐ์ํฉ๋๋ค. ๋ฉ๋ชจ๋ฆฌ๋ ์ฝ 48 % ๊ฐ์ํฉ๋๋ค.
JIT๋ฅผ ์์ ํ ๋นํ์ฑํํ๊ธฐ ์ํด PR์ ๋ณด๋๊ณ ์ธก์ ๊ฒฐ๊ณผ๊ฐ ์์ต๋๋ค.
https://github.com/react-native-community/jsc-android-buildscripts/pull/108
@timhatch __clear_cache ์์ ์ด ์ฝ๊ฐ ๋์์ด๋๋ค๋ ์์์ ๋ค์ผ๋ ๋ฐ๊ฐ์ต๋๋ค.
๋๋ ์ฌ์ ํ ๊ทผ๋ณธ ์์ธ์ด big.LITTLE์์ ์ค๋ ๊ฒ์ธ์ง ์์ฌํ์ง๋ง ์์ง ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋ ๋ค๋ฅธ JSC ์ฝ๋๋ฅผ ์ฐพ์ง ๋ชปํ์ต๋๋ค.
์ผ์ฑ S5์ S7์ ๋ชจ๋ ํฝ๋๋ค. LITTLE๊ณผ ๋ CPU ์ธํธ๋ ์บ์ ๋ผ์ธ ํฌ๊ธฐ๊ฐ ๋ค๋ฆ
๋๋ค.
์ด๊ฒ์ด ์ผ์ฑ ๋
ธํธ 5์์ ์ถฉ๋์ ์ฌํ ํ ์์๋ ์ด์ ์ผ ์ ์์ต๋๋ค. ๋ CPU ์ธํธ ์บ์ ๋ผ์ธ ํฌ๊ธฐ๊ฐ ๋ชจ๋ 64B์ด๊ธฐ ๋๋ฌธ์
๋๋ค.
OS ์ค์ผ์ค๋ฌ์ JSC๊ฐ ๋ฐํ์์ ํฐ <-> LITTLE CPU๊ฐ์ ์ ํ ํ ์ ์๋์ง ํ์คํ์ง ์์ต๋๋ค.
์ฌ์ค์ด๋ผ๋ฉด ํนํ ๊ทธ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
@tuncaulubilge ์ ์๊ฒ ํธ๊ธฐ์ฌ์ด
๋ด PR์ ํ์ธํ ์ ์์ต๋๋ค. no-jit ๋ฒ์ ์ ์ฌ๊ณ RN058 JSC๋ณด๋ค ๋๋ฆฝ๋๋ค.
์ธก์ ์ค์ ๋๊ผ๋ ๊ฒ์ด๊ธฐ๋ํฉ๋๋ค.
๋ฒค์น ๋งํฌ๋ ๊ทน๋จ์ ์ธ ๊ฒฝ์ฐ์ด๊ณ ์์ ์ RN ์ฑ๊ณผ๋ ๋ค๋ฅผ ์ ์์ต๋๋ค.
BTW, ๋๋ no-jit ๋ฒ์ ์์ ๋ฐ์ด๋๋ฆฌ ํฌ๊ธฐ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐ๊ฐ ๊ฐ์ํ๋ ๊ฒ์ ๋ณด์์ต๋๋ค.
์ด ๋ ๊ฐ์ง ์ด์ ๊ณผ ์ถฉ๋ ๋ฐฉ์ง๊ฐ ๋ ํฉ๋ฆฌ์ ์
๋๋ค.
@RomanovYurii build.gradle์ defaultConfig ๋ธ๋ก์์๋ ndk abiFilters์์ 64 ๋นํธ ndk ํํฐ "arm64-v8a", "x86_64"๋ฅผ ์ ๊ฑฐํ๋ฉด 32 ๋นํธ ๋ง ์ง์๋ฉ๋๋ค. ์ถฉ๋์ ์ฌ๋ผ์ก์ง ๋ง Google 64 ๋นํธ ์ง์ ์๋ฌด์ ๋ฐ๋ผ 64 ๋นํธ ndk ์ง์์ผ๋ก ์์ ํด์ผํฉ๋๋ค.
@dishantwalia @Kudo๋ JIT๊ฐ 64 ๋นํธ์์ ์๋ํ๋ฉฐ ์ง๊ธ๊น์ง ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ๋ณด์ง ๋ชปํ์ต๋๋ค.
์ด ์์ง๋ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
์น์ ํ๋,
์ฐ๋ฆฌ๋ no-JIT JSC๋ฅผ jsc-android npm์ ๊ฒ์ํ์ผ๋ฉฐ jsc-android@next
์ ์ฌ์ฉํ๋๋ก ์ด์ ์์ ์ ์์ ํ์ต๋๋ค.
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
๋ชจ๋ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฑ๋ฅ ์ ํ๊ฐ ํฌ์ง ์์ ๊ฒฝ์ฐ์๋ no-JIT ๋ฒ์ ์ @latest ๋ฒ์ ์ผ๋ก ๊ณต์ ์ ์ํ๊ณ ์ต์ RN์ ๋ด์ฅ๋๋๋ก PR์ ๋ณด๋
๋๋ค.
์น์ ํ๋,
์ฐ๋ฆฌ๋ no-JIT JSC๋ฅผ jsc-android npm์ ๊ฒ์ํ์ผ๋ฉฐ
jsc-android@next
์ ์ฌ์ฉํ๋๋ก ์ด์ ์์ ์ ์์ ํ์ต๋๋ค.
https://gist.github.com/Kudo/cc40662163fbd69dd01d66fd99476c17
๋ชจ๋ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฑ๋ฅ ์ ํ๊ฐ ํฌ์ง ์์ ๊ฒฝ์ฐ์๋ no-JIT ๋ฒ์ ์ @latest ๋ฒ์ ์ผ๋ก ๊ณต์ ์ ์ํ๊ณ ์ต์ RN์ ๋ด์ฅ๋๋๋ก PR์ ๋ณด๋ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค @Kudo disable-jit๋ ์ฐ๋ฆฌ์๊ฒ ๋งค๋ ฅ์ฒ๋ผ ์๋ํฉ๋๋ค !!!
๋ชจ๋ ๋ ธ๋ ฅ์ ๋ํด
์ถฉ๋์ด ์ฌ๋ผ์ง ๊ฒ๋ ํ์ธํ ์ ์์ง๋ง ์ ๊ฐํ ์ฅ์น์์๋ ์ฑ๋ฅ์ด ์๋นํ ์ ํ๋๊ณ ์์ต๋๋ค. ์ข ๋ ํ๋์ ์ธ JSC๋ฅผ ์ํด RN58 / RN59๋ก ์ ๊ทธ๋ ์ด๋ํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ค๋ ์ ์ ๊ณ ๋ คํ๋ฉด ๋งค์ฐ ์ค๋ง ์ค๋ฝ์ต๋๋ค.
@kudo ์ต์ ์ ์๋๋ฆฌ์ค์์ jit์ 64 ๋นํธ ๋ฒ์ ์์๋ง ๋นํ์ฑํ๋์ด์ผํ๋ฉฐ 64 ๋นํธ ์ง์ ์ฅ์น ๋ง ์ถฉ๋ํฉ๋๋ค.
@yenda ๋น๋๊ฐ ์์ ๋๋ฉด ํด๋น ์ต์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ผ๋ง๋ ํ๋ค์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋ ๊ฐ์ง ๋ฒ์ ์ JSC๋ฅผ ์ถ์ํ๋ ๊ฒ์ ์๋๋๋ค.
@benoitdion @ItsNoHax ์ฑ๋ฅ์ด ์ ํ ๋ ํน์ ์ฅ์น๋ฅผ ๋์ด ํ ์ ์์ต๋๊น? ๊ฐ์ฌ!
Nexus 5 ๋ฐ Samsung Tab E์์ ํ ์คํธ๋์์ต๋๋ค.
RN ํ๋ก์ ํธ๋ฅผ 59.x๋ก ์
๊ทธ๋ ์ด๋ํ๋ Google ์ง์์ ๊ฒฝ์ฐ android/app/build.gradle
-> android {defaultConfig {versionName}}์์ react-native-code-push ์ง์ ๋ ๋ฒ์ ๊ณผ ์ผ์นํ์ง ์๋์ง ํ์ธํ์ธ์.
๋๋ ๊ฐ์ ๋ฌธ์ ๋ก ์ฝ 3 ์ผ ๋์ ๊ณ ์ํ๊ณ ๋์ค์ v59.3์์ ์ ๊ทธ๋ ์ด๋ ๋ React Native ํ๋ก์ ํธ๊ฐ React Native v54.7์ด์๋ ์ฝ๋ ํธ์์ ์ํด ์ ๋ฐ์ดํธ๋๊ณ ์๋ค๋ ๊ฒ์ ์๊ฒ๋์์ต๋๋ค.
90 %์ ์ฌ๋๋ค์๊ฒ๋ ๊ทธ๋ ์ง ์์ต๋๋ค. ํ์ง๋ง ์ ์ ๊ฐ์ ์ฌ๋๋ค์๊ฒ๋ ์๊ฐ์ ์ ์ฝ ํ ์ ์์ต๋๋ค.
๊ทธ ํ @Kudo์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ถฉ๋ ๋ฌธ์ ๋ฅผ ์์ ํ์ต๋๋ค.
Huawei Honor 8X์๋์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ถฉ๋์ด ์ฌ๋ผ์ง ๊ฒ๋ ํ์ธํ ์ ์์ง๋ง ์ ๊ฐํ ์ฅ์น์์๋ ์ฑ๋ฅ์ด ์๋นํ ์ ํ๋๊ณ ์์ต๋๋ค. ์ข ๋ ํ๋์ ์ธ JSC๋ฅผ ์ํด RN58 / RN59๋ก ์ ๊ทธ๋ ์ด๋ํ๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ค๋ ์ ์ ๊ณ ๋ คํ๋ฉด ๋งค์ฐ ์ค๋ง ์ค๋ฝ์ต๋๋ค.
์ฌ๊ธฐ๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. Android์ ์ด์ RN์ ๋๋ฆฌ๊ณ ์ถฉ๋์ด ๋ฐ์ํ์ผ๋ฉฐ ์ RN์ ๋น ๋ฅด๊ณ ์ถฉ๋์ด ๋ฐ์ํ์ผ๋ฉฐ์ด ์์ ์ ํตํด ์ RN์ ์์ ์ ์ด๊ณ ๋๋ฆฝ๋๋ค. Android์์๋ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๐
์น์ ํ๋,
No-JIT ๋ฒ์ ์์ ์ฑ๋ฅ์ด ๋์๊ฒ ํ๋ํด์ ๋๋ฌด ์ฃ์กํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ง๊ธ์ ํด๊ฒฐ์ฑ
์ด ์์ด์ ์ฃ์กํฉ๋๋ค.
์ฌํ ํ ์์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
์ปค๋ฎค๋ํฐ์ ๋๊ตฐ๊ฐ๊ฐ ๋ฌธ์ ๋ฅผ ํํค์น๋ ๋ฐ ๋์์ ์ค ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
RN ์ฉ JSC๋ 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 ๋ ๋๋ถ๋ถ ์์ ์ ์ธ ์ฌํ ์ฌ๋ก๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ด๋ถ ํ์ด์ค ๋ถ ๋ฐ์ ๋ค์ดํฐ๋ธ ํ์ jsc ์ ๋ฌธ๊ฐ๊ฐ์์ ์ ์์ต๋๊น?
๋ฐฉ๊ธ์ด ๋ฌธ์ ์ ์ง๋ฉดํ์ผ๋ฉฐ ์ค์ ์ฅ์น, LENOVO A701a48, RUNNING ANDROID 6์์๋ง ๋ฐ์ํฉ๋๋ค.
"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๋ ์์ง๋ง DFG JIT๋ ์์ต๋๋ค.
์ฃผ๋ชฉํ ๋งํ ๋ณํ๋ ์ต์ 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 @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
์ ์๋ํฉ๋๋ค!
์์ JSC ์ฌ์ฉ์ RN v0.59์์ ๋ฐ์ํ๋ ์ถฉ๋์ด ์ฌ๋ผ์ง ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. Google Nexus 6์์ ํ ์คํธ๋์์ผ๋ฉฐ ๋ค๋ฅธ ์ ํ์ ์ถ์ ํ ํ์ธ๋ฉ๋๋ค.
๊ฐ์ฌ!!
@Kudo @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
์ ์๊ฒ๋ ํจ๊ณผ๊ฐ ์์์ ํ์ธํ ์ ์์ต๋๋ค. RN v0.59์์ ์ด์ ์ ๋ฐ์ํ์ผ๋ฉฐ no-jit
๋๋ jsc-android v241213.2.0
๋ก ์์ ๋ Samsung Galaxy S7 SM-G930FD์์๋ ์ถฉ๋์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
์ด ์๋ก์ด ๋น๋๋ฅผ ํตํฉ ํ ๊ธฐํ๊ฐ ์์ง ์์์ต๋๋ค. ๋ค๋ฅธ ํ๋ก์ ํธ ์ด์ ํ๊ฐ ๋ฐฉํด๋ฅผ ๋ฐ๊ณ ์์ง๋ง์ด ์์ ์ด ๋๋ ์๋ง์ ๊ทธ๋ ๊ฒ ํ ๊ณํ์ ๋๋ค.
@Kudo ์ ์๋ no-dfg
๋ ๋ด๊ฐ ๋ณธ ์ถฉ๋์ 99 %๋ฅผ ์์ ํ๊ณ ๋จ์ผ ์ถฉ๋์ ์๊ทน ํ ์ ์์์ง๋ง ๋ฐ๋ณต ํ ์ ์์์ต๋๋ค.
@tuncaulubilge ๊ฐ ์๋์ no-dfg
๋น๋๋ก ์ถฉ๋์ ์ฌํ ํ ์ ์๋ค๊ณ ๋ฏฟ์ต๋๋ค. ๊ทธ๋์ ๊ทธ๊ฐ์ด ์๋ก์ด ๋น๋๋ฅผ ์ด๋ป๊ฒ ๋ง๋๋์ง ๋ณด๋ ๊ฒ์ด ํฅ๋ฏธ๋ก์ธ ๊ฒ์
๋๋ค.
@rimzici @dishantwalia @timhatch ๋์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
@tuncaulubilge ์๊ฐ์ด ์๋ค๋ฉด ์ต์ ์คํ ๋ฒ์ ์ ํ์ธํ๋ ๋ฐ ๋์์ ์ฃผ์๊ฒ ์ต๋๊น?
IIRC, ๋น์ ๊ณผ @timhatch ๋ง์ด 241213
-fix-clear-cache-no-dfg"์์ ์ถฉ๋์๋ณด๊ณ ํ์ต๋๋ค.
์
๋ฐ์ดํธ ๋ ๋ฒ์ ์ผ๋ก ์ถฉ๋์ ํด๊ฒฐํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๊ฐ์ฌํฉ๋๋ค.
๊ตฌ๋
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
๋ฅผ ํตํฉ ํ ํ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. Motorola Z2 Android 7.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
๋ฅผ ํตํฉ ํ ํ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. Motorola Z2 Android 7.1.1์์๋ง ๋น๋๊ฐ ์์๋์์ต๋๋ค!
์ด๊ฒ์ realm
์ ๊ด๋ จ๋ ๊ฒ ๊ฐ์ต๋๋ค https://github.com/realm/realm-js/issues/2261#issuecomment -468691502
https://github.com/realm/realm-js/issues/2221
@Kudo ๋ค์ ํ ๋ฒ ํ๋ฅญํ ์์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค! ์ํ๊น๊ฒ๋ ์ ํ๋ก์ ํธ๋ก ์ด๋ํ๊ณ ๋ ์ด์ ์ด์ ํ๋ก์ ํธ์ ์ก์ธ์ค ํ ์ ์์ต๋๋ค. ์์ ํ์๋ค์๊ฒ ๋ค๊ฐ๊ฐ ๋๊ตฐ๊ฐ์๊ฒ ์๋ํด ๋ณด๋๋กํ๊ฒ ์ต๋๋ค.
ํนํ 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
๋ฅผ ํตํฉ ํ ํ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. Motorola Z2 Android 7.1.1์์๋ง ๋น๋๊ฐ ์์๋์์ต๋๋ค!
realm
์ ๊ด๋ จ์ด์๋ ๊ฒ ๊ฐ์ต๋๋ค. realm / realm-js # 2261์ ํ์ธํ์ญ์์ค.
์์ญ / ์์ญ -js # 2221
์ ๋ง ๊ณ ๋ง์ต๋๋ค! ์์ญ์ 2.28๋ก ์
๋ฐ์ดํธํด์ผํ์ต๋๋ค.
@Kudo ํน๋ณ ๊ฐ์ฌํฉ๋๋ค. ๋ด ์ฑ์ด ์ด๋ฏธ ์ ๋๋ก ์๋ํฉ๋๋ค!
@Kudo ์ด์ ํ
์คํธ์ ๋์ผํ ๋น๋ ๊ตฌ์ฑ์ ์ฌ์ฉํ์ง๋ง @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
์ฌ์ฉํ์ฌ ์ด์ ์ ์ํฅ์๋ฐ์ ์ฑ ๋ฒ์ ์ ๋ค์ ๋น๋ํ์ต๋๋ค.
์ง๊ธ๊น์ง ๋ค์ด๋๊ฑฐ๋ ์ค๋จ๋์ง ์์-์ฃผ๋ง ๋ด๋ด ์ฑ์ ์คํธ๋ ์ค๋ฅผ ์ค ์ ์๋์ง ํ์ธํ๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ค์๋ณด๊ณ ํ๊ฒ ์ต๋๋ค.
@timhatch ์ ๋ง ๊ฐ์ฌ ๋๋ฆฌ๋ฉฐ ์ฃผ๋ง์ ์๊ฐ์๋ด์ด์ฃผ์ธ์.
๋ค์ ๋ฒ์ ๋น์ ์ ์ข์ ์์์ ๋ฃ๊ธฐ ์ํด ์๊ฐ๋ฝ์ ๊ต์ฐจ.
ํจ์น๋ก ๋น๋ ํ ์ ์์ต๋๋ค. FBSDK์์ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
````
์์
: 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 : ์ค๋ฅ : ๊ธฐํธ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค.
@ReactMethod (isBlockingSynchronousMethod = true)
^
symbol : 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 ๋ฌธ์ ๊ฐ ๋์๊ฒ ์ด์ํ๊ฒ ๋ณด์
๋๋ค. JSC AAR์์ 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 ๋ฐ kudo ci) maven ์ ์ฅ์๋ฅผ ๋ชจ๋ ์ถ๊ฐํด์ผํฉ๋๋ค.
maven {
// ๋ชจ๋ React Native (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 @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ค๋จ๋๊ฑฐ๋ ์ถฉ๋ํ์ง ์์ต๋๋ค.
@Kudo
@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 ์, ์งํ ์ค์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
์ด๊ฒ์ ๋ํ ๋ชจ๋ ์์ ์ ๋ํด
์ ๋ ํ์ฌ RN 0.59.9์
๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋๋ฉด RN์ ์
๋ฐ์ดํธ ๋ ๋ฒ์ ์ด 0.59.10๊ณผ ๊ฐ์ ํํ๋ก ์ ๊ณต๋ฉ๋๊น? ์๋๋ฉด ๋์ jsc-android-buildscripts
๋ฅผ ํ์ฌ ํจํค์ง๋ก ์ค์นํ๊ณ ์ค๋ช
์์ ๋ฐ๋ผ 0.59x๋ก ๊ตฌํํด์ผํฉ๋๊น?
@Kudo ๋ง์ง๋ง ๋ฒ์ ์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ๋ฅญํ ์ผ! ๐ช
๊ฐ์ฌํฉ๋๋ค @Kudo , @jacquesdev ๊ฐ 0.59.10 ๋๋ jsc-android-buildscripts
๋ฌป๋ ๊ฒ๊ณผ ๋์ผํ ์ง๋ฌธ์ด ์์ต๋๊น?
@ Kudo
๊ฐ์ฌ! ๋๋ ๋จ์ง ์ ์งํ๊ณ ์์๋ค :
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
์๋ํ์ต๋๋ค.
๋๋ ๋ํ ๋์์ด๋์ง ์์ no-JIT ๋ฒ์ ์ ์๋ํ์ต๋๋ค. ๋๋ ๋น์ ์ด ์ ๊ณต ํ grep์ ์ฌ์ฉํ์ฌ "JavaScriptCore"๋ฒ์ ์ด adb logcat์ ์ถ๋ ฅ๋๋๋ก ๋ง๋ค์ง ๋ชปํ๊ณ , ์๋์ผ๋ก ๋ด์ ๋ก๊ทธ ์์ฒด์์ 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>
์ญ ์ถ์ ์ ์๋ฏธ์๋ ๊ฒ์ ๋งํ์ง ์์ต๋๋ค.
๋ํ Android8์์ ๋ค์ด ๊ทธ๋ ์ด๋ ํ ์ ์๊ธฐ ๋๋ฌธ์ (Android8์์ ๋ฌธ์ ๋ฅผ ์์ฑ ํ ์ ์์) Galaxy S7์ ๊ณต์ Android7์ด ์๊ธฐ ๋๋ฌธ์ 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 ๋ฒ์ :
๋ฒ์ | ๋ฒํธ | ํผ์ผํธ
-| -| -
์๋๋ก์ด๋ 7.0 | 66 | 100.0 %
์ฅ์น ๋ณ :
์ฅ์น | ๋ฒํธ | ํผ์ผํธ
-| -| -
hero2lte | 26 | 39.4 %
ํค๋กค ํ
| 24 | 36.4 %
heroltebmc | 16 | 24.2 %
RN์ 0.58.6์์ 0.59.9๋ก ์ ๋ฐ์ดํธ ํ ํ์๋ Galaxy S7 ์ถฉ๋์ด ๋ฐ์ํ์ต๋๋ค.
jsc-android
์ ํ์ฌ npm ๋ฒ์ ์ ์ฌ์ ํ โโ์ฑ ์ถฉ๋์ ์ผ์ผํค์ง ๋ง @kudo-ci/jsc-android@245459-fix-clear-cache-no-dfg
๋ฐ JSC ๋ฒ์ 245459.9000.0
ํ๋ฉด S7์์ ์ถฉ๋์ด ํด๊ฒฐ๋์์ต๋๋ค.
@ChrisEelmaa adb logcat์ "JavaScriptCore.Version"๋ก๊ทธ์ธ์ ์ฌ๋ฐ๋ฅธ JSC ๋ฒ์ ์ ์ ํํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
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
@Kudo ๊ทํ์ ์์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ง์ฅ์ด ๋ฐ์ํ๋ ๊ฒ์ ๋ง๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ด 2 ์ผํธ : jni
ํด๋๊ฐ ์์ง๋ง ๋์ lib
ํด๋๊ฐ ์์ผ๋ฏ๋ก์ด ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์์ถ์ ํผ ํ ๋ฒ์ ์ ํ์ธํฉ๋๋ค.
$ strings lib/arm64-v8a/libjsc.so | grep -C 1 JavaScriptCore.Version
API Wrapper
JavaScriptCore.Version
245459.9000.0
๊ฐ์ฌํฉ๋๋ค @Kudo
๋๋ ์ด์ ์ ๋ฐ์ ๋ค์ดํฐ๋ธ 0.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
ํํ
๋ฐ๋ผํ๋ ๋จ๊ณ๋ฅผ ํ์ธํ๊ธฐ ์ํด.
https://github.com/react-native-community/jsc-android-buildscripts#for -react-native-version-059์ ์ง์นจ์ ๋ฐ๋์ต๋๋ค.
ํ์ง๋ง "jsc-android": "241213.x.x",
์ ์ถ๊ฐํ๋ ๋์ ๊ต์ฒดํ๊ณ , package.json์ @kudo-ci/jsc-android": "^245459.9000.0
์ ์ถ๊ฐ ํ์ต๋๊น? ๋ค๋ฅธ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ต๋๊น?
์๋ฅผ ๋ค์ด, 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] '์ผ๋ก ๊ฒ์๋์์ต๋๋ค.
์
๋ฐ์ดํธ ๋ JSC๋ฅผ RN์ผ๋ก ๊ฐ์ ธ ์ค๊ธฐ ์ํด https://github.com/facebook/react-native/pull/25426 ์ ๋ณด๋์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ @kelset ์ RN 0.60 RC์๋ ํฌํจ๋์ด ์์ต๋๋ค.
๋ง์นจ๋ด์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ข
๊ฒฐ ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฌ๊ธฐ ์ฌ๋๋ค์๊ฒ ํนํ ๋ด ์คํ ๋ฒ์ ์ ์๋ค๋ก ํ์ธํ๋ ๋ฐ ๋์์ ์์ฒญํ์ญ์์ค.
์ฐ๋ฆฌ๋ ์์ RN ์ปค๋ฎค๋ํฐ์
๋๋ค!
๊ฐ์ฌํฉ๋๋ค @Kudo! ์ด๊ฒ์ด 0.59.x ๋ฆด๋ฆฌ์ค๋ฅผ ๋ง๋ค ๊ฐ๋ฅ์ฑ์ด ์๋์ง ์๋๋ฉด 0.60์์์ ๊ฐ๋ฅ์ฑ์ด ์๋์ง ์์ญ๋๊น?
0.59.x์์ ์ป์ ์ ์๋ค๋ฉด ๊ต์ฅ ํ ๊ฒ์
๋๋ค.
0.60์ AndroidX ๋ฐ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ง์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ต๋๋ค.
+1, 0.59.x์ ๋ฃ์ผ๋ฉด ๋ง์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
์ฑ.
Android X ์ง์ ๋๋ฌธ์ 0.60์ผ๋ก ํฅํ๊ณ ์ถ์ง๋ ์์ต๋๋ค.
์ง๊ธ๊น์ง ๋์๊ด.
JSC์ pickFirst๋ ์ฐ๋ฆฌ์๊ฒ ํจ๊ณผ๊ฐ ์์์ต๋๋ค. ์ฐ๋ฆฌ์ ๋ค์ดํฐ๋ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค ํ๋ ์ฌ์ผํฉ๋๋ค.
๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง๋ง ํญ์ rn ๋ด๋ถ ๋ฒ์ ์ ์ ํํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
(๊นจ๋ํ ํ๋ก์ ํธ๋ ํจ๊ณผ๊ฐ ์์์ผ๋ฏ๋ก ์์ธ์ด๋๋ ๋ถ์ ์ค ํ๋ ์ฌ์ผํฉ๋๋ค)
๊ตํ
2019 ๋
6 ์ 29 ์ผ ํ ์์ผ, 19:35 Anurag Dadheech, [email protected]
์ผ๋ค :
0.59.x์์ ์ป์ ์ ์๋ค๋ฉด ๊ต์ฅ ํ ๊ฒ์ ๋๋ค.
0.60์ AndroidX ๋ฐ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ง์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ต๋๋ค.โ
์ด ์ค๋ ๋๋ฅผ ๊ตฌ๋ ํ๊ธฐ ๋๋ฌธ์์ด ๋ฉ์์ง๊ฐ ์ ์ก๋์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/facebook/react-native/issues/24261?email_source=notifications&email_token=AABPHZ25TBIFBOI3QWMSPXLP46TN3A5CNFSM4HC77RA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNDY355W9292ZLOBW63LNDY506VXHJKTDN5W9772ZLOPWSZGONMVXHJKTDN
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AABPHZ2D5WUEM4S3242ZTYTP46TN3ANCNFSM4HC77RAQ
.
์๋ ํ์ธ์,์ด "@ kudo-ci / jsc-android @ 245459-fix-clear-cache-no-dfg "๋ฅผ ์ด๋์ ์ถ๊ฐํด์ผํ๋์ง ์ ์ ์์ต๋๊น?
์๋ ํ์ธ์ @Kudo ๋์ ๋ฉ์ง ์์ ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
DFG JIT๊ฐ์๋ ์ด์ WebKit์์๋ ์ฌ์ ํ ์ถฉ๋์ด ๋ฐ์ํ์ง๋ง DFG JIT๊ฐ์๋ ์ต์ WebKit 2.24.2๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์๋ํ๋ ๊ฒฝ์ฐ ์ต์์ ์ฑ๋ฅ์ ํ์ฉํ๊ธฐ ์ํด DFG JIT๊ฐ ํ์ฑํ ๋์ด ์๋ก์ด WebKit์ ์ฌ์ฉํด ๋ณผ ๊ฐ์น๊ฐ ์๋์ง ๊ถ๊ธํฉ๋๋ค.
0.60 @Kudo @kelset @grabbou @turnrye๋ก ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ด ๋ ์ด๋ ค์ธ ๊ฒ์ด๊ธฐ ๋๋ฌธ์์ด ์์ ์ผ๋ก 0.59.10์ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ ๋์ ๊ฒ์ด๊ธฐ ์ ์ ๋ช ๊ฐ์ง ์๊ฒฌ์ ๋์ํฉ๋๋ค.
์ฌ๊ธฐ์๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
react-native-maps๋ ์์ง AndroidX๋ฅผ ์ง์ํ์ง ์๊ธฐ ๋๋ฌธ์ 0.60์ผ๋ก ์ ๊ทธ๋ ์ด๋ ํ ์ ์์ผ๋ฉฐ, S7 ๋ฐ S7 plus ์ถฉ๋๋ก ์ธํด ์ ๋ฐ์ดํธ๋ฅผ 0.59.X๋ก ํธ์ ํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ์ค์ ๋ก ๊ธฐ์ ์ ๋ฐ์ ๋ค์ดํฐ๋ธ์ ๋ฌ๋ ค์๋ ๋ฌธ์ ์ ๋๋ค.
์ด์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
@adnkh์ ๋์ํฉ๋๋ค. ์ง๊ธ AndroidX๋ก ์ ๊ทธ๋ ์ด๋ ํ ์ ์์ง๋ง 0.59 ์ถฉ๋์ ํด๊ฒฐํด์ผํฉ๋๋ค.
์์ ์ฌํญ์ ์ฌ์ฉํ๊ธฐ ์ํด 0.60์ผ๋ก ์
๊ทธ๋ ์ด๋ ํ ํ์๋ ์์ต๋๋ค. https://github.com/react-native-community/jsc-android-buildscripts/#for -react-native-version-059์ ์ง์นจ์ ๋ฐ๋ฅผ ์ ์์ต๋๋ค. ์ค์นํ๋ ค๋ ๋ฒ์ ์ 245459.0.0
์ด์์
๋๋ค.
์๋ ํ์ธ์ @benoitdion ,
์, ๋ฉ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์๋ ๊ฒฝ์ฐ์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค . ์ค์ ๋ก
ํ์ง๋ง 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
@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๋ก ๋ฐฑ ํฌํ ํ๋ ์์ ์ ๋ํ @Kudo ์๊ฒ ํฐ ๊ฐ์ฌ๋ฅผ๋๋ฆฝ๋๋ค.
์ฐ๋ฆฌ๋ 0.60 (์๋ก์ด JSC๋ ํฌํจ ํ ๊ฒ์ ๋๋ค!)์์ ์์ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋์ ์ ์ธ ์์ ์ด๊ณ ๋ ์ด๋ ต ๊ธฐ ๋๋ฌธ์ ๊ฐ๊น์ด ๋ฏธ๋์ ๋ค๋ฅธ 0.59 ๋ฆด๋ฆฌ์ค๋ฅผ ์ํํ์ง ์์ ๊ฒ์ ๋๋ค.
์ฃผ์ ํต์ฌ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ผ๋ฏ๋ก์ด ๋ฌธ์ ๋ฅผ ๋ซ์ผ๋ ค๊ณ ํ์ง๋ง 0.59.10 ์ดํ์ ๋ฐ์ํ ์์๋ ๋ค๋ฅธ ์ถฉ๋์ ๋ํด ์ ๋ฌธ์ ๋ฅผ ์ฌ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ข์ ์์ !!
๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค, ํนํ @kudo !!
2019 ๋
7 ์ 2 ์ผ ํ์์ผ 12:29 Lorenzo Sciandra, [email protected]
์ผ๋ค :
๐ ๋ชจ๋.
์ฐ๋ฆฌ๋ ์ฌ๋ฌ๋ถ ๋ชจ๋์ ๋ง์ ๋ฃ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ง์ ์ฌ๋ฌ๋ถ์ด ๊ฒช๊ณ ์๋ ๋ฌธ์ ๋๋ฌธ์
์ต์ ๋ฒ์ ์ 0.59.10 ํจ์น ๋ฆด๋ฆฌ์ค๋ฅผ ์ ๊ณตํ์ต๋๋ค.
JSC.๊ทธ์ ์์ ์ ๋ํด @Kudo https://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=AABPHZZG2Z764HFNPJB7UVTP5M325A5CNFSM4HC77RA2YY3PNVWWK3TUL52HS4DFVRZG43VMVLOBW63LNODMVXHJKissue ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AABPHZ5PYT4F7ZZGQXZKKKLP5M325ANCNFSM4HC77RAQ
.
์์ ํด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค! react-native๋ฅผ 0.59.10
๋ฒ์ ์ผ๋ก ์
๊ทธ๋ ์ด๋ ํ ํ์๋ ์ฌ๊ธฐ์ ์ธ๊ธ ๋ ๋จ๊ณ๋ฅผ ๊ตฌํํด์ผํฉ๋๊น?
์ผ๋น,
RN 0.59.10์ผ๋ก ์
๊ทธ๋ ์ด๋ ํ ํ์๋ ์์ ์ ๋ฐ๋ฅผ ํ์๊ฐ ์์ต๋๋ค.
๋ ์ด์ ์ง์.
์ผ์ด
์์์ผ, 2019 ๋ 7 ์ 3 ์ผ, 15:42 Kevin Etore, [email protected] ์์ฑ :
์์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค! 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=AABPHZ6H66HMI6CFMXMR4Y3P5S3DVA5CNFSM4HC77RA2YY3PNVWWK3TUL52HS4DFVRWSG43VMVDYQ#TDNGissueMVXHJK#TDNNODVXHJK
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AABPHZ6UMO5NS4F4OZ7RWPTP5S3DVANCNFSM4HC77RAQ
.
๋ด ์ฑ์ RN-0.59.10์ ์ฌ์ฉํ๋ Meizu M5s M612H Android OS 6์์ ์ฌ์ ํ ์ถฉ๋ํฉ๋๋ค. @kelset์ด ์ ์ํ๋๋ก ์๋ก์ด ๋ฌธ์ ๋ฅผ ๋ง๋ค์์ต๋๋ค.
Caterpillar S41 (Android 8.0)์์ ์ฌ์ ํ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค. ์ด ์์ ์ ๋ค๋ฅธ ๋ชจ๋ ์ฅ์น์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค. ๋ํ ์๋ก์ด ๋ฌธ์ ๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ด๊ฒ์ด ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ด ์๋์ง ์๋ ค์ฃผ์ญ์์ค.
์๋
ํ์ธ์ ์ฌ๋ฌ๋ถ
64 ๋นํธ๋ก ์ปดํ์ผ ํ ๋ ๋ด ์ฑ๋ ์ผ๋ถ Android ๊ธฐ๊ธฐ์์ ์ถฉ๋ํฉ๋๋ค.
react-native-elements ํจํค์ง ๋ฒ์ 1.1.0์ ์ฌ์ฉํ๊ณ ์์ต๋๊น ??
๊ตฌ์ฑ ์์ ํค๋๊ฐ ๋ด ์ฑ๊ณผ ์๋ฐํ ๊ตฌ์ฑ ์์๋ฅผ ์ถฉ๋์ํค๊ธฐ ๋๋ฌธ์ ์ํ ์์ด์ฝ์ด๋ ์ ๋ชฉ์ ๋ฃ์ ๋
๋ค๋ฅธ ์ฌ๋์ด ๊ทธ๋ค์๊ฒ๋ ๊ฐ์ ์ผ์ด ๋ฐ์ํ๋์ง ํ์ธํ ์ ์์ต๋๊น?
์ด๋ค s7 ์์ ์๊ฐ Hermes์ ํจ๊ป์ด ๋ฌธ์ ๋ฅผ ํ ์คํธ ํ ๊ธฐํ๊ฐ ์์์ต๋๊น?
์๋ ์ฑ ์ถฉ๋์ ์ฌ์ฉํ๊ณ Google Play ์คํ ์ด์์ ํ์ฉํ๋ ๊ฒฝ์ฐ
ndk {abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"}
์๋ ์ฑ์ ์ฌ์ฉํ๋ฉด ์๋ํ์ง๋ง Google Play ์คํ ์ด์์ ํ์ฉ๋์ง ์๋ ๊ฒฝ์ฐ
ndk {abiFilters "armeabi-v7a", "x86"}
๋๊ตฌ๋ ์ง ๋๋ฅผ ํด๊ฒฐํ๋๋ก ๋์์ฃผ์ธ์.
64 ๋นํธ ์ APK๋ฅผ ์ฌ์ฉํ๋ Moto G7 ๋ฐ Pixel 2 (๋ ๋ค Android 9.0)์์ ์ฌ์ ํ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค. 32 ๋นํธ ์ APK์์ ์ ์๋ํฉ๋๋ค.
@ afras21- ์ด๋ Google Play ์คํ ์ด์์ ์๋ฌดํํ๊ณ ์๋ 64 ๋นํธ ๋ฒ์ ์ ๋ฒ๊ทธ๊ฐ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
@jacquesdev ๊ฐ์ฌํฉ๋๋ค jacq, ์ด์ ๊ทธ๋ค์ ํ์ ํญ๋ชฉ์ ์ ๊ฑฐํ๊ณ ์ด์ ์๋ํฉ๋๋ค.
@ afras21 ๊ตฌ๊ธ์ด ํ๋ค๋ ๋ป์ธ๊ฐ์?
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ๋ก์ ํธ๋ฅผ 0.59.9์์ 0.60.4๋ก ์ ๋ฐ์ดํธํ๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผํฉ๋๊น?
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ํ์ฌ 0.59.9๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. 0.60.x๋ก ์ ๊ทธ๋ ์ด๋ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๊น?
0.59.10์ผ๋ก ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋์ง ๋จผ์ ์๋ํด๋ณด์ญ์์ค.
๊ทธ๋ ์ง ์๋ค๋ฉด RN 0.60.4๋ฅผ ์
๊ทธ๋ ์ด๋ํ๊ณ ๋์ Hermes ๋ฅผ ์ผ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Kudo๊ฐ ๋งํ ๊ฒ์ ๋ฐ๋ณตํ๊ณ ์ปจํ ์คํธ๋ฅผ ์ ๊ณตํ๊ณ ์ด ๋ฌธ์ ์ ์ด์ ๋ด์ฉ์ ์์ฝํฉ๋๋ค (์ด ์์ ์์ ๋๋ฌด ๋ง์ ์ฃผ์์ ์ ๋ ฌํ๊ธฐ๊ฐ ์ด๋ ค์ธ ์ ์์ผ๋ฏ๋ก).
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 ์ ํ๋ฆฌ์ผ์ด์
์ ์
๊ทธ๋ ์ด๋ํด์ผํฉ๋๋ค. ์ง๊ธ์์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค. ๋๋ ๋ํ flutter๋ฅผ ์๋ํ๊ณ ์์ง๋ง ๊ทธ๋ ๊ฒ ๋น ๋ฅธ ์์ ํ ๊ต์ฒด๋ ์๋๋๋ค.
์ค์ ๋ก React-Native๋ฅผ 0.60.5๋ก ๋ฒํํ๊ณ Hermes + 64 ๋นํธ๋ฅผ ํ์ฑํํ๋ ๋ฌธ์ ๋ฅผ ๊ฒช์์ต๋๋ค (react-native๋ฅผ ์ ๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ด ํญ์ ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๊ณ ํต์ด์์ต๋๋ค). HUAWEI MYA-L41).
๋๋ ๋ค๋ฅธ ์ค๋ ๋์์ ์ฐพ์ ๋ชจ๋ ๊ฒ์ ์ด์์ด ์๋ํด ๋ณด์์ผ๋ฏ๋ก ๋ฐ์ ๋ค์ดํฐ๋ธ๋ฅผ ๋ฒํํ๊ณ Hermes๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ๋ฌธ์ ๊ฐ ๋ชจ๋ ํด๊ฒฐ๋์ง๋ ์์ต๋๋ค.
์ ๋ฐ์ดํธ ๋ react-native + Hermes ๋ฐ 64 ๋นํธ๋ ๋ด๊ฐ ์คํ ํ ๋ค๋ฅธ Android ๊ธฐ๊ธฐ์์ ๋๋๊ณ ์ฐ๋ฆฌ ์ฑ์ด ๋ ๋ถ๋๋ฌ์ ์ง ์ ์ด ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๋ด๊ฐ ์ธ๊ธ ํ ํน์ ์ฅ์น (Huawei)์์ ํ ์คํธ ํ ๋๋ง๋ค ์ฆ์ ์ถฉ๋ํ๊ฑฐ๋ ํน์ ์ถฉ๋ ๋ฉ์์ง์์ด ์ฑ์ด 1 ~ 2 ์ด ๋์ ์ด๋ฆฐ ํ ํด๋น ์ฅ์น์ ์ต์ Huawei ( ์๋ฒฝํ๊ฒ ์๋ ํจ) ๋ค๋ฅธ ํด๋ ์ ํ์ ๋ํด์๋ ๋ ๋ง์ ์ ๋ณด๋ฅผ ์ ๊ณต ํ ์ ์์ต๋๋ค.
๋๊ตฌ๋ ์ง์ด ๋ฌธ์ ์ ๋ํด ์ง์ ์ด ์๊ฑฐ๋ ๋ด ๋ฌธ์ ๋ฅผ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ๊ธฐ๋ก ํ ์์ด๋์ด๊ฐ์๋ ๊ฒฝ์ฐ ์ธ์ ๋ ์ง ์กฐ์ธ์ ํ์ํ๋ฉฐ์ด ๋ฌธ์ ์ ๊ดํ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์์ต๋๋ค.
์๋ฃจ์
์ ์ ๊ณตํ๋์ด ์ค๋ ๋์ ์ฌ๋๋ค์๊ฒ ๊ฐ์ฌํ์ง๋ง ์ง๊ธ๊น์ง๋ ์ด์ด ์์ต๋๋ค. ๐
@YoranRoels react-native init๋ก ๋ง๋ ๊นจ๋ํ ์ฑ์ ์คํ ํด ๋ณด์ จ์ต๋๊น? ์ถฉ๋์ด RN ์์ฒด ๋๋ฌธ์ธ์ง ์๋๋ฉด ์์ฑํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋๋ ์ฝ๋ ๋๋ฌธ์ธ์ง ๊ถ๊ธํฉ๋๋ค.
@armenbadalyan ์ ์ํ ์๋ต์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
๋ฐฉ๊ธ ์ ํ๋ก์ ํธ๋ฅผ ์ค์ ํ๊ณ ์ฅ์น์์ ์คํ ํด ๋ณด์๋๋ฐ ๋ชจ๋ ๊ฒ์ด ์ ๋ณด์์ผ๋ฏ๋ก ๊ฒฐ๊ตญ์๋ ๋ด ์ค์ ์์ ๋ฌด์ธ๊ฐ์ฒ๋ผ ๋ณด์
๋๋ค. ๋ด logcat์ด com.<our_app_id>
์ธ์ ์ ์ฉํ ๊ฒ์ ๋ถ์ถํ์ง ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋๋ฒ๊น
ํ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
React Native 59.10๋ ์ฐ๋ฆฌ๋ฅผ ์ํด ํด๊ฒฐํ์ง ์์ต๋๋ค. ์ฑ์ ์ฒ์ ์คํํ ๋ ์ฌ์ ํ ์ถฉ๋ํฉ๋๋ค.
@GreanBeetle https://github.com/facebook/react-native/issues/25494๋ฅผ ์ฐธ์กฐ
๊ฐ์ฅ ์ต์ ๊ฒฝ๋ก๋ 0.60+ ๋ฐ Hermes๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค.
@YoranRoels ์ฅ์น์์ ์ญ์ ํ์๋ฅผ ๊ฐ์ ธ์ต๋๋ค. ์ฐธ์กฐ : https://github.com/facebook/react-native/issues/24261#issuecomment -490239902
@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
๋ ์ด์ ์ถฉ๋ํ์ง ์์ผ๋ฉฐ ์ฐ๋ฆฌ๋ ๋ง์นจ๋ด ๊ตฌ๊ธ ํ๋ ์ด์ ๋ค์ ์
๋ฐ์ดํธ๋ฅผ ํธ์ ํ ์ ์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
@ j-wang์ด ์ธ๊ธ ํ ์ญ์ ํ์ ๋ก๊น ์ ์๋ํ์ง๋ง ์ค์ ๋ก ์ฌ์ฉํ์ง ์์์ผ๋ฉฐ ํ๋์ ๊ฒ์ ํ ํ ์ฝ์ ์์๋ ๊ทผ๋ณธ ์์ธ์ ์ฐพ์ง ๋ชปํ ๊ฒ ๊ฐ์ ๊ธฐ ๋๋ฌธ์ ์ฝ๊ธฐ๊ฐ ์ด๋ ค์ ๋ ์์ฒญ๋ ํ์ผ์ด์์ต๋๋ค.
@armenbadalyan ์ ์กฐ์ธ์
ํด๋น ๊ตฌ์ฑ ์์์์ react-native
Image
์ source
๋ณ์๋ก null
๋ฅผ ์ ๋ฌํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ์ด ์ฌ์ค์ด ๋ถ๋ช
ํ์ง ์์ ์ค๋ฅ๋ฅผ ์ฐพ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ ธ์ง ๋ง ๋ง์นจ๋ด ๋ชจ๋ ๊ฒ์ด ์์ ๋์์ผ๋ฉฐ ๋ชจ๋ ํ
์คํธ ์ฅ์น์์ ์คํ ์ค์
๋๋ค. ๋ค๋ฅธ ํ
์คํธ ์ฅ์น์์ ์คํจํ์ง ์์ ์ด์ ๋ ์ฌ์ ํ ์ ์ ์์ต๋๋ค.
๋ค๋ฅธ ์ฌ๋๋ค์ด ์ฑ์ ์ฒซ ๋ฒ์งธ ๊ตฌ์ฑ ์์๋ฅผ ๋จ์ํํ์ฌ ํด๋น ์ฝ๋์์ ์ถฉ๋ํ์ง ์๋๋ก ํ ์ ์์ต๋๋ค.
์๋ น : ์ง๊ธ ์ฏค์ด๋ฉด ์ฃผ์ ์์ ์์ ํ ๋ฒ์ด ๋ฌ์ ๊ฒ์
๋๋ค.ํ์ง๋ง ๊ด์ฌ ๋์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. source
Image
๋ณ์๋ก null
์ฌ์ฉํ์ง ๋ง์ญ์์ค. t ๋ชจ๋ ์ฅ์น์์ ์๋ํฉ๋๋ค. ๐
@ harryt2 ๊ทธ๋, ๋๋. RN 0.60์ผ๋ก ์ ๊ทธ๋ ์ด๋ ํ ํ ANR์ด ํฌ๊ฒ ์ฆ๊ฐํ์ต๋๋ค. +
์ฌ์ ํ ์์ ์ถฉ๋์ ํด๊ฒฐํ๋ ค๋ ์ฌ๋๋ค์๊ฒ ์ฝ๊ฐ์ ๋์์ด๋ฉ๋๋ค.
adb logcat
์คํ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง๋ ์์ง๋ง ๋ ๋ง์ ๊ฒ์ ์ฐพ์ ์ ์์ต๋๋ค. ๋๋ 2 ๊ฐ์ ์ฑ์ ๊ฐ์ง๊ณ ์๋๋ฐ, ํ๋๋ 64 ๋นํธ์์ ์ ์๋ํ์ง๋ง, ๊ตฌ์ฑ์ด ๋์ผํ๋๋ผ๋ ๋ค๋ฅธ ํ๋์์๋ ์ฌ์ ํ ์ด๋ ค์์ ๊ฒช๊ณ ์์ต๋๋ค. ๋ด ์ถฉ๋ ์ฅ์น๋ One Plus 5t (64 ๋นํธ)์ ๋๋ค.
RN 59.10, ํนํ Android 9์ Samsung Galaxy Note9์์ ๋น๋ ํ ์๋ก์ด ์ฑ ๋ฆด๋ฆฌ์ค์์์ด ๋ฌธ์ ๋ฅผ ๋ฐฉ๊ธ ๋ณด์์ต๋๋ค. ๋น์ทํ ๋ฌธ์ ๊ฐ์๋ ๋ค๋ฅธ ์ฌ๋์ด ์์ต๋๊น?
@msspshaw ์์์ ์ธ๊ธํ๋ฏ์ด ๋ค๋ฅธ ๋ฌธ์ ์์๋ ๊ทธ๋ ์ต๋๋ค. ์๋ก์ด JSC๋ ๋น ๊ฒฐ์ ์ ์ผ๋ก ๊ฐ๋น์ง ์์ง๋๊ธฐ ๋๋ฌธ์ ํน์ Android ๊ธฐ๊ธฐ์์ ๋ฌด์์๋ก ์ ์ง / ์ถฉ๋ ํ ๋ค์ ์ ์ฒด ์ฑ์ด ๋ค์ด๋ฉ๋๋ค.
ํด๊ฒฐ์ฑ ์ 0.60+๋ก ์ ๊ทธ๋ ์ด๋ํ๊ณ Hermes๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ v8 ์ฉ JSC๋ฅผ ์ ํํ๋ ๊ฒ์ ๋๋ค.
@ j-wang์ด ์ธ๊ธ ํ ์ญ์ ํ์ ๋ก๊น ์ ์๋ํ์ง๋ง ์ค์ ๋ก ์ฌ์ฉํ์ง ์์์ผ๋ฉฐ ํ๋์ ๊ฒ์ ํ ํ ์ฝ์ ์์๋ ๊ทผ๋ณธ ์์ธ์ ์ฐพ์ง ๋ชปํ ๊ฒ ๊ฐ์ ๊ธฐ ๋๋ฌธ์ ์ฝ๊ธฐ๊ฐ ์ด๋ ค์ ๋ ์์ฒญ๋ ํ์ผ์ด์์ต๋๋ค.
@armenbadalyan ์ ์กฐ์ธ์
ํด๋น ๊ตฌ์ฑ ์์์์
react-native
Image
์source
๋ณ์๋กnull
๋ฅผ ์ ๋ฌํ ๊ฐ๋ฅ์ฑ์ด ์์ต๋๋ค. ์ด ์ฌ์ค์ด ๋ถ๋ช ํ์ง ์์ ์ค๋ฅ๋ฅผ ์ฐพ๋ ๋ฐ ์๊ฐ์ด ๊ฑธ๋ ธ์ง ๋ง ๋ง์นจ๋ด ๋ชจ๋ ๊ฒ์ด ์์ ๋์์ผ๋ฉฐ ๋ชจ๋ ํ ์คํธ ์ฅ์น์์ ์คํ ์ค์ ๋๋ค. ๋ค๋ฅธ ํ ์คํธ ์ฅ์น์์ ์คํจํ์ง ์์ ์ด์ ๋ ์ฌ์ ํ ์ ์ ์์ต๋๋ค.๋ค๋ฅธ ์ฌ๋๋ค์ด ์ฑ์ ์ฒซ ๋ฒ์งธ ๊ตฌ์ฑ ์์๋ฅผ ๋จ์ํํ์ฌ ํด๋น ์ฝ๋์์ ์ถฉ๋ํ์ง ์๋๋ก ํ ์ ์์ต๋๋ค.
์๋ น : ์ง๊ธ ์ฏค์ด๋ฉด ์ฃผ์ ์์ ์์ ํ ๋ฒ์ด ๋ฌ์ ๊ฒ์ ๋๋ค.ํ์ง๋ง ๊ด์ฌ ๋์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
source
Image
๋ณ์๋กnull
์ฌ์ฉํ์ง ๋ง์ญ์์ค. t ๋ชจ๋ ์ฅ์น์์ ์๋ํฉ๋๋ค. ๐
+1 ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค. ๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋ค. ๊ฐ์ฌํฉ๋๋ค!
๋ํ Android 7.0 RN 0.59.10์ Samsung Galaxy S7 IO-IL 086์์ ๋ฐ์ํฉ๋๋ค.
@BracketMan JSC ๋์ V8์ ์ฌ์ฉํ๊ณ ์์ต๋๊น?
@EmilScherdin ์ ์๋, ์๋์์. ํ ๋ฒ ํด๋ณด๊ณ ๊ฐ์ฌ์ ๋ง์์ ์ ํฉ๋๋ค.
@EmilScherdin RN 0.59.10์์ V8์์ ์คํํ๋ ๊ฒ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด๋ฉฐ ๋ ์ด์ ์ถฉ๋์ด ์์์ ํ์ธํ ์ ์์ต๋๋ค.
๊ฐ์ฌ!
v8์ RN 0.59.10์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. arm64-v8a์ ๋ํด JIT๊ฐ ๋นํ์ฑํ๋์ง ์์์ผ๋ฉฐ์ด ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ๋ ์ฅ์น์์ ์ถฉ๋์ด ๋ฐ์ํฉ๋๋ค.
@mmamoyco V8์์ ์ถฉ๋ ์คํ
@Kudo ์, ์ถฉ๋ ๋ก๊ทธ๊ฐ ์์ต๋๋ค. ์ถฉ๋์ด ๋ง์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ 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 :: DefaultWorkerThreadsTaskRunner :: 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-android README ์ ๋์ผ ํ์ง ์์ต๋๋ค . ๋ฒ์ ๋ฒํธ์ ์ผ๋ถ ๊ธฐํธ๋ฅผ ์์ ํ์ต๋๋ค.
canary
๋ฒ์ jsc
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ต๋๋ค. ํ์ํ ๊ฒ์ jsc-android @ canary ์ดํ ์ ๋ฒ์ ์ ๋๋ค. react-native repo์ ๋ณํฉ ๋ ์๋ ์์ ์ฌํญ์ ์ด ํจ์น ๋ฅผ ์ฐธ์กฐํ์ธ์. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ ์ฃผ์ @ ravali121 ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
jsc-android
์ "dependencies"์น์
์ 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"
+ }
}
}
build.gradle
์์๋ ํ์ผ android/app/build.gradle
JSC ์ข
์์ฑ์ ์ถ๊ฐ ํ ์ ์์ต๋๋ค. ์ข
์์ฑ์ด React Native ์ข
์์ฑ ์์ ์๋์ง ํ์ธํ์ญ์์ค.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
source
๋ณ์Image
๋ก ์ฌ์ฉํ์ง ๋ง์ธ์. ๋ชจ๋ ๊ธฐ๊ธฐ์์ ์๋ํ์ง ์์ต๋๋ค. ๐
๋๋ ๋น์ ์ ์ธ์ฉํ๋ ๊ฒ์ด ์ซ์ง๋ง์ด ์ค๋ ๋์ ์์์์ ๋น์ ์ ํด๊ฒฐ์ฑ ์ ๊ฑฐ์ ๋์ณค์ต๋๋ค. @YoranRoels ๋๋ฌด ๊ฐ์ฌํฉ๋๋ค !! ์ด๊ฒ์ ๋ ์ ๊ตฌํ์ต๋๋ค!
์จ๋ผ์ธ ์ค์ ๋จธ์ ํ
์คํธ ์น ์ฌ์ดํธ๋ฅผ ์ฐพ์์ต๋๋ค. ๊ฑฐ๊ธฐ์์ GALAXY S7 Edge ๋ฐ Android 7.0 os๋ฅผ ์ ํํ์ง๋ง, ๋ถํํ๋ ์ถฉ๋์ด ๋ฐ์ํ์ง ์์์ผ๋ฉฐ @YoranRoels ๋ฉ์๋ ์ธํธ source
Image
๋ณ์๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํฉ๋๋ค. {null}
๋ฐ {{ uri: null }}
ํ์ง๋ง ์ฌ์ ํ ์ถฉ๋ํ์ง ์์ต๋๋ค. ๋ฌด์ญ์ต๋๋ค. ์ด๋ป๊ฒ ๋ ์ผ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ๋๊ตฌ๋ ์ง ๋์ ์ค ์ ์์ต๋๋ค.
0.59.1์์์ด ์ ํํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ ๋ค์์ ์ํํ์ฌ ์์ ํ ์์์์ต๋๋ค.
โ๏ธ ์ด๋ฌํ ์ง์นจ์ jsc-android README ์ ๋์ผ ํ์ง ์์ต๋๋ค . ๋ฒ์ ๋ฒํธ์ ์ผ๋ถ ๊ธฐํธ๋ฅผ ์์ ํ์ต๋๋ค.
canary
๋ฒ์ jsc
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ต๋๋ค. ํ์ํ ๊ฒ์ jsc-android @ canary ์ดํ ์ ๋ฒ์ ์ ๋๋ค. react-native repo์ ๋ณํฉ ๋ ์๋ ์์ ์ฌํญ์ ์ด ํจ์น ๋ฅผ ์ฐธ์กฐํ์ธ์. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ๋์์ ์ฃผ์ @ ravali121 ์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
jsc-android
์ "dependencies"์น์ ์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" + } } }
- ์ฑ์ ์ ๋ฐ์ดํธ
build.gradle
์์๋ ํ์ผandroid/app/build.gradle
JSC ์ข ์์ฑ์ ์ถ๊ฐ ํ ์ ์์ต๋๋ค. ์ข ์์ฑ์ด React Native ์ข ์์ฑ ์์ ์๋์ง ํ์ธํ์ญ์์ค.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 ์ง๊ธ๊น์ง
arm64-v8a
๋ํ ์ง์์ ์ ๊ณต ํ ํSamsung S7
,S7 Edge
์์ ์คํ๋๋ Android ๋น๋์ ์ํฅ์ ๋ฏธ์น๋ ์ต์ RN 0.59 ๋ฆด๋ฆฌ์ค์ ๋ฌธ์ ์ธ ๊ฒ์ผ๋ก ํ๋จ ํ ์ ์์ต๋๋ค.arm64-v8a
,x86_64
,build.gradle
์์ ์ ๊ฑฐํด๋ ์ฑ์ด ๋ค์ด๋์ง ์์ผ๋ฉฐ, Google Play 64 ๋นํธ ์ง์ ์ ์ฑ ์ ๋ฐ๋ผ1 August 2019
์ดํ์ ๊ฒ์๋๋ ์ฑ์ ์ ์ฌ์ ์ผ๋ก ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์ฌ๋ฌ๋ถ๋ค์ ๊ด์ฌ์ ๋ถํ๋๋ฆฝ๋๋ค.