๊ฒฝ๊ณ
์ด ๋ฆด๋ฆฌ์ค๋ Play 64๋นํธ ์๊ตฌ ์ฌํญ์ ์ค์ํ์ง ์์ต๋๋ค.
๋ค์ APK ๋๋ App Bundle์ 64๋นํธ ๊ธฐ๊ธฐ์์ ์ฌ์ฉํ ์ ์์ง๋ง 32๋นํธ ๊ธฐ๋ณธ ์ฝ๋๋ง ์์ต๋๋ค: {version code}.
2019๋ 8์ 1์ผ๋ถํฐ ๋ชจ๋ ๋ฆด๋ฆฌ์ค๋ Play 64๋นํธ ์๊ตฌ ์ฌํญ์ ์ค์ํด์ผ ํฉ๋๋ค.
์ฑ์ 32๋นํธ ๋ค์ดํฐ๋ธ ์ฝ๋์ ํจ๊ป 64๋นํธ ๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ํฌํจํฉ๋๋ค. Android App Bundle ๊ฒ์ ํ์์ ์ฌ์ฉํ์ฌ ๊ฐ ๊ธฐ๊ธฐ ์ํคํ ์ฒ๊ฐ ํ์ํ ๊ธฐ๋ณธ ์ฝ๋๋ง ์์ ํ๋๋ก ์๋์ผ๋ก ๋ณด์ฅํฉ๋๋ค. ๋ ์์๋ณด๊ธฐ
์ด ๊ฒฝ๊ณ ๋ ์ค๋ ์ดํ flutter build appbundle
์ ์ํด ์์ฑ๋ aab
flutter build appbundle
๋ฅผ Play ์คํ ์ด ์ ๊ฒ์ํ๋ ค๊ณ ํ ๋ ๋ํ๋ฉ๋๋ค.
์ด๊ฒ์ ๋ด๊ฐ ๊ฑฑ์ ํด์ผ ํ๋ ๊ฒ์ ๋๊น, ์๋๋ฉด Flutter๊ฐ ์๋์ผ๋ก ์ด๊ฒ์ ํด๊ฒฐํ ๊ฒ์ ๋๊น?
์๋์
๋๋ ๊ฐ์ ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์๋ค. Flutter ํ์ ๋๊ตฐ๊ฐ๊ฐ ์ด์ ๋ํด ์ธ๊ธํ๊ฑฐ๋ ์ค๋ช
ํ ์ ์์ต๋๊น? flutter build appbundle --release
์์ฑ๋ ์ฑ ๋ฒ๋ค์๋ 64๋นํธ ์ฝ๋๊ฐ ์๋์ง ํ์ธํ๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ๋ฌด์์ ํ ์ ์์ต๋๊น? @zoechi ๊ทธ๊ฒ์ ๋ํด ์๋ ค์ฃผ์ค ์ ์๋์?
์ ๋ ์ด๊ฑฐ ๋ณด๊ณ ์์ต๋๋ค. ๋ค์์ ์คํฌ๋ฆฐ์ท์
๋๋ค.
๊ทธ๋ฆฌ๊ณ "์์ธํ ์์๋ณด๊ธฐ" ๋ฌธ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. https://developer.android.com/distribute/best-practices/develop/64-bit
Flutter ํ์ ๋ต๋ณ์ ๊ธฐ๋ค๋ฆฌ๊ฒ ์ต๋๋ค.
์ค๋๋ ๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ๋ฐ์์ต๋๋ค.
๋์ผํ ๋ฌธ์ ๊ฐ ์ฌ๊ธฐ์ ์์ต๋๋ค.
์ ๋ ์
์ ๋ ์
์ด์ ๋ํ ํด๊ฒฐ์ฑ ์ด ์์ง ์์ต๋๊น?
์ด๊ฒ์ ๋ณด์ญ์์ค: https://github.com/flutter/flutter/issues/18494#issuecomment -477502287
๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค.
Google Play Console์ ์ฑ ์ถ์ ํ์ด์ง(์์ 64๋นํธ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ํ์๋๋ ํ๋ฉด)์์ [๋ด๋ถ ํ ์คํธ ๋กค์์ ์์] ๋ฒํผ์ด ๋นํ์ฑํ๋์ด ์์ต๋๋ค.
64๋นํธ ๋ฒ๋ค ์๊ตฌ ์ฌํญ์ ์ด์ ํ๋ฌํฐ ํ๋ก์ ํธ์ ์ผ ์คํ ํผ์ ๋๋ค.
/ cc @mklim @cbracken
ํ๋ ์ด ์คํ ์ด๊ฐ Flutter์ ๊ธฐ๋ณธ ๋ฆด๋ฆฌ์ค ์ง์นจ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํธ๋ฆฌ๊ฑฐ๋๋ ๊ฒฝ๊ณ ๋ฅผ ๋ฐํํ๊ธฐ ์์ํ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค.
https://flutter.dev/docs/deployment/android
Flutter๋ฅผ ์ฌ์ฉํ์ฌ 32๋นํธ ๋ฐ 64๋นํธ ARM ๋ชจ๋์ ๋ํ APK๋ฅผ ์ ์ถํ ์ ์์ผ๋ฉฐ ํ์ฌ ๋ช ๊ฐ์ง ์ถ๊ฐ ๋จ๊ณ๊ฐ ํ์ํฉ๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ๋ค์ํ ์ ๊ทผ ๋ฐฉ์์ ๋ค์์์ ๋
ผ์๋ฉ๋๋ค.
https://github.com/flutter/flutter/issues/18494#issuecomment -477502287
๋ํ ์ด ๊ฒฝ๊ณ ๋ฅผ ํผํ๊ธฐ ์ํด ๊ธฐ๋ณธ ํ ํ๋ฆฟ/๋๊ตฌ/๋ฆด๋ฆฌ์ค ๋จ๊ณ๋ฅผ ์ ๋ฐ์ดํธํ๋ ์ต์ ์ ๋ฐฉ๋ฒ์ ํ์ธํ๊ธฐ ์ํด ์ง๊ธ ์ฐพ๊ณ ์์ต๋๋ค.
๊ธฐ๋ค๋ ค ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
@eseidelGoogle ๋ด๊ฐ ํ๋ ธ๋ค๋ฉด ์ ์ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฑ ๋ฒ๋ค์ ์์ ์ ๋ชจ๋ ๊ฒ์ ํ๋์ ํ์ผ๋ก ์์ถ ํ๊ณ Play ์คํ ์ด์์ ๊ฐ ์ฌ์ฉ์์๊ฒ ํ์ํ APK ๋ง ๋ฐฐ์กํ๋๋ก ํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค.
๋ด ์๋ ์ง๋ฌธ์์ ์ง์ ํ๋ฏ์ด flutter build appbundle
์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์ ์ํ ์๋ฃจ์
์ด ์ ์ฉ๋์ง ์๊ฒ ์ฃ ?
์ด์ flutter build appbundle์ ์๋ํ๋๋ฐ ํ๋ ์ด ์คํ ์ด์์ ๋๋ฒ๊ทธ ๋น๋๋ผ๋ ์ค๋ฅ ๋ฉ์์ง๋ฅผ ๋ฐ์์ต๋๋ค...
๋ฌผ๋ก flutter.dev์ ์ง์นจ์ด ์ฌ์ฉ๋์ง ์๊ณ ๋์ android studio build->Generate Signed APK๊ฐ ์ฌ์ฉ๋๋ add2app ์๋๋ฆฌ์ค์์๋ ์๋ํด์ผ ํฉ๋๋ค.
์ค์ํ๋ค๊ณ ํ์ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๊ฒ์ ์ง์ ๋ ผ์ํ์ต๋๋ค. @tvolkert ๋ ์ด๊ฒ์ ์ข ๊ฒฐํ๋ ๋ฐ ๋์์ ์ค ์ฌ๋์ ์ฐพ์ ๊ฒ์ ๋๋ค.
๋๋ ๋ํ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค. 64bit๋ก ๊ธฐ๋ณธ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
build.gradle
๋ฅผ ์ฝ๊ฐ ์์ ํ๋ฉด ๋ฆด๋ฆฌ์ค apk ๋ฐ aab์ 64๋นํธ ๊ธฐ๋ณธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๊ฐ์ ๋ก ํฌํจ๋ ์ ์์ต๋๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ ์
Google์ ์ํด ์์ง 32๋นํธ๋ฅผ ์ฌ์ฉํ๋ ํด๋์ ํ๊ฐ ๋ช ๋์ธ์ง ์๋ ค์ฃผ์ธ์.
64๋นํธ ๋ฐ 32๋นํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ฉด ์ต์ข
APK ํฌ๊ธฐ๊ฐ ๋์ด๋ฉ๋๋ค.
ABI๋ก APK๋ฅผ ๋ถํ ํ๋ non-flutter ํ๋ก์ ํธ๊ฐ ์์ผ๋ฏ๋ก ํฌ๊ธฐ๋ฅผ ์ค์ด๊ธฐ ์ํด 32๋นํธ ๋ฐ 64๋นํธ์ฉ ๋ณ๋์ apk๊ฐ ์์ต๋๋ค. ์ด์ ์ด ๋จ๊ณ๋ ์์ผ๋ก APK ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๋๋ก ๊ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํ์ง๋ง ์?
๋๋ ์ธ๋/์ํ๋ฆฌ์นด์ ์ผ๋ง๋ ๋ง์ 32๋นํธ ์ ์ฉ ์ ํ๊ธฐ๊ฐ ์๋์ง์ ๋ํ ํต๊ณ๊ฐ ์์ต๋๋ค. ์ ๋ฝ, ๋ฏธ๊ตญ ๋ฐ ์์์ ์ผ๋ถ ์ง์ญ์์๋ ๊ฑฐ์ ์๋ ๊ฒ์ผ๋ก ํ์ ํฉ๋๋ค.
x86/x86_64 vs armeabi/arm64-v8a๋ ์ด๋ป์ต๋๊น? 4๊ฐ์ ABI ๋ชจ๋์ ๋ํด libflutter.so๋ฅผ ์ต์ข
ํ๋ก๋์
apk์ ์ถ๊ฐํด์ผ ํฉ๋๊น?
.. ๋ํ mips ... ์์ง๋ mips๋ฅผ ์ฌ์ฉํ๋ ์ ํ๊ฐ ์์ต๋๊น? ๊ตฌ๊ธ๋ง์ด ์๊ณ ์๋ค.
@VarolOkan AAB๋ฅผ ์ฌ์ฉํ๊ณ Google์ด ํ์ํ ๋ชจ๋ ABI ๋ฐ ํ๋ฉด dpi ์กฐํฉ์ ๋ํ APK๋ฅผ ์์ฑํ๋๋ก ํฉ๋๋ค.
Google Play Console์ ์ฑ ์ถ์ ํ์ด์ง(์์ 64๋นํธ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ํ์๋๋ ํ๋ฉด)์์ [๋ด๋ถ ํ ์คํธ ๋กค์์ ์์] ๋ฒํผ์ด ๋นํ์ฑํ๋์ด ์์ต๋๋ค.
64๋นํธ ๋ฒ๋ค ์๊ตฌ ์ฌํญ์ ์ด์ ํ๋ฌํฐ ํ๋ก์ ํธ์ ์ผ ์คํ ํผ์ ๋๋ค.
@eseidelGoogle ๋๋ ๋๊ตฌ๋ ์ง - ๋๊ตฌ๋ ์ง ํ์ธํ ์ ์์ต๋๋ค.
a) ์ผ ์คํ ํผ
๋๋ b) 8์๊น์ง ๊ฒฝ๊ณ
์ฐธ์กฐ: https://forums.expo.io/t/warning-with-the-google-play-64-bit-requirement/22305
๊ทธ๋ ์ผ์ชฝ์ ์๋์ ํ์ธํ๊ธฐ ์ํด ํ์ธํด์ผ ํ ์์๊ฐ ์๋ค๊ณ ํ์ํ๊ณ ๊ฒฝ๊ณ ์ 8์์ด๋ผ๊ณ ํ์๋๋ฉด ์ค์ ๋ก 5์ ์ด๋ผ๋ฉด ํฐ ๋ฌธ์ ๊ฐ ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๋ํ - ์ค์ ๋ก 32๋นํธ ๋จธ์ ์ด ๊ฑฐ์ ์๊ณ 64๋นํธ arm์ฉ ๋จ์ผ ๋ผ์ธ abiFilter๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด 99.5%์ ์ฌ์ฉ์ ๋๋ ๋ฌด์ธ๊ฐ๋ฅผ ์ง์ํ๋ ์คํ ๊ฐ๋ฅํ ์ต์ ์ธ์ง ์ฌ๋ถ๋ฅผ ์๋ ๋ฐ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. 1๋ ์ ์ ๋๊ตฐ๊ฐ ์ฒญ์ํ๋ ๊ฒ์ ๋ณธ ์ ์ด ์์ต๋๋ค. "์์ฅ์ ๋์ ์๋ ๋ชจ๋ ์ ํ๊ธฐ"๋ 64๋นํธ์์ต๋๋ค... ์๋ง๋ ์ค๋๋ ์ ํ๊ธฐ๊ฐ ๋ง์ด ์๋ค๋ ์๋ฏธ์ผ๊น์?
๋ด ์ดํด๋ ์ด๊ฒ์ด ์ผ ์คํ ํผ๊ฐ ์๋๋ผ ์ผ๋ฐ์ ์ธ ๊ฒฝ๊ณ ๋ผ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ @blasten ์๊ฒ ๊ธฐ๋ณธ Flutter ์ค์ ์ด ์ด ๊ฒฝ๊ณ ๋ฅผ ํผํ๊ธฐ ์ํด ํ ์ ์๋ ์ผ์ ์ดํด๋ณด๋๋ก ์์ฒญ
@eseidelGoogle์ด ๋งํ๋ฏ์ด ์ด ๋ฌธ์ ๋ ์ ๊ฐ ์ฒ๋ฆฌํ๊ฒ ์ต๋๋ค. ๊ทธ๋์ https://github.com/flutter/flutter/issues/18494#issuecomment -489807239 ๋จ๊ณ๋ฅผ ๋ฐ๋ผํด๋ณด์ จ๋์?
์ด๊ฒ์ ๋ ์ด์ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๊น? https://github.com/flutter/flutter/issues/18494#issuecomment -482795450
์ผ์คํ ํผ๊ฐ ์๋๋๋ค. ๊ฒฝ๊ณ ๋ฅผ ๋ฐ์์ง๋ง ๋ด ์ฑ์ ์ถ์ํ ์ ์์์ต๋๋ค.
ํ๋ ์ด์คํ ์ด.
ํฌ๋ฅด ๋ชจ๋ฅดํ
2019๋
5์ 7์ผ ํ์์ผ 17:46, Audrius Karosevicius [email protected]
์ผ๋ค:
์ด๊ฒ์ ๋ ์ด์ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๊น? #18494 (๋๊ธ)
https://github.com/flutter/flutter/issues/18494#issuecomment-482795450โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/flutter/flutter/issues/31922#issuecomment-490135779 ,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AA4B4J5BY3BJVIELNEPC4N3PUGP7BANCNFSM4HJU7TZA
.>
;-)
/๋ชจํ
์น: http://buildsucceeded.dk
๋ชจ๋น: 51 21 90 79
์์ฝ:
1) ์ฌํด ์ด Play๋ 8์๋ถํฐ ์คํ ์ด์ ์ฑ์ ์ ๋ก๋ํ์ฌ 64๋นํธ ๋ฒ์ ์ ์ ๊ณตํด์ผ ํ๋ค๊ณ ๊ฐ๋ฐ์๋ค์๊ฒ ์๋ ธ์ต๋๋ค(https://android-developers.googleblog.com/2019/01/get-your-apps-ready). -for-64-bit.html). ์ด๋ฒ ์ฃผ์ Play ์คํ ์ด๋ ๋ค๊ฐ์ค๋ ์๊ตฌ ์ฌํญ์ ๋ํ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ ๋ก๋๋ ์ฑ์ ๋ํ ์ ๋ณด ๋ฉ์์ง๋ฅผ ํ์ํ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ฌ Play ์คํ ์ด ์๊ตฌ ์ฌํญ์ ๋ณ๊ฒฝ๋์ง ์์์ต๋๋ค.
2) Flutter ํ๋ก์ ํธ์์ gradle ํ์ผ์ ์์ ํ๊ธฐ ์ํ ์ฝ๊ฐ์ ์๋ ๋ ธ๋ ฅ์ผ๋ก ๊ฒฝ๊ณ ์ฐธ์กฐ๊ฐ ์ด์ ์ค์ํ ์ ์๋ 64๋นํธ APK ์๊ตฌ ์ฌํญ: https://github.com/flutter/flutter/issues/18494#issuecomment - ๋ฐฉ๋ฒ์ ๋ํ ํ ๊ฐ์ง ์๋ 489807239์ ๋๋ค.
3) ์ฌ์ฉ์์ ์ถ๊ฐ ๋ ธ๋ ฅ ์์ด Flutter์ ๊ธฐ๋ณธ ๋์์ด 64๋นํธ ์ง์์ ๋ํ Play ์ง์นจ์ ํฅํ ์ ๋ฐ์ดํธ๋ฅผ ์ค์ํ๋๋ก ํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ์์ ์ 8์ ๋ง๊ฐ์ผ๋ณด๋ค ํจ์ฌ ์ ์ ๋ฉฐ์น /๋ช ์ฃผ ์์ ์๋ฃ๋ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค.
์์์ ๋์น ๊ฒ์ด ์์ผ๋ฉด ์ฃผ์ ํ์ง ๋ง๊ณ ๋๊ธ์ ๋ฌ๊ฑฐ๋ ์ฐ๋ฝํด ์ฃผ์ธ์. Play์์ ๊ฒฝ๊ณ ๋ฅผ ์ผ๊ธฐ ์ ์ ์ ๋ฐ์ดํธํ์ง ๋ชปํ ์ ์ฌ๊ณผ๋๋ฆฝ๋๋ค. ์ฌ๋ฌ๋ถ์ ๋์๊ณผ ํผ๋๋ฐฑ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
@seidelGoogle
flutter build apk
๋ง๋ ์ฑ์ ๊ฒ์ํ ์ ์์ต๋๋ค. Play ์คํ ์ด๋ ๋ด ํ๋กํ์์ 32๋นํธ ์ ์ฉ ๋น๋๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค.๋ด ์๊ฐ์, ๊ทธ๊ฒ์ ์ผ์คํ ํผ์ ๋๋ค.
@eseidelGoogle
64๋นํธ APK ์๊ตฌ ์ฌํญ์ ์ด์ Flutter ํ๋ก์ ํธ์์ gradle ํ์ผ์ ์์ ํ๊ธฐ ์ํ ์ฝ๊ฐ์ ์๋ ๋ ธ๋ ฅ์ผ๋ก ๊ฒฝ๊ณ ์ฐธ์กฐ๋ฅผ ์ค์ํ ์ ์์ต๋๋ค: ๋ฐฉ๋ฒ์ ๋ํ ํ ๊ฐ์ง ์: #18494(์ฃผ์).
๋ช ์๊ฐ์ ์ํ์ฐฉ์ค ๋์ 64๋นํธ libflutter.so๋ฅผ ํฌํจํ๋ ์๋ช ๋ apk๋ appbundle์ ์์ฑํ ์ __์์ต๋๋ค__
๋ฒ๋ค์ ํฌํจ๋ ์ ์ผํ libflutter.so๋
armeabi-v7a(32๋นํธ)
, ์ฌ์ฉํ ๋
์๋๋ก์ด๋ ์คํ๋์ค 3.4
๋น๋ #AI-183.5429.30.34.5452501, 2019๋
4์ 10์ผ ๋น๋
๋ฉ๋ด: ๋น๋ > ์๋ช ๋ ๋ฒ๋ค ์์ฑ/APK
flutter build apk --release --target-platform=android-arm64 -v
flutter build appbundle --release --target-platform=android-arm64 -v
๋ ๋ค ์คํจ @ > ์์ : app:validateSigningRelease FAILED
@ciez ์ด๊ฒ์ ๋๋ฅผ ์ํด 64๋นํธ ์ ์ฉ apk๋ฅผ ์์ฑํ์ต๋๋ค.
$ flutter build apk --release --target-platform=android-arm64
Initializing gradle... 1.1s
Resolving dependencies... 1.8s
Running Gradle task 'assembleRelease'...
Running Gradle task 'assembleRelease'... Done 9.0s
Built build/app/outputs/apk/release/app-release.apk (7.5MB).
@adriank
์, ์๋ํฉ๋๋ค.
๋ฌธ์ ๊ฐ ๋ฌด์์ธ์ง ์์ ๋์ต๋๋ค. keystore.jks ๊ฒฝ๋ก์ "~"๋ /home/user๋ก ๋์ฒด๋์ด์ผ ํ์ต๋๋ค.
์๋ชป๋ ๊ฒฝ๋ณด์ ๋ํด ์ฃ์กํฉ๋๋ค.
์ด๋ ๊ฒ ๋น๋๋ ๊ฐ ๋ฒ๋ค์ ์ต๋ 1๊ฐ์ ์์น๋ง ๋์์ผ๋ก ํ ์ ์๋ ๊ฒ ๊ฐ์ต๋๊น?
ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก Flutter ์ ๋ฐ์ดํธ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ๋์ ๋น๋๊ฐ ์ค๋จ๋์์ต๋๋ค.
@mulderpf ์ด๋ค ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ์ฉํ์ผ๋ฉฐ ๋น๋๊ฐ ์ด๋ป๊ฒ ์ค๋จ๋์์ต๋๊น?
Flutter ํ์ ์ต์ ์ ๋ฐ์ดํธ๋ ์ด ๋๊ธ ์ ์ฐธ์กฐํ์ธ์.
์
๋ฐ์ดํธ๊ฐ ์์ต๋๋ค. ๋ด ์ง์ ์์ ์๋ํ๊ณ ์์ต๋๋ค!
ํฅํ ๋ฆด๋ฆฌ์ค์์๋ flutter build appbundle --release --target-platform=android-arm-all
(APK๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ๋ถ๋ฆฌํ๋ ๊ฒ์ด ์ข์ต๋๋ค) ๋๋ flutter build apk --release --target-platform=android-arm-all
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
PST ์๊ฐ๋์ ๋๊ตฐ๊ฐ๊ฐ ๊ทธ๊ฒ์ ์๋ ํ ์ํฅ์ด ์์ต๋๊น? ๊ทธ๋ ๋ค๋ฉด Gitter ๋๋ Slack์ ๋ฌธ์ํ์ธ์. :)
@blasten ์ฌํ๊ฒ๋ ๋๋ ๋น์ ์ ๋ธ๋์น๋ก appbundle์ ์์ฑํ ์ ์์์ต๋๋ค. Gradle์ app:properties
์ด๋ป๊ฒ๋ ์คํจํ์ง๋ง ์ฝ๋๋ฅผ ๋ณด๋ฉด ์ ๋งํด ๋ณด์
๋๋ค.
flutter/engine
์ด ./lib/
๋๋ ํ ๋ฆฌ์์ AOT ์ค๋
์ท์ ๋ก๋ํ๋์ง ํ์ธํ์ต๋๊น? ์์ง ์ฝ๋๋ฅผ ๋ณด๋ฉด ๋ชจ๋ ๊ณณ์์ ์์ฐ์ ์ฌ์ฉํฉ๋๋ค... ์ด๊ฒ์ด ์๋ํ๋ฉด ์ ์ฒด App Bundle ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๊ฒ์
๋๋ค. ํ์ฌ๋ก์๋ ABI์ ์ํ ์์ฐ ๋๋ ํ ๋ฆฌ ํ๊ฒํ
์ง์์ด ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์
๋๋ค.
@SPodjasek ๋ง์ต๋๋ค. ์์ง์ ๋ก์ปฌ ๋น๋๋ ํ์ํ๋ฏ๋ก APK์ ํด๋์ค๊ฐ ์ ์ค๋ ์ท์ ์ฐพ์ต๋๋ค.
@blasten ๋น๋ ํธ๋ฆฌ๋ฅผ ์์ ํ์ผ๋ฉฐ ์ด์ base/lib/${abi}/
AOT ์ค๋
์ท์ด ํฌํจ๋ App Bundle์ ์ฑ๊ณต์ ์ผ๋ก ๋น๋ํ ์ ์์ต๋๋ค.
4649616 2019-05-13 20:52 base/lib/arm64-v8a/isolate_snapshot_data.so
6296768 2019-05-13 20:52 base/lib/arm64-v8a/isolate_snapshot_instr.so
8472736 2019-05-13 20:52 base/lib/arm64-v8a/libflutter.so
32352 2019-05-13 20:52 base/lib/arm64-v8a/vm_snapshot_data.so
19200 2019-05-13 20:52 base/lib/arm64-v8a/vm_snapshot_instr.so
3700504 2019-05-13 20:52 base/lib/armeabi-v7a/isolate_snapshot_data.so
6019680 2019-05-13 20:52 base/lib/armeabi-v7a/isolate_snapshot_instr.so
6036116 2019-05-13 20:52 base/lib/armeabi-v7a/libflutter.so
23520 2019-05-13 20:52 base/lib/armeabi-v7a/vm_snapshot_data.so
12640 2019-05-13 20:52 base/lib/armeabi-v7a/vm_snapshot_instr.so
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์์ ํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํ ์ง ๊ถ๊ธํฉ๋๋ค...
๋ค์๊ณผ ๊ฐ์ด
getContext().getApplicationInfo().nativeLibraryDir;
๋ฌผ๋ก ๊ทธ๋ ๊ฒ ๊ฐ๋จํ์ง๋ ์๊ฒ ์ง๋ง ์ ์ฒด์ ์ธ ๊ฐ๋ ์ ํ์ ํ์๋ฉด...
32๋นํธ ๋ฐ 64๋นํธ ์ง์์ผ๋ก flutter build appbundle
๋ฅผ ์๋ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
flutter.jar
์์ https://drive.google.com/open?id=1yAkfhPKfhdd8MwW39qfkZDePc66SMA_z ๊ณผ ์๋์ ๋ฐฐ์น {flutterInstallationPath}/bin/cache/artifacts/engine/android-arm-release
. Flutter ์ค์น ๊ฒฝ๋ก๋ฅผ ํ์ธํ๋ ค๋ฉด which flutter
์ฌ์ฉํ์ธ์.FlutterMain.java์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณด๋ ค๋ฉด https://github.com/blasten/engine/commit/b3ab9def28a414ffa53bf10ad6a3249f31ed00e3์ ์ฐธ์กฐํ์ญ์์ค.
$ cd {flutterInstallationPath}
$ git remote add arm-all https://github.com/blasten/flutter
$ git fetch arm-all apk_defaults
$ git checkout apk_defaults
$ git build appbundle --release --target-platform=android-arm-all
๋น์ ์ด ๋ฌด์์ ์ฐพ์๋์ง ์๋ ค์ฃผ์ญ์์ค.
+1
@danysz +1์ ์ฐ๋ ๋์ ์ด ๋ฌธ์ ์
๊ฐ์ฌํฉ๋๋ค!
@blasten ์ฑ ์์ ์คํจ:
05-14 10:50:35.979 3445 28828 I ActivityManager: Start proc 30019:xxx/u0a262 for activity xxx/com.example.flutterapp.MainActivity
05-14 10:50:36.067 30019 30019 I FirebaseInitProvider: FirebaseApp initialization successful
05-14 10:50:36.108 30019 30019 E flutter : [ERROR:flutter/runtime/dart_vm_data.cc(19)] VM snapshot invalid and could not be inferred from settings.
05-14 10:50:36.108 30019 30019 E flutter : [ERROR:flutter/runtime/dart_vm.cc(241)] Could not setup VM data to bootstrap the VM from.
05-14 10:50:36.108 30019 30019 E flutter : [ERROR:flutter/runtime/dart_vm_lifecycle.cc(89)] Could not create Dart VM instance.
05-14 10:50:36.108 30019 30019 F flutter : [FATAL:flutter/shell/common/shell.cc(218)] Check failed: vm. Must be able to initialize the VM.
05-14 10:50:36.108 30019 30019 F libc : Fatal signal 6 (SIGABRT), code -6 in tid 30019 (xxx), pid 30019 (xxx)
์ด๊ฒ์ ๋ด ๋ฌผ๋ฆฌ์ ์ฅ์น์ 9/10 ํ ์คํธ ๋ฉ ์ฅ์น๋ก ์ด๋ํฉ๋๋ค. Pixel-Q-๋ฒ ํ์ ๋ํด ์ผ์นํ์ง ์๋ ๊ฒฐ๊ณผ๊ฐ ์์ต๋๋ค.
@danysz +1์ ์ฐ๋ ๋์ ์ด ๋ฌธ์ ์
๊ฐ์ฌํฉ๋๋ค!
์๋ฃ
@blasten ๋ณ๊ฒฝ ์ฌํญ์ ์ดํด๋ณด๋ฉด ๊ธฐ์กด ์ฑ์ ๊ฒฝ์ฐ AndroidManifest.xml
๋ฅผ ์์ ํด์ผ ํ๋ค๋ ๊ฒ์ ์์์ต๋๋ค.
diff --git a/packages/flutter_tools/templates/app/android.tmpl/app/src/main/AndroidManifest.xml.tmpl b/packages/flutter_tools/templates/
app/android.tmpl/app/src/main/AndroidManifest.xml.tmpl
index 4778a2080..f3492835e 100644
--- a/packages/flutter_tools/templates/app/android.tmpl/app/src/main/AndroidManifest.xml.tmpl
+++ b/packages/flutter_tools/templates/app/android.tmpl/app/src/main/AndroidManifest.xml.tmpl
@@ -24,6 +24,11 @@
<meta-data
android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
android:value="true" />
+ <!-- If true, the snapshots are read from lib instead of the assets
+ directory in the APK. -->
+ <meta-data
+ android:name="io.flutter.view.FlutterMain.snapshot-in-lib"
+ android:value="${snapshotInLib}" />
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ์ฌ์ ํ ์คํจ...
@๋ธ๋ผ์คํ
git build
$ git build appbundle --release --target-platform=android-arm-all
"git build" or "flutter build" ? :-)
์ฌํ๊ฒ๋ ๋๋ ๋น์ ์ ์ง์์ ๋ฐ๋ผ appbundle์ ์์ฐํ ์ ์์์ต๋๋ค. Gradle์ ์ด๋ป๊ฒ๋ app:properties ์์ ์คํจํฉ๋๋ค("Building flutter tool..." ๋ฐ android-arm-*....์ ์ผ๋ถ ๋ค์ด๋ก๋ ํ).
๋ค์ด๋ก๋ ํ๋ก์ธ์ค๊ฐ flutter.jar๋ฅผ ๋ฎ์ด์ด ๊ฒ ๊ฐ์ต๋๋ค.
@MoacirSchmidt ๋น์ทํ ๋ฌธ์ ๊ฐ ์์์ง๋ง ๋น๋ ๋๋ ํ ๋ฆฌ( flutter clean
) ๋ฐ gradle ์บ์( ~/.gradle/caches
& ${projectRoot}/android/.gradle
)๋ฅผ ์ฒญ์ํ๋ฉด ๋์์ด ๋์์ต๋๋ค.
64๋นํธ APK๋ฅผ ๋น๋ํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์๋ ์ฌ๋๋ค์ ์ํด.
์ด ์ค์ ์ ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
flutter build apk --release --target-platform=android-arm
๋ฒ์ ์ฝ๋ ์ฆ๊ฐ
flutter build apk --release --target-platform=android-arm64
https://github.com/flutter/flutter/issues/18494์์ ๋ ๋ง์ ํ ๋ก
flutter build appbundle
์ด(๊ฐ) ์ด์ ๋ง์คํฐ์ ์์ต๋๋ค. ์๋ฐ์ ์ผ๋ก ์๋ํ๊ณ ์ถ์ ์ฌ๋์ด ์์ต๋๊น?
๋์ฒ๋ผ gradle ํ์ผ ๋ณ๊ฒฝ์ ๋๋ ค์ํ๋ ์ฌ๋๋ค์ ์ํด โ 64๋นํธ ๋ฒ์ ๋ง ์ํ๋ฉด build.gradle์ ์์ ํ์ง ์์๋ flutter build apk --release --target-platform=android-arm64
์๋ํฉ๋๋ค.
@blasten beta
์ฑ๋์์ flutter build appbundle
์๋ํ์ต๋๋ค. Play ์คํ ์ด์ ์
๋ก๋ํ๋ ค๊ณ ํ๋ฉด ์ฌ์ ํ 32/64 ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
master
๋ผ๊ณ ๋ง์ํ์
จ์ง๋ง ์์ง ํด๋น ์ง์ ์์ ์์
ํ๊ณ ์๋ ๋ช ๊ฐ์ง ์ค๋ฅ๊ฐ ์์ต๋๋ค. ๊ทธ ์ ๋ณด๋ฅผ ์๋ ค๋๋ฆฌ๊ณ ์ถ์์ต๋๋ค!
๋๋ ๋ํ์ด ๊ฒฝ๊ณ ๋ฅผ ๋ฐ๊ณ ์๋ค!
๋ชจ๋ ์ํคํ ์ฒ์ ๋ํ ์ฑ ๋ฒ๋ค์ ๋น๋ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
์์ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์์ต๋๊น?
์ฑ ๋ฒ๋ค์ ์ฐธ์กฐํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฒ๊ทธ๋ฅผ ๋ซ์ต๋๋ค. ๋ง์คํฐ ๋ถ๊ธฐ๋ก ์ ํํ๋ฉด flutter build appbundle
๋ฅผ ์ฌ์ฉํ์ฌ 32๋นํธ ๋ฐ 64๋นํธ CPU ์ํคํ
์ฒ๋ฅผ ์ง์ํ๋ ์ฑ ๋ฒ๋ค์ ์์ฑํ ์ ์์ต๋๋ค. ์ฑ ๋ฒ๋ค์ ์ ํธํ๊ฑฐ๋ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ์ด ์ค๋ ๋ ๋ฅผ ๋ฐ๋ผ ํป APK๋ฅผ ํตํ ์ถ๊ฐ ์ง์์ ๋ฐ์ผ์ธ์.
@blasten - Android Studio ๋ด์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ ์ ๊ณตํด ์ฃผ์๊ฒ ์ต๋๊น?
ํ์ฌ ํ๋ฌํฐ ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์์ฌ ์์ฝ(๋ชจ๋ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด flutter Doctor -v ์คํ):
[โ] Flutter(์ฑ๋ ์์ ๋ฒ์ , v1.2.1, Microsoft Windows [๋ฒ์ 10.0.17763.503], ๋ก์ผ์ผ en-US)
[โ] Android ํด์ฒด์ธ - Android ๊ธฐ๊ธฐ์ฉ ๊ฐ๋ฐ(Android SDK ๋ฒ์ 28.0.3)
[โ] ์๋๋ก์ด๋ ์คํ๋์ค(๋ฒ์ 3.4)
์ด ๋ณ๊ฒฝ ์ฌํญ์ ์ธ์ stable
์ง์ ์ผ๋ก ์ด๋ํฉ๋๊น?
@blasten ์
@blasten flutter build appbundle์์ ๋ง๋ ์ฑ ๋ฒ๋ค์ ์๋ช ํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
@blasten ์ ํ๋ก๋์ ์ฑ์ ๋ง์คํฐ ๋ธ๋์น๋ฅผ ์ฌ์ฉํ๋ ์ข์ ๋ฐฉ๋ฒ์ ๋๊น?
@dbokhin flutter channel master
๋ฅผ ์ฌ์ฉํ์ฌ ๋ง์คํฐ ์ฑ๋๋ก ์ ํํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ์ด์ dev ์ฑ๋์์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
@tvolkert - stable
๋ถ๊ธฐ์ ๋ณํฉ๋๋ ๊ธฐ๊ฐ์ ๋ฌด์์
๋๊น?
@angel1st ์ง๊ธ๋ถํฐ ์ฝ 3๊ฐ์ ํ์ ๊ฒ์คํธ๋ก
@truongsinh - 8์ 1์ผ์ด ์ง๊ธ์ผ๋ก๋ถํฐ ์ฝ 2๊ฐ์
@angel1st ์ด๋ฏธ ์์ ํ๋์์ต๋๋ค! ๋ ์์๋ณผ๊ฒ์...
@angel1st ์ด๋ฏธ ์์ ์ํ์ ๋๋ค!
๋น์ ์ ๊ทธ๊ฒ์ ๋ํด ํ์ ํฉ๋๊น? ํ์ฌ ์์ ๋ฒ์ ์ 1.5.4-hotfix 2 ant์ด๋ฉฐ 32์ 64 ๋ชจ๋์์ ๋ฒ๋ค์ ์์ฑํ์ง ์์ต๋๋ค. ์๋๋ฉด ์ ๊ฐ ๋์น ๊ฒ์ด ์์ต๋๊น?
@shinayser ์์ง ์๋๋๋ค. ์ฃ์กํฉ๋๋ค. ๋ ์์๋ณด๊ณ ์ค๋ ๋๋ฅผ ์
๋ฐ์ดํธํ๊ฒ ์ต๋๋ค. Todd๊ฐ ์ธ๊ธํ๋ฏ์ด ํ์ฌ๋ก์๋ master
์ฑ๋์ด ์ ์ผํ ์ต์
์
๋๋ค.
๋๋ ์ฑ ๋ฒ๋ค์ ์๋ํ๋ค. ๋ง์คํฐ์ Flutter 1.6.1-pre ๋ฒ์ ์ด ์์์ต๋๋ค.
์ฑ๋.
๋ฒ๋ค์ ์ถ๋ ฅ์ ๊ฒฝ๊ณ ๋ฅผ ์์ฑํ์ง ์์ ์ฝ 12MB์์ต๋๋ค.
๊ฐ๋ณ APK ํฌ๊ธฐ๋ ์ฝ 7์ด์์ต๋๋ค. ์ง๊ธ๊น์ง๋ ๋ชจ๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํ์ง๋ง Play ์คํ ์ด๋ฅผ ํตํด ์
๋ฐ์ดํธํ ํ ์ฑ์ ์ด์์ ๋ ๋ด ์ฑ์
์์ ํ๋ฉด์ ๋ฉ์ท์ต๋๋ค.
๋๋ ์ ์๋ํ๋ ํ๋ฌํฐ ๋น๋ APK๋ก ๋๋๋ฆด ์ ํ์ ์ฌ์ง๊ฐ ์์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์.
๋ฐ๋ผ์ ๊ฒฝ๊ณ ์๋ ๋ถ๊ตฌํ๊ณ ์ด ๋ฌธ์ ๊ฐ ์์ง ์ข
๋ฃ๋์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
์ฑ ๋ฒ๋ค๊ณผ ํจ๊ป ์ฌ๋ผ์ก๊ณ ์ฑ ์์ฒด๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. ์ฑ๋ฒ๋ค์
์คํ๋์ ํ๋ฉด์ ๊ฐํ ์ฑ์ ์ธ๋ชจ ์๊ฒ ๋ง๋ญ๋๋ค.
๊ทธ๋ฐ ๊ฒฝ์ฐ Gitter์์ ์ ์๊ฒ ์ง์ ์ฐ๋ฝํด ์ฃผ์ธ์: https://gitter.im/flutter/flutter. ๊ฐ๋ฅํ๋ฉด ๋๊ตฌ์์ ์์ฑํ .aab
ํ์ผ์ ๋ณด๋ด์ฃผ์๋ฉด ๋์์ด ๋ฉ๋๋ค.
์ด๋ค ์์ผ๋ก๋ ์ฌ์ฉ๋ฒ์ ๋ฌธ์ํ ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ํ Flutter ํ์ด ๊ฐ๋ฐ์๋ฅผ ๊ณ์ ์ ์งํ๋ ค๋ฉด 6์ ๋ง ์ด์ ์ ์ด๊ฒ์ stable
๋ณํฉํ๋ ๊ฒ์ด ์ค์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
@angel1st ์ฐ๋ฆฌ๋ ์ด ์์
์ 6์ ๋ง๊น์ง stable
๋ก ์น๊ฒฉ์ํค๊ธฐ ์ํด ์ด์ฌํ ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค.
์ผ๋ถ ์ ๋ฐ์ดํธ:
์ฑ ๋ฒ๋ค(๋ง์คํฐ ์ฑ๋์์ flutter build appbundle
์ ์ฌ์ฉํ์ฌ ์์ฑ)์์ APK๋ฅผ ๋ฐฐํฌํ ํ ์์ ํ๋ฉด์์ ๋ฉ์ถ๋ ์ฑ์ ์ฌํํ ์ ์์์ต๋๋ค.
์ด๊ฒ์ AOT ์ค๋
์ท( vm-snapshot-data
, vm-snapshot-instr
, isolate-snapshot-data
, isolate-snapshot-instr
)์ /lib/{abi}/lib_{snapshot}.so
๋ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ฐฐ์นํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ฑ ๋ฒ๋ค์ ๋ํ ABI ๋ถํ ์ ๊ฐ์ ธ์ต๋๋ค.
ํธ์ง : ๊ทผ๋ณธ ์์ธ์ Android ์๋ฒ ๋์ ์ฝ๋๊ฐ ์ด ์ค ์ flutter_assets
๋ผ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ํ์ง๋ง ์ต๊ทผ์ ์ฑ ๋ฒ๋ค์ ์ง์ํ๊ธฐ ์ํ ๋ณ๊ฒฝ์ผ๋ก ์ด๋ฌํ ๋๋ ํ ๋ฆฌ ์์ฑ์ด ๋นํ์ฑํ๋์ด ์ฑ์ด ์์๋์ง ์๋ ๊ฒ์ผ๋ก ๋ฐํ์ก์ต๋๋ค. @jason-simmons https://github.com/flutter/engine/compare/7f4f52f95294...e8db5dfd52ee์ ์ด ์ปค๋ฐ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
ํ์ฌ ๊ณํ์ flutter ๋๊ตฌ๊ฐ AOT ์ค๋ ์ท ๋์ ELF ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ์ด ๊ธฐ๋ฅ์ https://github.com/dart-lang/sdk/commit/af93ebcf4cb55ae5f0f39a183ad2d42ca13ae51f์ Dart SDK์ ๋ฐฉ๊ธ ์ถ๊ฐ๋์์ต๋๋ค.
์ด๊ฒ์ด ์๋ฏธํ๋ ๋ฐ๋ ์ค์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ ๋ฒ๋ค ๋ฐ ํป APK์ ๋ํ ABI ๋ถํ ์ ์ป์ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด ์ด ๋ฒ๊ทธ์ https://github.com/flutter/flutter/issues/18494๋ฅผ ์
๋ฐ์ดํธํ๊ฒ ์ต๋๋ค. ํํธ --target-platform
์ build appbundle
๋ก ์ ๋ฌํ๋ฉด AOT ์ค๋
์ท์ lib/
์ด๋ํ์ง ์๊ณ ์ฑ ๋ฒ๋ค์ ๋น๋ํ ์ ์์ต๋๋ค.
์ผ๋ถ ์ ๋ฐ์ดํธ:
์ฑ ๋ฒ๋ค(๋ง์คํฐ ์ฑ๋์์
flutter build appbundle
์ ์ฌ์ฉํ์ฌ ์์ฑ)์์ APK๋ฅผ ๋ฐฐํฌํ ํ ์์ ํ๋ฉด์์ ๋ฉ์ถ๋ ์ฑ์ ์ฌํํ ์ ์์์ต๋๋ค.์ด๊ฒ์ AOT ์ค๋ ์ท(
vm-snapshot-data
,vm-snapshot-instr
,isolate-snapshot-data
,isolate-snapshot-instr
)์/lib/{abi}/lib_{snapshot}.so
๋ด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๋ฐฐ์นํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๊ฒ ๊ฐ์ต๋๋ค. ์ฑ ๋ฒ๋ค์ ๋ํ ABI ๋ถํ ์ ๊ฐ์ ธ์ต๋๋ค. ๊ฒฐ๊ตญ, ์ค๋ ์ท์ ์ค์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋๋ฉฐ ์ด ๋์์ ์ป๊ธฐ ์ํ ํดํน์ ์๋ํ์ง ์์์ต๋๋ค.ํ์ฌ ๊ณํ์ flutter ๋๊ตฌ๊ฐ AOT ์ค๋ ์ท ๋์ ELF ๊ณต์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ์ด ๊ธฐ๋ฅ์ dart-lang/ sdk@af93ebc ์ Dart SDK์ ๋ฐฉ๊ธ ์ถ๊ฐ๋์์ต๋๋ค.
์ด๊ฒ์ด ์๋ฏธํ๋ ๋ฐ๋ ์ค์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ ๋ฒ๋ค ๋ฐ ํป APK์ ๋ํ ABI ๋ถํ ์ ์ป์ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋ฉด ์ด ๋ฒ๊ทธ์ #18494๋ฅผ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค. ํํธ
--target-platform
์build appbundle
๋ก ์ ๋ฌํ๋ฉด AOT ์ค๋ ์ท์lib/
์ด๋ํ์ง ์๊ณ ๋ ์ฑ ๋ฒ๋ค์ ๋น๋ํ ์ ์์ต๋๋ค.
๋ค์ดํฐ๋ธ ์ฝ๋๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ๊ฒฝ์ฐ @blasten ์ด ์ ๋๋ก ์๋ํฉ๋๊น? ์: VLC. APK๋ฅผ ๋น๋ํ ๋ .so
์์ฑํฉ๋๋ค.
์ - APK ๋ด์์ ๋ค๋ฅธ ๋ค์ดํฐ๋ธ ์ฝ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์๋ก์ด ํจํค์ง ํ์์์ Flutter ์ฑ์๋ ์ฑ์ Dart ์ฝ๋์์ ์ปดํ์ผ๋ AOT ์ค๋
์ท ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ ๋ค๋ฅธ .so
์ ํจ๊ป libflutter.so
์์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํฌํจ๋ฉ๋๋ค. ์ฑ์ ํ์ํ ๊ฒฝ์ฐ Flutter์ ๊ด๋ จ์ด ์๋ ๋ค๋ฅธ .so
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ฐธ๊ณ ๋ก ์คํ๋์ ํ๋ฉด์์ ๋ฉ์ถ๋ ๋ฌธ์ ์ ๋ํ ์์ ์ฌํญ์ (์ถ์ ์์ ) 1.7.0 dev ์ฑ๋ ๋ฆด๋ฆฌ์ค(https://github.com/flutter/flutter/wiki/Bad-Builds#v161--- v167)
์๋
๋ชจ๋. ์คํ๋์ ํ๋ฉด์์ ๋ฉ์ถ๋ ๋ฌธ์ ์ ๋ํ ์์ ์ฌํญ์ด dev ์ฑ๋์ ๋์ฐฉํ์ต๋๋ค. v1.7.0์ผ๋ก flutter upgrade
ํ๋ฉด ๋ณผ ์ ์์ต๋๋ค. ์ฌ์ฉํด ๋ณด์๊ณ flutter build appbundle
๋ฌธ์ ๊ฐ ์์ผ๋ฉด ์๋ ค์ฃผ์ญ์์ค.
@tvolkert ์ด์ ์๋ ์๋ํ์ง ์์๊ณ ์ง๊ธ์ ์๋ํ์ง ์์ต๋๋ค. ์ฑ๋ ๊ฐ๋ฐ(1.7.0)์ด๋ ์ฑ๋ ๋ง์คํฐ(1.7.1)์๋ ์์ต๋๋ค. flutter build appbundle
๊ฐ ํฌํจ๋ ์ฑ ๋น๋๋ Play ์คํ ์ด๋ฅผ ํตํด ๊ฒ์ํ๊ณ ์ค์ ๊ธฐ๊ธฐ์์ ์คํํ ํ ์ถฉ๋ํฉ๋๋ค.
ํธ์ง: ์ด์ ๊ธฐ๊ธฐ์์ ์ฑ์ ์ญ์ ํ๊ณ Play ์คํ ์ด์์ ๋ค์ ์ค์นํ ํ ์ฑ๋ dev(1.7.0)์์ ์๋ํฉ๋๋ค.
Edit2: ์๋ํ์ง ์์ต๋๋ค. Play ์คํ ์ด๋ ์ฌ๋ฐ๋ฅธ ๋ฒ์ ์ ๋ฐฐํฌํ๋ ๋์ ํ์๋ณด๋ค ์ฝ๊ฐ ๋๋ ธ์ต๋๋ค. ๋ฒ์์ ๋๊ธฐ ์ํด ๋ฌด์์ ํ ์ ์์ต๋๊น?
@masewo ๊ทธ ๋น์ ์ด๋ค ๋ฒ์ ์ Flutter๊ฐ ์คํ ์ค์ด์๋์ง์ ํจ๊ป ์ฅ์น์์ ์ญ์ ํ์๋ฅผ ์์งํ ์ ์์ต๋๊น?
@jason-simmons @blasten ์ด ๋ฌธ์ ๋ฅผ ์ถ์ ํ๋ ๋ฐ ๋์์ด ๋๊ณ ์ถ์ ๊ฒ์ด ์์ต๋๊น?
@tvolkert
๋ฌ๋น:
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: Build fingerprint: 'samsung/crownltexx/crownlte:9/PPR1.180610.011/N960FXXS2CSDJ:user/release-keys'
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: Revision: '28'
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: ABI: 'arm64'
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: pid: 8261, tid: 8261, name: asewo.myfirstapp >>> net.masewo.myfirstapp <<<
2019-06-04 08:32:44.375 8326-8326/? A/DEBUG: signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: Abort message: '[FATAL:flutter/shell/common/shell.cc(218)] Check failed: vm. Must be able to initialize the VM.
'
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: x0 0000000000000000 x1 0000000000002045 x2 0000000000000006 x3 0000000000000008
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: x4 0000000000000000 x5 0000000000000000 x6 0000000000000000 x7 0080000000000000
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: x8 0000000000000083 x9 000000767c1f9890 x10 fffffff87ffffbdf x11 0000000000000001
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: x12 00000075ded1c000 x13 0000000000000008 x14 ffffffffffffffff x15 0000402003ff3b02
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: x16 000000767c2302b0 x17 000000767c16f958 x18 0000007fdd2251da x19 0000000000002045
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: x20 0000000000002045 x21 0000000000000083 x22 00000075edde02e0 x23 00000075dec79fc0
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: x24 00000075de3a6150 x25 0000000000000000 x26 00000075f7614ca0 x27 0000000000000003
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: x28 0000000000000000 x29 0000007fdd225b00
2019-06-04 08:32:44.376 8326-8326/? A/DEBUG: sp 0000007fdd225ac0 lr 000000767c162da0 pc 000000767c162dcc
2019-06-04 08:32:44.377 8326-8326/? A/DEBUG: backtrace:
2019-06-04 08:32:44.377 8326-8326/? A/DEBUG: #00 pc 0000000000021dcc /system/lib64/libc.so (abort+124)
2019-06-04 08:32:44.377 8326-8326/? A/DEBUG: #01 pc 0000000000e4a6a0 /data/app/net.masewo.myfirstapp-J4PFXKn_O2diLnKpCeu2eg==/split_config.arm64_v8a.apk (offset 0xe2d000)
์ค๋ฃฉ ๊ฑฐ๋ฆฌ๋ค:
D:\Programme\Android\flutter\bin\flutter.bat doctor --verbose
[โ] Flutter (Channel dev, v1.7.0, on Microsoft Windows [Version 10.0.18362.145], locale de-DE)
โข Flutter version 1.7.0 at D:\Programme\Android\flutter
โข Framework revision f36a35d20a (3 days ago), 2019-05-31 15:27:56 -0400
โข Engine revision a32df2c928
โข Dart version 2.3.2 (build 2.3.2-dev.0.0 445a23a9bc)
[โ] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
โข Android SDK at D:\Programme\Android\sdk
โข Android NDK location not configured (optional; useful for native profiling support)
โข Platform android-28, build-tools 28.0.3
โข Java binary at: D:\Programme\Android\Android Studio Dev\jre\bin\java
โข Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)
โข All Android licenses accepted.
[โ] Android Studio (version 3.5)
โข Android Studio at D:\Programme\Android\Android Studio Beta
โข Flutter plugin version 36.0.7
โข Dart plugin version 191.7221
โข Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b02)
[โ] Connected device (1 available)
โข SM N960F โข xxxxxxxxxxxxxxxx โข android-arm64 โข Android 9 (API 28)
@jason-simmons @blasten @masewo ์ ๊ฒฝ์ฐ ์ถฉ๋์ ์ผ์ผํค๋ ๊ฒ์ ์ด ์ฃผ์ฅ ์ ๋๋ค.
@masewo ์ฑ ์ด ์์ผ๋ฉด ๋น์ฌ ์ธก์์ ์ถฉ๋์ ์ฌํํ ์ ์์ต๋๋ค. ์ด ๋์์ ๋ณด์ฌ์ฃผ๋ 1.7.1 ๋ฆด๋ฆฌ์ค์์ ์๋ช ๋์ง ์์ .aab ํ์ผ์ ๋น๋ํ์ฌ ์ด๋ฉ์ผ(tvolkert@google .com)? ๊ทธ๋ ๋ค๋ฉด ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค!
์ฐธ๊ณ ๋ก, 64๋นํธ ์ง์๊ณผ ๊ด๋ จํ์ฌ ๋ค์ ๋ฐํ๊ฐ [email protected] ์ผ๋ก ์ ์ก๋์์ต๋๋ค.
https://groups.google.com/forum/#!topic/flutter -announce/oIzwT9EDczc
@tvolkert ๋ https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps ๋ฅผ ๋์ดํ ๋ชจ๋ ํฌ์ธํธ์ ํธํ๋๋๋ก ํ๋ ํ์ด๊ธฐ๋ ํฉ๋๋ค.
32๋นํธ์ 64๋นํธ๋ฅผ ๋ชจ๋ ์ง์ํ๋ ์ฑ ๋ฒ๋ค์ ๋น๋ํ๋ ๋ฐฉ๋ฒ(๊ธฐ๋ณธ์ ์ผ๋ก)์ ์ ๊ณตํฉ๋๋ค. (์ด๋ฏธ dev ์ฑ๋์์ ํ ์คํธ ๊ฐ๋ฅ)
๊ธฐ๋ณธ์ ์ผ๋ก 32๋นํธ์ 64๋นํธ๋ฅผ ๋ชจ๋ ์ง์ํ๋ APK๋ฅผ ๋น๋ํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. (์งํ ์ค)
@truongsinh ์, ๋ณด๋ฅ ์ค์ธ PR์์ ์ด ์๊ฒฌ์ ์ฐธ์กฐํ์ญ์์ค. https://github.com/flutter/flutter/pull/33696#issuecomment -498934359
@masewo ๋ฐ ๊ธฐํ ๋ชจ๋ ์ฌ์ฉ์: https://github.com/flutter/flutter/issues/31922#issuecomment -498541765์ ์ค๋ช ๋ ์ถฉ๋์ ๋ณต์ ํ ์ ์์๊ณ ์ถ์ ์ค์ ๋๋ค.
tldr: ์ ์๋ง ๊ธฐ๋ค๋ ค ์ฃผ์ธ์ - ์งํ ์ค์ ๋๋ค ๐
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
Play ์คํ ์ด์์ ๋ค์ด๋ก๋ํ ๋ ๋ฐ์ํ๋ ์ถฉ๋ ๋ฌธ์ ๋ฅผ ํ์ธํ์ผ๋ฉฐ ์์ https://github.com/flutter/flutter/issues/31922#issuecomment์ ์ค๋ช ๋ ๊ฒ๊ณผ ๋์ผํ ๊ธฐ๊ฐ ๋ด์ ์ ๊ณต๋ ์์ ์์ ์ ์งํ ์ค์ ๋๋ค. -498880614
๊ด์ฌ ์๋ ์ฌ๋๋ค์ ์ํด Android Marshmallow ์ด์์ ์คํํ๋ ๊ธฐ๊ธฐ์์ Play ์คํ ์ด๊ฐ ์ฌ๋ฌ ABI๋ฅผ ํฌํจํ๋ App Bundle๋ก ํจํค์ง๋ ์ฑ์ ๊ฐ์งํ๊ณ "split APK". ์ด๋ ๊ฒ ํ๋ฉด ๊ทธ ์์ ํฌํจ๋ .so ํ์ผ์ด APK zip ์์นด์ด๋ธ์์ ์ถ์ถ๋์ง ์๋๋ฐ, ์ด๋ ๋น๋ถํ APK์ ๋์๊ณผ ๋ค๋ฆ ๋๋ค. .so ํ์ผ์ ์ฐพ๋ Flutter ์์ง์
์๋ฃจ์
์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ dlopen
ํ๊ณ Android๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋ ์์น(์: ์์นด์ด๋ธ ๋ด๋ถ ์ฌ๋ถ)๋ฅผ ์ถ์ํํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ์ํ .so ํ์ผ์ ์ฒ์๋ถํฐ ์ง์ ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋์์ต๋๋ค. Dart VM์ ๋ก๋ํ ๋ฐ์ดํฐ์ ์ด์ง ๋ฉ์ด๋ฆฌ์ผ ๋ฟ์
๋๋ค. ๊ทธ๋์ ์ด๊ฒ์ ์ผ๋ถ๋ก ELF ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์์ต๋๋ค(์: https://github.com/dart-lang/sdk/commit/6d608fb52bc1926a73d986d73ab228b77cfb7ca2 ๋ฐ https://github.com/flutter/flutter/pull/33696).
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
์์ ์ฌํญ์ด ๋ชจ๋ master
์ฑ๋์ ์ ์ ์ ๋๋ฌํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฌ์ฉํด ๋ณด๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์ญ์์ค.
flutter build appbundle
๊ธฐ๋ณธ์ ์ผ๋ก App Bundle์๋ armeabi-v7a (32๋นํธ) ๋ฐ arm64-v8a (64๋นํธ)์ฉ์ผ๋ก ์ปดํ์ผ๋ Dart ์ฝ๋์ Flutter ๋ฐํ์์ด ํฌํจ๋์ด ์์ต๋๋ค.
flutter build apk --split-per-abi
์ด ๋ช ๋ น์ ๋ ๊ฐ์ APK๋ฅผ ์์ฑํฉ๋๋ค.
build/app/outputs/apk/release/app-armeabi-v7a-release.apk
build/app/outputs/apk/release/app-arm64-v8a-release.apk
flutter build apk
๊ทธ๋ฌ๋ฉด ๋ชจ๋ ๋์ ABI์ ๋ํด ์ปดํ์ผ๋ ์ฝ๋๊ฐ ํฌํจ๋ ๋ฑ๋ฑํ APK๊ฐ ์์ฑ๋ฉ๋๋ค. ์ด๋ฌํ APK๋ ๋ถํ ๋ APK๋ณด๋ค ํฌ๊ธฐ๊ฐ ๋ ํฌ๋ฏ๋ก ์ฌ์ฉ์๊ฐ ๊ธฐ๊ธฐ ์ํคํ ์ฒ์ ์ ์ฉํ ์ ์๋ ๊ธฐ๋ณธ ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋ค์ด๋ก๋ํ๊ฒ ๋ฉ๋๋ค.
flutter build appbundle
์ด(๊ฐ) ์๋ํฉ๋๋ค. @tvolkert ๊ฐ์ฌ
์ฌ๋ฌ Android ๊ธฐ๊ธฐ์์ ์ด๊ฒ์ด ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค(๋ง์คํฐ๋ก ์ ํํ ํ). ์๋ช ์ ์์ธ, ๊ฐ์ฌํฉ๋๋ค.
์์ฒญ๋! @blasten , @jason-simmons ๋ฐ @rmacnak-google์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ ๋ ๋ฉ์ ์ ์ผ ๋ฟ์ ๋๋ค ๐
๋น ๋ฅธ ์๋ต์ ์ํด Flutter ํ๊ณผ ๊ธฐ์ฌ์ ๋ชจ๋์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ๋ฐ๋ผ๊ฑด๋, ์ด๊ฒ์ 1.5 ๊ฐ์ ์ด๋ด์ ๋ฒ ํ ์ฑ๋์ ๋์ฐฉํฉ๋๋ค :)
@tomaszpolanski ๊ณํ์ 6์ ๋ง๊น์ง ๋ฒ ํ ๋ฒ์ ์ ๋ง๋ค๊ณ 7์ ์ด๊น์ง ์์ ํํ๋ ๊ฒ์ ๋๋ค ๐
@tvolkert x86๋ ํฌํจํ๋๋ก ์ ๋ฌํ ์ ์๋ flutter build appbundle
๋ช
๋ น ํ๋๊ทธ๊ฐ ์์ต๋๊น?
@athornz ๊ฐ ๋ฆด๋ฆฌ์ค ๋ชจ๋ atm์ ์์ต๋๋ค. ์ฐธ์กฐ: https://github.com/flutter/flutter/issues/9253. ํ์ง๋ง ๊ฐ๊น์ด ์ฅ๋์ x86_64
์ ๋ํ AOT ์ค๋
์ท์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๋ง์คํฐ ๋ถ๊ธฐ๋ก ์ ํํ๋ฉด ๋ค์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์์ ์ ์ธ ๋น๋์ด์ง๋ง ๋ฆด๋ฆฌ์ค ๋ฒ๋ค์ 64๋นํธ๋ฅผ ํฌํจํ์ง ๋ชปํฉ๋๋ค.
Running flutter doctor...
Doctor summary (to see all details, run flutter doctor -v):
[โ] Flutter (Channel master, v1.7.4-pre.108, on Mac OS X 10.14.5 18F132, locale nl-NL)
[โ] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[โ] Xcode - develop for iOS and macOS (Xcode 10.2.1)
[โ] iOS tools - develop for iOS devices
[โ] Android Studio (version 3.4)
[โ] IntelliJ IDEA Community Edition (version 2018.2.7)
[โ] Connected device (1 available)
โข No issues found!
MacBook-Pro-van-Wendel:zaira wendel$ flutter build appbundle --build-name=1.0.6 --build-number=6 -t lib/main_prod.dart --flavor=prod
Initializing gradle... 0,9s
Resolving dependencies... 2,2s
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
registerResGeneratingTask is deprecated, use registerGeneratedResFolders(FileCollection)
Running Gradle task 'bundleProdRelease'...
Running Gradle task 'bundleProdRelease'... Done 78,6s
Gradle task bundleProdRelease failed with exit code 1
@xinoxapps , flutter build appbundle -v
์ ์ ์ฒด ์ถ๋ ฅ์ ๋ณด๋ผ ์ ์์ต๋๊น (์ด ์ค๋ ๋์ ๊ฐ๋
์ฑ์ ์ํด gist.github.com ๋งํฌ๋ก ๋ถํ๋๋ฆฝ๋๋ค ๐)?
@xinoxapps , ์ด ๋ฌธ์ ๋ฅผ ๋ก์ปฌ์์ ์ฌํํ ์ ์์ต๋๋ค. ์ด์ , ๋น์ ์ด ๋ฐ๊ณ ์๋ ๊ฒฝ๊ณ ๋ฅผ ๋ณด๋ฉด, ๋ฌธ์ ๋ฅผ ์ผ์ผํค๊ฑฐ๋ ํ์ง ์์ ์ ์๋ ๋ช ๊ฐ์ง ์ฌ์ฉ์ ์ ์ build.gradle
๊ตฌ์ฑ ๋ก์ง์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ต์ํ์ ์ฌํ ์ฌ๋ก์ ๋๋ฌํ ์ ์์ต๋๊น? ์๋ฅผ ๋ค์ด ์๋ํ ๋๊น์ง ์ฌ์ฉ์ ์ง์ Gradle ๊ตฌ์ฑ ์ค ์ผ๋ถ๋ฅผ ์ ๊ฑฐํ ๋ค์ ์ ํํ ๋ฌธ์ ์ ์์ธ์ ๊ณต์ ํ์ญ์์ค. ์ด๊ฒ์ด ๋ด๊ฐ ๋ง์ ์ ์ํ ๋ฐฉ๋ฒ์
๋๋ค.
android {
flavorDimensions "version"
productFlavors {
prod { }
}
}
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
์ด๋ฌํ ์์ ์ฌํญ์ ์ด์ dev
์ฑ๋, v1.7.4
๋ฆด๋ฆฌ์ค ์ด์์์ ์ ๊ณต๋ฉ๋๋ค.
์ฑ ๋ฒ๋ค๋ก ์ ํํ๊ณ Play ์คํ ์ด์ ํธ์ํ๋๋ฐ ๋๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ๋ง์กฑํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ARM ์๋ฎฌ๋ ์ด์ ์ ์ง์ํ๋ x86 ์ฅ์น์ธ Asus ZenFone 2 ZE551ML์์ ์ฑ์ด ์ ํ ์์๋์ง ์๋๋ค๋ ๋ ๊ฐ์ง ๋ณด๊ณ ์๊ฐ ์์ต๋๋ค. https://www.gsmarena.com/asus_zenfone_2_ze551ml-6917.php. ๋ถํํ๋ ์ฌ์ฉ์๋ logcat ์ถ๋ ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ์๋ก์ด ELF ํ์์ด ๊ทธ๋ฌํ ์ฅ์น์์ ์๋ํ๋๋ก ์๋๋์์ต๋๊น?
master
๋ฐ dev
์ฑ๋๋ก ์ ํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ flutter build appbundle
์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
* What went wrong:
Execution failed for task ':app:transformNativeLibsWithMergeJniLibsForProductionRelease'.
> More than one file was found with OS independent path 'lib/armeabi-v7a/libapp.so'
@darioielardi flutter build appbundle -v
์ถ๋ ฅ๊ณผ android/build.gradle
๋ฐ android/app/build.gradle
ํ์ผ์ ๋ด์ฉ๊ณผ ํจ๊ป gist.google.com ๋งํฌ๋ฅผ ํฌํจํ ์ ์์ต๋๊น?
@tvolkert ํ์คํ, https://gist.github.com/darioielardi/f7497398a39b2c12d4ea1767ca6b6e69
์ฑ ๋ฒ๋ค๋ก ์ ํํ๊ณ Play ์คํ ์ด์ ํธ์ํ๋๋ฐ ๋๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ๋ง์กฑํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ARM ์๋ฎฌ๋ ์ด์ ์ ์ง์ํ๋ x86 ์ฅ์น์ธ Asus ZenFone 2 ZE551ML์์ ์ฑ์ด ์ ํ ์์๋์ง ์๋๋ค๋ ๋ ๊ฐ์ง ๋ณด๊ณ ์๊ฐ ์์ต๋๋ค. https://www.gsmarena.com/asus_zenfone_2_ze551ml-6917.php. ๋ถํํ๋ ์ฌ์ฉ์๋ logcat ์ถ๋ ฅ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ์๋ก์ด ELF ํ์์ด ๊ทธ๋ฌํ ์ฅ์น์์ ์๋ํ๋๋ก ์๋๋์์ต๋๊น?
๋ค, ๊ฐ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ทธ๊ฒ์ flutter build appbundle๊ณผ ํจ๊ป ์๋ํ๋ฉฐ ๋๋ถ๋ถ์ ์ฅ์น๋ ๋ด ์ฑ์ ์ ์คํํฉ๋๋ค. ํ์ง๋ง ์ด ์์์ค๋ ์๋๋ค
์ฌ: x86: https://github.com/flutter/flutter/issues/31922#issuecomment -501851721
@blasten ์, ๋ค์ดํฐ๋ธ x86์ด ์ง์๋์ง ์๋๋ค๋ ๊ฒ์ ์ดํดํ์ง๋ง ์ฌ๊ธฐ์์ ๋ฌธ์ ๋ ARM/ARM64 ์ฑ ๋ฒ๋ค์ด Google Play์์ ๋ฒ์ญ์ ํตํด ARM ์ง์์ ๊ด๊ณ ํ๋ x86 ๊ธฐ๊ธฐ์ ์ค์น๋๊ณ ์์ง๋ง ์๋ก์ด ์ฑ ๋ฒ๋ค์ ์ด๋ป๊ฒ๋ ๊ทธ๋ ์ง ์๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ์ฅ์น์์ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํฉ๋๋ค(์ ELF ํ์์ด ARM ๋ณํ๊ธฐ๋ฅผ ํผ๋ํ๊ธฐ ๋๋ฌธ์ผ ์ ์์). ์๋ ARM(๋น ARM64) APK๋ ์๋ํ๋ ๊ฒ์ผ๋ก ๋ณด์ด์ง๋ง 2์ฃผ ๋ ๋ง์คํฐ ๋ธ๋์น(๊ตฌ์ฒด์ ์ผ๋ก e1a784ae)๋ก ๋๋๋ฆฌ๊ณ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ์๋ ๋ ์ฌ์ฉ์๊ฐ ์ด์ ๋ด ์ฑ์ ๊ฐ์ง๊ณ ์์์ ํ์ธํ์ต๋๋ค. ZenFone 2 ์ฅ์น์์ ๋ค์ ์คํ๋ฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด v1.7.4๋ก ์ ๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค.
@xinoxapps ,
flutter build appbundle -v
์ ์ ์ฒด ์ถ๋ ฅ์ ๋ณด๋ผ ์ ์์ต๋๊น (์ด ์ค๋ ๋์ ๊ฐ๋ ์ฑ์ ์ํด gist.github.com ๋งํฌ๋ก ๋ถํ๋๋ฆฝ๋๋ค ๐)?
์ง๊ธ์ ๊ฐ๋ฐ์ ์ฑ๋์์ ์๋ํฉ๋๋ค. ์์ง ์ ๋ณด๊ฐ ํ์ํ์ญ๋๊น?
@xinoxapps ์๋์ - ๋น์ ์ ์ํด ์ผํ๊ณ ์๋ค๋ ์์์ ๋ค์ผ๋ ๊ธฐ์ฉ๋๋ค.
@darioielardi ๋ฌธ์ ๋ ์ด์ ๋ง์คํฐ์์ ์์ ๋์์ต๋๋ค. ๋ง์คํฐ ์ฑ๋์์ flutter upgrade
๋ฅผ ์คํํ์ธ์.
@darioielardi ๋ฌธ์ ๋ ์ด์ ๋ง์คํฐ์์ ์์ ๋์์ต๋๋ค. ๋ง์คํฐ ์ฑ๋์์
flutter upgrade
๋ฅผ ์คํํ์ธ์.
@blasten ๋ง์คํฐ๋ก ์ ํํ๋๋ฐ flutter build appbundle
์คํํ ๋ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'.
์ด๊ฒ์ ๋ด gradle ๋ฐ ์ ์ฒด ์ถ๋ ฅ์ ๋๋ค. https://gist.github.com/julindra/80cd2e588cf11bdd0df3f34239b07409
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
์ฐ๋ฆฌ๋ ์ฑ์ ์ถ๊ฐ ๋ฐ ํ๋ ์ด๋ฒ์ ๋ํ ๋ช ๊ฐ์ง ๋ฒ๊ทธ ์์ ์ ๋ ์ถ๊ฐํ๊ณ v1.7.5
๊ฐ๋ฐ ๋ฆด๋ฆฌ์ค๋ฅผ ์ค์ด๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ์์ ์ฌํญ์ ์ ์ฉํ๊ธฐ ์ํด ๋ฒ ํ๋ก์ ์น๊ฒฉ์ ๋ณด๋ฅํ๊ณ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฌ์ ํ 7์ ์ด์ ์ด๋ฅผ ์์ ์ ์ผ๋ก ์์ํฉ๋๋ค.
flutter build appbundle
๋๋ฅผ ์ํด ์ผํ์ต๋๋ค. @tvolkert ๊ฐ์ฌํฉ๋๋ค.
@julindra -ignorewarnings
๋ฅผ 'proguard-rules.pro
์ถ๊ฐํ๋ฉด ํด๋น ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ํ์ฌ android.arch.* ํจํค์ง๋ฅผ ํฌํจํ์ง ์์ต๋๋ค. ๋ ๋ค๋ฅธ ์ต์
์ android/app/build.gradle
๋ฅผ ํธ์งํ๊ณ ๋ค์์ ์ถ๊ฐํ๋ ๊ฒ์
๋๋ค.
.gradle
dependencies {
implementation "android.arch.lifecycle:common-java8:1.1.1"
implementation 'android.arch.lifecycle:extensions:1.1.1'
}
cc @matthew-carroll
Play ์คํ ์ด์ app.aab
๋ฒ๋ค์ ์
๋ก๋ํ์ต๋๋ค. 64๋นํธ ๋๋ฝ์ ๋ํ ๊ฒฝ๊ณ ๊ฐ ์ฌ๋ผ์ก์ง๋ง Play ์คํ ์ด์์ ์ค์นํ ํ ์ฑ์ด ์คํ๋ ๋ ์ถฉ๋ํ์ต๋๋ค. ์ด๋ค ์ ์?
๋ํ ํ๋ก๋์
์์ ๋ฆด๋ฆฌ์คํ๊ธฐ ์ํด flutter build appbundle
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์์ ํฉ๋๊น?
@sulaysumaria flutter doctor
์คํ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ํ ์ ์์ต๋๊น?
Doctor summary (to see all details, run flutter doctor -v):
[โ] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.5 18F132, locale en-IN)
[โ] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[โ] iOS toolchain - develop for iOS devices
โ Xcode installation is incomplete; a full installation is necessary for iOS development.
Download at: https://developer.apple.com/xcode/download/
Or install Xcode via the App Store.
Once installed, run:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
โ libimobiledevice and ideviceinstaller are not installed. To install with Brew, run:
brew update
brew install --HEAD usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller
โ ios-deploy not installed. To install:
brew install ios-deploy
โ CocoaPods not installed.
CocoaPods is used to retrieve the iOS platform side's plugin code that responds to your plugin usage on the Dart side.
Without resolving iOS dependencies with CocoaPods, plugins will not work on iOS.
For more info, see https://flutter.dev/platform-plugins
To install:
brew install cocoapods
pod setup
[!] Android Studio (version 3.4)
โ Flutter plugin not installed; this adds Flutter specific functionality.
โ Dart plugin not installed; this adds Dart specific functionality.
[โ] VS Code (version 1.35.1)
[โ] Connected device (1 available)
! Doctor found issues in 2 categories.
@truongsinh
๋ํ ์ฑ ๋ฒ๋ค์์ apk๋ฅผ ์์ฑํ๊ณ ์ค์นํ๋ ค๊ณ ์๋ํ์ต๋๋ค. ๋ํ ์คํ ์ ์ถฉ๋ํฉ๋๋ค.
$ bundletool build-apks --bundle=build/app/outputs/bundle/app.aab --output=app.apks
$ bundletool install-apks --apks app.apks
dev
์ฑ๋๋ก ์ ํํ์ฌ ํ์ธํ์ญ์์ค.
dev
์ฑ๋์์ ๋น๋ํ๋ ค๊ณ ํ์ง๋ง ๋ด ์ข
์์ฑ ์ค ํ๋๊ฐ ์์๋์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ฃผ์ ์ฒ๋ฆฌํ๊ณ ์ฑ์ด ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด ๋น๋๋ฅผ ์๋ํ ๊ฒ์
๋๋ค.
๋ํ ํ๋ก๋์
๋ฆด๋ฆฌ์ค์ dev
์ฑ๋์ ์ฌ์ฉํ๋ ๊ฒ์ด ์์ ํฉ๋๊น?
์ด๋จธ ๋ฏธ์ํฉ๋๋ค. ์์ฐ์ฉ์ด๋ผ๋ฉด ๋ ์กฐ์ฌํ ํ ๋ฐ.
์ง๊ธ์ APK ๋น๋๋ฅผ ์งํ ์ค์ ๋๋ค. Google์์๋ apk ๋์ ๋ฒ๋ค์ ์ ๋ก๋ํ ๊ฒ์ ์ ์ํ์ง๋ง ์์ ์ ์ธ ๋ธ๋์น์ ๋ค์ ๋ฆด๋ฆฌ์ค์์ ์์ ๋๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
adb logcat์ ์ฌ์ฉํ์ฌ ์ด๊ฒ์ ์ฐพ์์ต๋๋ค.
[FATAL:flutter/runtime/dart_vm.cc(389)] Error while initializing the Dart VM: Snapshot not compatible with the current VM configuration: the snapshot requires 'product use_bare_instructions no-"asserts" causal_async_stacks no-bytecode arm-eabi softfp' but the VM has 'product use_bare_instructions no-"asserts" causal_async_stacks no-bytecode arm64-sysv'
stable
์ฑ๋์ ์์ต๋๋ค.
https://github.com/flutter/flutter/issues/19865์ ์๋ฃจ์ ์ด ์๋ํ์ต๋๋ค.
๋ํ build.gradle์์ splits
์น์
์ ์ ๊ฑฐํด์ผ ํ์ต๋๋ค.
๋ฒ๋ค ๋๊ตฌ๋ฅผ ํตํด ์ค์นํ๋ฉด ์ฑ์ด ์ด์ ์ ๋๋ก ์๋ํฉ๋๋ค. ํ๋ ์ด์คํ ์ด์ ์ฌ๋ ค๋ณด๊ณ ์ ๋๋์ง ํ์ธํด๋ด์ผ๊ฒ ์ต๋๋ค.
@sulaysumaria ์์ ์ฌํญ์ ์์ง ๋ง์คํฐ ๋ธ๋์น์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ ์ ์ธ ์ํ์ธ ๊ฒฝ์ฐ โ flutter doctor
์ถ๋ ฅ์ ํ์๋ ๋๋ก
[โ] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.5 18F132, locale en-IN)
์์ ์ฌํญ์ด ์ ์ฉ๋์ง ์์ต๋๋ค. ์์ ์ ์ผ๋ก ๋น๋ํ๋ ค๋ฉด ์์ ์ฌํญ์ด ์์ ์ ์ผ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค. ๊ทธ๋๊น์ง๋ APK๋ฅผ ๋ณ๋๋ก ์
๋ก๋ํด์ผ ํ ๋๊น์ง 1.7.x
์ ๋์ธ ๊ฒ ๊ฐ์ต๋๋ค.
์ค... ๊ฐ์ฌํฉ๋๋ค @pythoneer . ์์ ์ ์ธ ์ฑ๋์ ์ธ์ ์ฏค ๋์ค๋์ง ์์๋์?
@sulaysumaria ๋ฌธ์ ์์ต๋๋ค. ์ด ์ค๋ ๋์์ ์ฌ๋ฌ ๋ฒ ์ธ๊ธ๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ฌ์ ํ 7์ ์ด์ ์ด๋ฅผ ์์ ์ ์ผ๋ก ์์ํฉ๋๋ค.
dev
์ฑ๋์์ ์๋ํ์ต๋๋ค. flutter build appbundle --target-platform android-arm,android-arm64
ํ๊ณ ๋ฒ๋ค์ ํ๋ ์ด ์คํ ์ด์ ์
๋ก๋ํ๋๋ฐ ์๋ฒฝํ๊ฒ ์๋ํ์ต๋๋ค.
@sulaysumaria - ๋ง์คํฐ ๋๋ ๊ฐ๋ฐ์ ์ฑ๋์์ ์ด๋ฏธ ์ค๋น๋ ์ง์นจ ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
@julindra
-ignorewarnings
๋ฅผ'proguard-rules.pro
์ถ๊ฐํ๋ฉด ํด๋น ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค. ์ฐ๋ฆฌ๋ ํ์ฌ android.arch.* ํจํค์ง๋ฅผ ํฌํจํ์ง ์์ต๋๋ค. ๋ ๋ค๋ฅธ ์ต์ ์android/app/build.gradle
๋ฅผ ํธ์งํ๊ณ ๋ค์์ ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค.dependencies { implementation "android.arch.lifecycle:common-java8:1.1.1" implementation 'android.arch.lifecycle:extensions:1.1.1' }
cc @matthew-carroll
๊ฐ์ฌ ํด์. ์ ๋ dev ์ฑ๋์ ์ฌ์ฉํ๊ณ -ignorewarnings
๋ฅผ ์ถ๊ฐํ๋ฉด ์๋ฒฝํ๊ฒ ์๋ํฉ๋๋ค.
flutter build appbundle
๋ก ๋๋ฅผ ์ํด ์ผํ์ต๋๋ค.
https://github.com/flutter/flutter/issues/18494#issuecomment -489807239
@blasten ์ด ์์ ์์
@cbracken , ์ง๊ธ์ด๋ ๋ค์ ์์ ์ ์ธ ๋ฆด๋ฆฌ์ค ์ดํ์ ๋ซ์ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
Play ์คํ ์ด์์ ARM ์ฑ์ ์ค์นํ๊ณ libhoudini๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ ์ ์๋ ZenFone 2 ์ฅ์น ๋ฐ ์ ์ฌํ x86 ์ฅ์น์์ ๋นํธํ์ฑ ๋ฌธ์ ๋ฅผ ๊ณ์ ํด๊ฒฐํ ๊ณํ์ ๋๊น?
dev
์ฑ๋์์ ๋น๋ํ๋ ค๊ณ ํ์ง๋ง ๋ด ์ข ์์ฑ ์ค ํ๋๊ฐ ์์๋์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ ์ฃผ์ ์ฒ๋ฆฌํ๊ณ ์ฑ์ด ์๋ํ๋์ง ํ์ธํ๊ธฐ ์ํด ๋น๋๋ฅผ ์๋ํ ๊ฒ์ ๋๋ค.๋ํ ํ๋ก๋์ ๋ฆด๋ฆฌ์ค์
dev
์ฑ๋์ ์ฌ์ฉํ๋ ๊ฒ์ด ์์ ํฉ๋๊น?
์ ๋ dev๊ฐ ์๋ ๋ถ๊ธฐ๋ฅผ ์ฌ์ฉํ ์ ์ด ์์ผ๋ฉฐ ์ฑ์ด ์ํํ๊ฒ ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ฒฐ์ฝ ์ค๋ง์ํค์ง ์๋ ์ง์ ์ ๋ฏฟ์ผ์ญ์์ค. @sulaysumaria
@matthewlloyd Play ์คํ ์ด ํ์ผ๋ก๋ถํฐ ๊ธฐ์กด ๋ฐ์ด๋๋ฆฌ๋ฅผ arm->x86 ๋ณํ๊ธฐ์ ์ ์๋ํ๋๋ก ํ๋ ๊ฒ๋ณด๋ค ๋ช ์์ x86 ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ด ๋ ๋ซ๋ค๊ณ ๋ค์์ต๋๋ค. - ๊ทธ๋ฐ๋ฐ ์ต๊ทผ์ Dart ์ปดํ์ผ๋ฌ๊ฐ ์์ฑํ๋ ์ฝ๋๋ฅผ ํ์์ ๊ฐ์ ํ๋๋ฐ, ๋ฒ์ญ์ด ์ ๋์๋์ง ๊ถ๊ธํฉ๋๋ค. ์๋ํด ๋ณด๊ณ ์๋ ค์ฃผ์ธ์. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ํฉ์ ๋ฐ๋ผ ์ผ๋ฐ์ ์ผ๋ก ์๋ฎฌ๋ ์ดํฐ์์ ๋๋ฒ๊น /ํ๋กํ์ผ๋ง์ ์ฌ์ฉ๋๋ x86์ฉ JIT ๋ฒ์ ์ ๋น๋ํด์ผ ํ ์ ์์ต๋๋ค.
@blasten ์ ๋ณด ๊ฐ์ฌํฉ๋๋ค. ๋๋ ์ด๋ฌํ ์ฅ์น ์ค ํ๋๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์ ์ฝ๊ฐ์ ๊ตฌ์์ ๋ฐ์ต๋๋ค. ๋ถ๋ง์ ํ์ ZenFone 2 ์ฌ์ฉ์์ ์ต๋ช ์ Play ์คํ ์ด ๋ฆฌ๋ทฐ๊ฐ ๋ ๊ฐ๋ฟ์ด๋ฏ๋ก ํ ์คํธํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ๊ฐ์ ๋ ์ฝ๋๊ฐ ์ค์ ๋ก ํด๋น ์ฅ์น์์ ์๋ํ๋์ง ํ์ธํ ๋๊น์ง ๋ค๋ฅธ ์ฑ ๋ฒ๋ค ๋น๋๋ฅผ ํธ์ํ๊ธฐ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ํ์ด ๋๋ฌด ํฝ๋๋ค. Play ์คํ ์ด์ ์ด๋ฌํ ๊ธฐ๊ธฐ๋ฅผ ์ ์ธํ๋๋ก ์ง์ํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ ํ Google์์ ํ ์คํธ ๋ฐ ํ์ธ์ ๊ฑฐ์น๊ฑฐ๋ ๋ ์ด์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ์ธ๋ ๋๊น์ง Flutter์ ์ด์ ๋ฒ์ (๋ฐ 32๋นํธ APK)์ผ๋ก ๋ง๋ ๋น๋๋ฅผ ๊ณ์ ์ถ์ํ ๊ฒ์ ๋๋ค. ๋ฌธ์ . ์๋ก์ด appbundle/.so ํ์์ ์ฌ์ฉํ์ฌ ๋ ๋ง์ ์ฑ์ด ์คํ ์ด์ ํธ์๋ ๋๊น์ง๋ ๊ทธ๋ ์ง ์์ ๊ฒ์ ๋๋ค. ๊ธฐ๋ค๋ฆด๊ฒ...
์ฌ์ ํ ์ฐพ๊ณ ์๋ ์ฌ๋๋ค์ ์ํด ๋ค์๊ณผ ๊ฐ์ ์๋ฃจ์ ์ด ์์ต๋๋ค.
ํ๋ฌํฐ ๋น๋ apk --split-per-abi
๋น๋ gradle์ ํธ์ง ํ ํ์๋ ์๋ํ์ง ์์์ต๋๋ค.
https://flutter.dev/docs/deployment/android#build -an-apk์์
๋์ ๋ค์์ ์ฌ์ฉํ์ญ์์ค.
32๋นํธ์ 64๋นํธ ๋ชจ๋์ ๋ํด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ผ๋ฉฐ '๋ฆด๋ฆฌ์ค๊ฐ Play 64๋นํธ ์๊ตฌ ์ฌํญ์ ์ค์ํ์ง ์์ต๋๋ค.'๋ผ๋ ๊ฒฝ๊ณ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค.
@juliengit2 ๋๋ถ์ flutter build appbundle
๊ฐ ์๋ํฉ๋๋ค.
์ง๊ธ๊น์ง v1.5.0์ด ์์๊ณ ์๋ํ์ง ์์๊ธฐ ๋๋ฌธ์ flutter ๋ฒ์ ๋ ์ธ๊ธํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์๋ํ๋ ค๋ฉด ์
๋ฐ์ดํธ(ํ์ฌ v1.7.9)ํด์ผ ํ์ต๋๋ค.
@PerechicK , ์ต๊ทผ์ ์์ ์ ์ธ ์ฑ๋ ๋๋ ๊ฐ๋ฐ ์ฑ๋์ ์๋ฏธ ํ์ต๋๊น?
์ค๋ ์ฌ๊ธฐ์ ํ์๋๋ DEV ์ฑ๋: https://flutter.dev/docs/development/tools/sdk/releases?tab=windows
์ด ๋ฌธ์ ๊ฐ ์ด๋ ๋ฒ์ ๋ถํฐ ์์ ๋์๋์ง๋ ์์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์์ ์ ์ธ ๋ธ๋์น ์ด์ธ์ ๋ค๋ฅธ ๊ฒ์ ์ฌ์ฉํ ๋ " @UiThread ๋ก ํ์๋ ๋ฉ์๋๋ ๋ฉ์ธ ์ค๋ ๋์์ ์คํ๋์ด์ผ ํฉ๋๋ค"๋ผ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ํ๋ฌ๊ทธ์ธ ์ค ํ๋๋ฅผ ์คํํ๊ณ ์์ต๋๋ค. ์ด ์ค๋ฅ๋ ์ด flutter sdk ์ปค๋ฐ https://github ์ ํจ๊ป ๋์ ๋์์ต๋๋ค
1.5.4-hotfix.2 ์์ ๋ธ๋์น๋ฅผ ์ฌ์ฉํ๋ฉด์ 64๋นํธ ์ฑ ๋ฒ๋ค์ ๋น๋ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
@uj์ด ๋ฌธ์ https://github.com/flutter/flutter/issues/33562์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ์์ ์ค๋ฅ์ ๊ด๋ จ ๋ ์ firebase_database์ .
Flutter Docs ์ ๋ฐ๋ฅด๋ฉด 1.7.4+์์ 64๋นํธ๊ฐ ๋์ ๋์ง ์์์ต๋๋ค.
์๋์, firebase_database๊ฐ ์๋๋ผ ์ค์ ๋ก OneSignal์ด์ง๋ง ์ ์ผํ ์๋ฃจ์ ์ "Flutter์ ์์ ์ ์ธ ๋ถ๊ธฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ"์ ๋๋ค.
1.5.4-hotfix.2 ์์ ๋ธ๋์น๋ฅผ ์ฌ์ฉํ๋ฉด์ 64๋นํธ ์ฑ ๋ฒ๋ค์ ๋น๋ํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
@uj 1.5.4-hotfix.2
ํ์ฌ 64๋นํธ ์ฑ ๋ฒ๋ค์ ๋น๋ํ ์๋ ์์ง๋ง 2๊ฐ์ apk๋ฅผ ๋น๋ํ ์ ์์ต๋๋ค. ํ๋๋ 32๋นํธ์ด๊ณ ๋ค๋ฅธ ํ๋๋ 64๋นํธ์
๋๋ค. ๋ apk๋ฅผ ๋ชจ๋ Google ์คํ ์ด์ ์
๋ก๋ํ์ฌ ๊ฒฝ๊ณ ๋ฅผ ํด๊ฒฐํ์ธ์.
Flutter 1.5.4-hotfix.2 ์ฑ๋ฒ๋ค์ ํ์ฌ 32๋นํธ ๋ค์ดํฐ๋ธ ์ฝ๋( flutter build appbundle -h
)๋ง ๋น๋ํ๋ android-arm์ ๋์์ผ๋ก ํฉ๋๋ค. ์ด๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ฉด flutter build appbundle --target-platform=android-arm64
๋ฅผ ์คํํ์ฌ ๊ธฐ๋ณธ ๋์์ ๋ณ๊ฒฝํ์ญ์์ค.
์ด๊ฒ์ ํ์ฌ v1.7.8+hotfix.2
๋ฆด๋ฆฌ์ค์ ๋ฒ ํ ์ฑ๋์์ ์ ๊ณต๋ฉ๋๋ค.
@tvolkert - ์ข์ ์์, ๊ฐ์ฌํฉ๋๋ค. ์์ ์ฌํญ์ด ์ธ์ ์์ ํ ๋ ๊ฒ์ผ๋ก ์์ํ ์ ์๋์ง ๋ ๊ตฌ์ฒด์ ์ผ๋ก ๋ง์ํด ์ฃผ์๊ฒ ์ต๋๊น?
@angel1st https://en.wikipedia.org/wiki/Forward-looking_statement ๐
(์ฐ๋ฆฌ๋ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ๊ทธ๊ฒ์ ์คํํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค)
@tvolkert - 64๋นํธ APK์ Google ๋ง๊ฐ์ผ๊น์ง ์ฝ 3์ฃผ
๊ทธ ์ธ์๋ ์ง๋ ๋ช ๋ฌ ๋์์ ๋
ธ๋ ฅ๊ณผ ๊ฒฐ๊ณผ๋ฌผ์ ์ ๋ง ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ํ์ง๋ง ์ฌ๋ฌ๋ถ์ด ์ฐ๋ฆฌ์ ์
์ฅ์ด ๋์ด ๊ทธ ๊ด์ ์์ ์ฌ๋ฌผ์ด ์ด๋ป๊ฒ ๋ณด์ด๋์ง ๋ณผ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ์ง๊ธ๊น์ง ์ดํด์ ๋
ธ๋ ฅ์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
@angel1st ์ ๋. ์ด์ ๋ฐํ์ ๋ฐ๋ฅด๋ฉด, ์ฐ๋ฆฌ๋ ์ด๊ฒ์ 7์ ์ด๊น์ง ์์ ์ํค๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ณ ์์ต๋๋ค.
Unity 2017.4.20 ๋๋ 2019.1.2์ ์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์ต๋๊น? ์ด๊ฒ
ํ๊ฒฉ ๋งํฌ์ ์์ต๋๋ค : https://stackoverflow.com/questions/56687339/what-is-this-error-in-build-adroid-and-build-app-bundle-in-unity-2017-4-17 ๋์์ฃผ์ธ์ ๋๋ 2 ๊ฐ์ ๋์์ด ๋ฌธ์ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฐ์ฌํฉ๋๋ค.
์ด ๋ฌธ์ ๊ฐ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค. ๊ธฐํ์ด ์ด๋ฐํ๋ค
@DoubleHub ๋ฒ ํ ์ฑ๋๋ก ๋ณ๊ฒฝํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋๋ 7์ 8์ผ์ ์์ ์ ์ธ ๋ฒ์ ์ด ์ถ์๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ญ์์ค.
@abc873693 ์ฝ์ด ๋์ฌ๋ ๊น์ง ๊ธฐ๋ค๋ฆฌ๊ฒ ์ต๋๋ค. ์ด ๋ฌธ์ ๊ฐ ๋ง์นจ๋ด ๊ณต์์ ์ผ๋ก ํด๊ฒฐ๋์ด ๊ธฐ์ฉ๋๋ค!
@abc873693 _beta_ ์ฑ๋์ ์ฌ์ฉํ์ฌ Play ์คํ ์ด์ Android ์ฑ์ ๊ฒ์ํ๋ ค๊ณ ํ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ถ์ ์ ๋ณด๊ณ ์์ ์ ๊ทผ์ฑ ๊ฒฝ๊ณ ๊ฐ ํ์๋์์ต๋๋ค. ์ฑ์ด ์์ ํ๋ฉด์ ๋์ง ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๋ชจ๋ ์ฅ์น์ ๋ชจ๋ ์คํฌ๋ฆฐ์ท์ ์์ ํ๋ฉด์ ์ ์ง๋์์ต๋๋ค.
๋๋ฅผ ์ํ ํด๊ฒฐ์ฑ ์ ๋จ์ํ STABLE ์ฑ๋๋ก ์ ํํ๊ณ --target-platform ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ ๋ฒ๋ค์ ๋น๋ํ๋ ๊ฒ์ด์์ต๋๋ค.
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
v1.7.8+hotfix.2
์ด ์์ ์ ์ธ ์ฑ๋์ ๋ฆด๋ฆฌ์ค๋์์ผ๋ฏ๋ก ์ด ์์ ์ฌํญ์ ์ด์ ๋ชจ๋ ์ฑ๋์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ธ๋ด์ฌ์ ๊ฐ๊ณ ๋์์ฃผ์ ๋ชจ๋ ๋ถ๋ค๊ป ๊ฐ์ฌ๋๋ฆฝ๋๋ค!
@tvolkert ๊ฐ์ฌํฉ๋๋ค! ์ฌ๊ธฐ์ ์ธ๊ธํ ๊ด์ฐฐ์ด ๋ ์ด์ ์์ ์ ์ธ ์ฑ๋์ ์๋ค๋ ๊ฒ์ ํ์ธํ์ต๋๋ค!
@tvolkert ๊ธฐ์กด ํ๋ก์ ํธ์ ์ด v1.7.8+hotfix.2
์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์
๋๊น? ๋ค์ ์ฒ์๋ถํฐ ๋ค์ ๋ง๋ค์ด์ผ ํ๋์?
@jaasaria ์ด ๋ฌธ์ ๋ ๋ฆด๋ฆฌ์ค์ฉ ์ฑ ๋น๋์ ๊ด๋ จ๋ ๊ฒ์ ๋๋ค. ์์ ์ ์ธ ์ํ๋ผ๋ฉด ํ๋ฌํฐ ์ค์น๋ฅผ ์ ๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ณด๊ณ ๋ ๋ฌธ์ ๋ ์ด ๋งํฌ์ ๋ฐ๋ผ ์ฑ ๋ฒ๋ค์ ๋น๋ํ๋ ๊ฒ๊ณผ
@jaasaria ๊ทธ๋ฅ ์คํ: $ flutter channel stable && flutter upgrade
@MaikuB ํ ๋ฌ ์ ์ ๋ด src ํ์ผ์ ๋ง๋ค์๊ณ ๋ด ํ๋ก์ ํธ๋ฅผ ๋น๋ํ ๋๋ง๋ค playstore x64 ์ค๋ฅ๋ฅผ ํผํ๊ธฐ ์ํด flutter build appbundle
๋์ flutter build appbundle --target-platform=android-arm64
๋ช
๋ น์ ์คํํด์ผ ํฉ๋๋ค.
@dbokhin ๋ฐฉ๊ธ ์ ๊ทธ๋ ์ด๋๋์๊ณ ์ด ์ข๊ฒ๋ ๋ด ํ๋ก์ ํธ๊ฐ ์ค๋จ๋์ง ์์์ต๋๋ค. :) ๊ฐ์ฌ ํด์
@juliengit2 ๋๋ถ์
flutter build appbundle
๊ฐ ์๋ํฉ๋๋ค.์ง๊ธ๊น์ง v1.5.0์ด ์์๊ณ ์๋ํ์ง ์์๊ธฐ ๋๋ฌธ์ flutter ๋ฒ์ ๋ ์ธ๊ธํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์๋ํ๋ ค๋ฉด ์ ๋ฐ์ดํธ(ํ์ฌ v1.7.9)ํด์ผ ํ์ต๋๋ค.
๊ฒฝ๊ณ ๊ฐ์ฌํฉ๋๋ค!
ํ๋ฌํฐ ๋ฒ์ 1.7.8+hotfix.3์ ์ฌ์ฉํ๋ฉด "flutter build appbundle"์ด 32๋นํธ ๋ฐ 64๋นํธ ๋ชจ๋์์ app.aab๊ฐ ์์ฑ๋ฉ๋๊น?
์ด์ํ๊ฒ ์ฑ๋์ด ์์ ์ ์ธ ์ํ์์ 1.7.8+hotfix.3์ผ๋ก ์๋ํ๋๋ฐ ํ๋ ์ด์คํ ์ด ๊ฒฝ๊ณ ๊ฐ ๋ค์ ๋ํ๋ฉ๋๋ค.
"์ด ๋ฆด๋ฆฌ์ค๋ Google Play 64๋นํธ ์๊ตฌ์ฌํญ์ ์ค์ํ์ง ์์ต๋๋ค..."
_flutter build appbundle_ ์ดํ์ ๋ฒ๋ค์ ์ ๋ก๋ํ ๋
๋๋ ๋ํ flutter๋ฅผ ์
๊ทธ๋ ์ด๋ํ๋ ค๊ณ ์๋ํ์ง๋ง ๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ์ป์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์๋ก์ด Flutter ์ค์น๋ก : ๋์ผํ ๊ฒฐ๊ณผ
๋ด ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด๋ค ์๊ฐ??
@juliengit2 .aab
ํ์ผ์ ์ผ๋ฐ zip์ผ๋ก ์ด๊ณ base/lib
ํด๋์ armeabi-v7a
, arm64-v8a
ํด๋๊ฐ ์๋์ง ํ์ธ
๋ด ์ฑ "flutter build appbundle" lib ํด๋์ v8a ๋ฐ v7a๊ฐ ๋ชจ๋ ํฌํจ๋์ด ์์ต๋๋ค. ์ง๊ธ ์ ๋ฐ์ดํธ๋ฅผ ํธ์ํ ์ ์์ต๋๊น? ๋ด ๋จธ๋ฆฌ์ ์ด๋ฉ์ผ์ ๋ค๋ฅธ ๊ฒฝ๊ณ ๊ฐ ์ค๋ ๊ฒ์ ์ํ์ง ์์ต๋๋ค.
๊ฒฝ๊ณ ๋ฅผ ์์ ํ๋ ๋จผ APK์ ๋ ๋ค๋ฅธ ์ ์ฌํ ์ฌ๋ก https://github.com/flutter/flutter/issues/18494#issuecomment -509937209
๊ฐ์ ๋ฌธ์ ๊ฐ ์๋ ์ฌ๋๋ค์ ์ํด build.gradle ์์ ์ ๊ฑฐํ์ต๋๋ค.
ndk {
abiFilters "armeabi-v7a", "x86", "armeabi", "mips"
}
๊ทธ๋ฆฌ๊ณ ๊ฒฝ๊ณ ๊ฐ ์ฌ๋ผ์ก์ต๋๋ค.
(abifilter๋ฅผ ์ ์งํ๋ฉด _flutter build appbundle_์ ์ฌ์ฉํด๋ "release is not compliant"๋ผ๋ ๋ฉ์์ง๊ฐ ๊ณ์ ํ์๋ฉ๋๋ค.
์๋
ํ์ธ์, ์ฑ๊ณต์ ์ผ๋ก ์ฑ ๋ฒ๋ค์ ๊ตฌ์ถํ์ง๋ง ํ๋ ์ด ์คํ ์ด์ ์
๋ก๋ํ๋ ค๊ณ ํ ๋ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค...
Android App Bundle์ ์
๋ก๋ํ๋ ค๋ฉด Google Play ์ฑ ์๋ช
์ ๋ฑ๋กํด์ผ ํฉ๋๋ค.
Android Studio์์ ํค๋ฅผ ๋ด๋ณด๋
๋๋ค. ๋น๋ ๋ฉ๋ด์์ ์๋ช
๋ ๋ฒ๋ค/APK ์์ฑ์ ์ ํํฉ๋๋ค. ๋ฒ๋ค ์ต์
์ ์ ํํ๊ณ ๋ค์์ ๋๋ฆ
๋๋ค. ์ํธํ๋ ํค ๋ด๋ณด๋ด๊ธฐ๋ฅผ ์ ํํ๊ณ ๋ค์์ ๋๋ฆ
๋๋ค.
๋๋ ์๋๋ก์ด๋ ๋ชจ๋์์ ์ง์ ์ํธํ๋ ํค๋ฅผ ๋ด๋ณด๋ด๋ ค๊ณ ํ์ง๋ง ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ํ๋ก์ธ์ค๋ฅผ ์๋ฃํ ์ ์์ต๋๋ค.
ํ๋ก์ธ์ค '๋ช ๋ น '/Users/oaacelasu/Documents/flutter/bin/flutter''๊ฐ 0์ด ์๋ ์ข ๋ฃ ๊ฐ 1๋ก ์๋ฃ๋์์ต๋๋ค.
bref ๊ทธ๊ฒ์ด ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ด ์๋๋ผ๊ณ ์๊ฐํฉ๋๋ค... flutter build appbundle ๋ช ๋ น์์ ์ง์ ์ฑ์ ๋ฑ๋กํ๊ธฐ ์ํ ์ํธํ๋ ํค๋ฅผ ๊ฐ์ ธ์ค๋ ๋ค๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
ํ๋ ์ด์คํ ์ด์์ appbundle์ ์ฌ์ฉํด ๋ณด์๋๋ฐ,
๊ทธ๋ฌ๋ Android 6.0 arm 64์์๋ libflutter.so๋ฅผ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ ์์ ์ ์ถฉ๋ํ์ผ๋ฉฐ libflutter.so๋ฅผ ํ์ธํ ํ aab arm 64์ ํฌํจ๋์์ต๋๋ค.
@matthewlloyd , ๋ก์ปฌ ํฌ๋กฌ๋ถ์ผ๋ก ์ด๊ฒ์ ์ฌํํ์ต๋๋ค(ํฌ๋กฌ๋ถ์ด ์์์ผ์ 3์ฃผ ๋์ ์ฌํ์ ๋ ๋ ์๋ ์์ง๋ง ํ์ธํด์ผ ํจ). ๋๋ถ๋ถ์ x86 ํฌ๋กฌ๋ถ์ ๋ํด ์ฌ์์ฐํด์ผ _ํด์ผ_ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. x86 ์ ํ๋ณด๋ค ์ด๋ฌํ ํฌ๋กฌ๋ถ์ด ๋ ๋ง์ ๊ฒ ๊ฐ์ต๋๋ค.
ํ์ ์ต๊ทผ Dart ์ปดํ์ผ๋ฌ๊ฐ ์์ฑํ๋ ์ฝ๋๋ฅผ ๊ฐ์ ํ๋๋ฐ, ๊ทธ๊ฒ์ด ๋ฒ์ญ์ด ์ ๋์๋์ง ๊ถ๊ธํฉ๋๋ค. ์๋ํด ๋ณด๊ณ ์๋ ค์ฃผ์ธ์. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ํฉ์ ๋ฐ๋ผ ์ผ๋ฐ์ ์ผ๋ก ์๋ฎฌ๋ ์ดํฐ์์ ๋๋ฒ๊น /ํ๋กํ์ผ๋ง์ ์ฌ์ฉ๋๋ x86์ฉ JIT ๋ฒ์ ์ ๋น๋ํด์ผ ํ ์ ์์ต๋๋ค.
@blasten , ์๊ฐํ๊ณ ์๋ ํน์ ๋ฒ์ ์ Dart๊ฐ ์์ต๋๊น? 2.3.1๋ก ์ฌํํ์ต๋๋ค(ํ๋ฌํฐ 1.7.8+hotfix.2 ํฌํจ). 2.4.0์ผ๋ก ํ ์คํธํ ๊น์?
๋ํ ์ํ ๋น๋๋ฅผ ์ถ์ํ์ ๋ ์ฌํํ์ต๋๋ค. Play ์คํ ์ด๋ฅผ ๊ฑฐ์น์ง ์๊ณ ์ฑ ๋ฒ๋ค์ ํ ์คํธํ๋ ๋ฐฉ๋ฒ์ ์์ง ์กฐ์ฌํด์ผ ํฉ๋๋ค.
@wreppun ๋ฏธ๋ฆฌ ์๋ ค ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ฌธ์ ๊ฐ ์์ง ํด๊ฒฐ๋์ง ์์๊ฑฐ๋ Google์์ ์ธ์ ํ ๊ฒ ๊ฐ๊ธฐ ๋๋ฌธ์ ์ง๊ธ์ ์๋ก์ด ์คํ์ผ์ AAB๋ฅผ ์ฌ์ฉ์์๊ฒ ๊ณต๊ฐํ๋ ๊ฒ์ ๋ณด๋ฅํ๊ฒ ์ต๋๋ค. ํน์ ํฌ๋กฌ๋ถ์ ๋ํ ์ถ๊ฐ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์์ต๋๊น? ์ถฉ๋ ๋ก๊ทธ๋ฅผ ์บก์ฒํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
@matthewlloyd ์ด๊ฒ์ Play ์คํ ์ด ์ถฉ๋ ๋ก๊ทธ์ ๋ํ๋ ๊ฒ์ ๋๋ค:
java.lang.UnsatisfiedLinkError:
at java.lang.Runtime.loadLibrary0 (Runtime.java:984)
at java.lang.System.loadLibrary (System.java:1530)
at io.flutter.view.FlutterMain.startInitialization (FlutterMain.java:122)
at io.flutter.view.FlutterMain.startInitialization (FlutterMain.java:99)
at io.flutter.app.FlutterApplication.onCreate (FlutterApplication.java:22)
at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1024)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5549)
at android.app.ActivityThread.-wrap2 (ActivityThread.java)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1595)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:154)
at android.app.ActivityThread.main (ActivityThread.java:6320)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:891)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:781)
์ฌ์ฉ์๊ฐ ํต๊ณ ๊ณต์ ๋ฅผ ์ ํํ ๊ฒฝ์ฐ (์ด์ ) ์ถฉ๋ ๋ก๊ทธ ์ค ์ผ๋ถ์ ํ์๋ ์ ์์ต๋๋ค.
๊ธฐ๊ธฐ๋ HP ํฌ๋กฌ๋ถ x360์ด์์ต๋๋ค.
์ด๊ฒ์ด ๊ตฌ์ฑ์ 100%์์ ์๋ํ์ง ์๋ ๊ฒ์ด ์ ๊ฐ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์ํ SDK ๋ฐ ์ฅ์น์์ ๋ ๋์ ํ ์คํธ ๋ฒ์๋ฅผ ์ป๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๊ทธ๋์ Firebase ํ ์คํธ ๋ฉ์์ ๋ช ๊ฐ์ง ํ ์คํธ๋ฅผ ์ค์ ํ ๊ฒ์ ๋๋ค.
์ด ์์ ์์ ์ฐ๋ฆฌ๊ฐ ์ด ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฐ์ฅ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ์ ์๋ง๋ ์๋ก์ด ๋ฌธ์ ๋ฅผ ์ ์ถํ๊ณ ์ด ๋ฌธ์ ์ ๋ค์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. @tvolkert ์ ์ ๋ ๊ฐ๊ฐ์ ์ดํด
Dart ์ปดํ์ผ๋ฌ๋ฅผ ์ฝ๊ฐ ์กฐ์ ํด์ผ ํ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ๋์ต๋๋ค. ๊ณผ๊ฑฐ์๋ ํน์ ํ๋ก์ธ์ ํน์ฑ์ด ์๋ CPU ๋๋ ์๋ฎฌ๋ ์ดํฐ์ ๋ํด ์ฌ์ฉํ์ต๋๋ค. x86 Chromebook์์ ์ง์ ํ ์คํธํ์ง ์๊ณ (์์ง ํด๋ณด์ง ์์) ํ์คํ๊ฒ ๋งํ ์ ์์ต๋๋ค.
๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์๋ ์ฌ๋๋ค์ด ๊ฐ๊ฐ์ ๋ํด ์ ๋ฌธ์ ๋ฅผ ์ ์ถํ์ฌ ๋๋จธ์ง ๋ฌธ์ ๋ฅผ ๋ถ๋ฅํ๋ ๋ฐ ๋์์ ์ฃผ์๊ฒ ์ต๋๊น? ๊ทธ๊ฒ์ ์ฐ๋ฆฌ๊ฐ ๊ฐ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐ ํฐ ๋์์ด ๋ ๊ฒ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
@wreppun ๊ฐ์ฌํฉ๋๋ค - ๋ด ์ฑ์ ์ถฉ๋ ๋ณด๊ณ ์๋ฅผ ํ์ธ
@blasten ๊ฑฑ์ ํ์ง ๋ง์ธ์. ํ๋ฅญํฉ๋๋ค. ๋๊ตฐ๊ฐ ์๋ก์ด ์ฑ๋ฒ๋ค์ด Asus ZenFone 2 ๊ธฐ๊ธฐ์์ ์๋ํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค ์ ์๋ค๋ฉด, ๊ทธ๊ฒ์ผ๋ก ์ถฉ๋ถํ ๊ฒ์ ๋๋ค. ๋ถํํ๋ ์ก์ธ์ค ๊ถํ์ด ์์ง๋ง Google์ ๋ชจ๋ฐ์ผ ํ ์คํธ ์ฐ๊ตฌ์์์ ์ก์ธ์คํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
@matthewlloyd Firebase ํ ์คํธ ๋ฉ์์ "Asus ZenFone"์ด ์์ต๋๋ค. ์ด๋ค SDK ๋ฒ์ ์ ๋๊น? ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํน์ ๋ฒ์ ์ Android SDK๋ฅผ ์คํํ์ฌ ๋ฌธ์ ๋ฅผ ์ฌํํ ์ ์์ต๋๋ค.
์ด๋ค SDK ๋ฒ์ ์ ๋๊น? ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ํน์ ๋ฒ์ ์ Android SDK๋ฅผ ์คํํ์ฌ ๋ฌธ์ ๋ฅผ ์ฌํํ ์ ์์ต๋๋ค.
๐
์๋
ํ์ธ์ ํ๋ฌํฐํ์
๋๋ค.
์ด ์ฃผ์ ์ํ์ ๋ํด ๊ฐ์กฐํ๊ณ ์ถ์ต๋๋ค. ์ ์
์ฅ์์๋ ๋ ๊ฐ์ง ์ฌ๊ฐํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
1.7.8+hotfix.3
์ ์์ ์ ์ธ apk๋ฅผ ๋น๋ํ์ง ์์ต๋๋ค. - ์ต์ํ split-per-abi
๋ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค. - arm32์๋ ํ๊ท ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ์ผ๋ถ arm32 ์ฅ์น์์ ์คํํ ์ ์์ต๋๋ค . ์ด ๋ฌธ์ ๊ฐ ์ธ์ ์์ ๋ ์ง๋ ์์ง ๋ช
ํํ์ง ์์ต๋๋ค.์์ ๋ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํ์ฌ IMO๊ฐ ๊ฐ๋ฐ์๋ก์ ์ฐ๋ฆฌ์๊ฒ ๊ฐ์ฅ ์ ํฉํ ๋ค์๊ณผ ๊ฐ์ ๋น์ ๊ณํ์ ์ ์ํ๊ณ ์ถ์ต๋๋ค.
hotfix.2
์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑ์ ๋ ์ ๋ฅผ ๋์ ํด์๋ง ๋งํ ์ ์์ง๋ง ๊ณ์ฝ์ด ์๋ ๊ณ ๊ฐ์ด ์๊ณ Google์ด ์์ฒด ์ ํ์ ๋ํด ๋ ๋์ ์ง์์ ์ ๊ณตํ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์๊ธฐ ๋๋ฌธ์ React Native์์ Flutter๋ก ์ด๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์งํ ์ค์ธ ํ๋ก์ ํธ์ ์ง์ํด์ผ ํ ์ ํ๋ฆฌ์ผ์ด์
์ด ์์ต๋๋ค.
์ด์ Google์์ 64๋นํธ apk ๋ฒ์ ์ ์ถ์ํ๋๋ก ๊ฐ์ํ๋ ๋์์ Google์์ ๊ทธ๋ ๊ฒ ํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํ์ง ์๋ ํฐ๋ฌด๋์๋ ์ํฉ์ ์ฒํด ์์ต๋๋ค(์, Flutter ํ์ด Google Play์ ๊ฐ์ง ์๋ค๋ ๊ฒ์ ์๋๋ค. ํ์ด์ง๋ง ๋ด๊ฐ ์์๋ ๊ณณ - ๋น์ ์ ๊ฐ์ ์ฌ์
์ฒด์
๋๋ค).
Google์ด ์ ์๊ฐ์ ์ ๊ณตํ์ง ๋ชปํ๋ฉด Flutter์ ๊ฐ๋ ฅํ ๋ฐ๋ฐ๋ก ์ด์ด์ง ๊ฒ์
๋๋ค. 8์ 1์ผ ์ดํ ๋งค์ผ ํ๋ ์์ํฌ์ ์ ๋ขฐ์ฑ์ด ์ค์ด๋ค๊ธฐ ๋๋ฌธ์
๋๋ค.
์ ๋ง์ด ์กฐ๊ธ ๋ ๊ฐํ๊ฒ ๋ค๋ฆฌ์
จ๋ค๋ฉด ์ฌ๊ณผ๋๋ฆฝ๋๋ค. ์ ์๋ง ์ ์
์ฅ์ด ๋์
จ์ผ๋ฉด ํฉ๋๋ค.
๋๊ตฌ๋ ์ง - ์ด๊ฒ์ ํฌํํด ์ฃผ์ญ์์ค. ๊ทธ๋ฌ๋ฉด ์ฐ๋ฆฌ์ ๋ชฉ์๋ฆฌ๊ฐ ๋ค๋ฆด ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!
์ ๋ ์ด์ ๋์ํฉ๋๋ค... ํ์ง๋ง ๋น์ ๊ณํ์ผ๋ก ์ด์ ๋ฆด๋ฆฌ์ค๋ก ๋กค๋ฐฑํ์ง ์๊ณ dev
์ฑ๋๋ก ์ ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค....
์ ๊ฐ์ธ์ ์ธ ๊ฒฝํ์ผ๋ก๋ ์ ๋ ์ฒ์์ dev
์ฑ๋ i๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๋ถํธํ์ต๋๋ค. stable
์ฑ๋์ ๊ณ์ ์ฐ๋ ค๊ณ ์๊ฐํ๋๋ฐ ์์ ์ ์ด๊ฑฐ๋ ์!... ๊ทธ๋ฐ๋ฐ ์ง๊ธ์ dev
์ฑ๋์ ์ฌ์ฉํ๊ณ ํ๋ ์ด์คํ ์ด์์ ์ฑ ๋ฒ๋ค์ ์ด์ฉํ์ฌ ์๋ฌด ๋ฌธ์ ์์ด ์ฑ์ ์ถ์ํ๊ณ ์์ต๋๋ค.. ..
๋ ๋ค Google ์ ํ์ด๋ฏ๋ก ๋ฐ์ํด์๋ ์๋๋ ์ํฉ์ ๋๋ค ...
๋ด๊ฐ ์ ์ํ ๊ฒ์ Google์์ ์ ์ํ apk
์๋ aab
์ฌ์ฉํ์ฌ ์
๋ฐ์ดํธ ํธ์๋ฅผ ์์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ๊ฐ๋จํ ํด๊ฒฐ ๋ฐฉ๋ฒ์
๋๋ค...
@angel1st ๊ฐ์ ๋ฌธ์ ๊ฐ์ ๋ฌธ์ ๊ฐ์ ์ ๋ฐ
@sulaysumaria dev ์ฑ๋๋ก ์ ํํ๋ฉด libapp.so ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๋์?
๋ง์คํฐ ์ฑ๋์ด ์๋ํ์ง ์๋ ๊ฒ ๊ฐ๊ธฐ ๋๋ฌธ์
๋ด๊ฐ ์ ์ํ ๊ฒ์ Google์์ ์ ์ํ apk๊ฐ ์๋ aabs๋ฅผ ์ฌ์ฉํ์ฌ ์ ๋ฐ์ดํธ ํธ์๋ฅผ ์์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ ๊ฐ๋จํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค...
@sulaysumaria - ๋ณด์ด๋ ๊ฒ๋งํผ ๊ฐ๋จํ์ง ์์ต๋๋ค. ์ ๋ฅผ ๋ฏฟ์ผ์ธ์... ๋ํ dev ์ฑ๋๋ก ๋ค์ ์ ํํ๋ฉด ํ์ฌ ํจํค์ง ๋ฐ ํ๋ฌ๊ทธ์ธ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
@campioncino ๋๋ ๊ทธ ๋ฌธ์ ์ ์ง๋ฉด ํ ์ ์ด ์๊ธฐ ๋๋ฌธ์ ์๋ผ๊ณ ์๊ฐํฉ๋๋ค .... ๋๋ ๋จ์ํ ๋ฆด๋ฆฌ์ค ์ฑ ๋ฒ๋ค์ ๋น๋ํ๊ณ ํ๋ ์ด ์คํ ์ด์ ์ ๋ก๋ํฉ๋๋ค ... ๊ฒฝ๊ณ ๋ฅผ ํ์ํ์ง ์์ต๋๋ค .... ํ๋ ์ด ์คํ ์ด์์ ์ค์นํ ๋ ์ฑ์ด ์ ๋๋ก ์๋ํฉ๋๋ค ( ์ ์ด๋ ๋ด ํด๋ผ์ด์ธํธ๊ฐ ์ง๊ธ๊น์ง ์ฌ์ฉํ๊ณ ์๋ ๊ฒ...)
@angel1st , ์ดํดํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋กค๋ฐฑ์ด ์ ์ผํ ์ต์ ์ ๋๋ค... ํ์ง๋ง ์ข ์์ฑ์ ์ ๊ทธ๋ ์ด๋ํด์ผ ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์ ๋ฒ์ ์ผ๋ก ์ ๊ทธ๋ ์ด๋ํ ์ ์์ต๋๋ค... ์ ๋ ํ๋ฌ๊ทธ์ธ ํ๋๋ก ๊ทธ๋ฐ ์ข ๋ฅ์ ๋ฌธ์ ์ ์ง๋ฉดํ์ต๋๋ค. ์ฌ์ฉํ๊ณ ์์๋๋ฐ ๋คํํ๋ ์ต์ ๋ฒ์ ์ flutter๋ฅผ ์ง์ํ๊ธฐ ์ํด ๋ฒ ํ ๋ฒ์ ์ผ๋ก ์ ๋ฒ์ ์ ์ถ์ํ์ต๋๋ค. ํ๋ฌ๊ทธ์ธ์ด ์ ์ง ๊ด๋ฆฌ๋์ง ์์ผ๋ฉด ์ฌ์ฉํ์ง ์์์ผ ํ ์๋ ์์ต๋๋ค.
@sulaysumaria ๋๋์ด ๋ฌธ์ ์ ์ง๋ฉด ํ ์ ์ด ์์ต๋๋ค ... ๋ง์ง๋ง ๋น๋๊น์ง.
์๋ํ๊ฒ ์ง๋ง ์ผ๋ถ ์ฅ์น์์๋ง ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ํ
์คํธํ๊ธฐ๊ฐ ๊ทธ๋ฆฌ ๊ฐ๋จํ์ง ์์ต๋๋ค.
์๋ฅผ ๋ค์ด Samsung Galaxy Tab 2 7.0 P3110, Android 4.2.2 ๋ฐ Android 4.1.2๊ฐ ์ค์น๋ ๋ค๋ฅธ ๊ตฌํ ํ๋ธ๋ฆฟ์์
์ค์ค... ๋ด ์ฑ์ ํ์คํ ํ๋ธ๋ฆฟ์ฉ์ด ์๋๋ผ... ํ ๋ฒ ํ ์คํธ ํด๋ณด๋ฉด ์ข์ํ ๋ฐ...
์๋ ํ์ธ์ ์ฌ๋ฌ๋ถ,
ํ์ฌ ์ํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
https://github.com/flutter/flutter/issues/35838 ์ Android 4.2 ๋ฐ ์ด์ ๋ฒ์ ์ ์ํฅ์ ๋ฏธ์น๋ฉฐ, ์ด๋ Android ํด๋์ ํ์ ~3%์ ์ํฅ์ ๋ฏธ์น๋ค๋ ์๋ฏธ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ฒ๊ทธ์ ๋ํด ์ํฅ์ ๋ฐ๋ ์ฌ๋๋ค๊ณผ ํ๋ ฅํ์ฌ ์์ ๋ฒ์๋ฅผ ์๋ณํ๊ณ ์ผ๋ถ ์ฑ์๋ง ์ํฅ์ ๋ฏธ์น ๊ฐ๋ฅ์ฑ์ด ์๋ ๊ฐ๋ฅํ ๋ณด์กฐ ๋ฌธ์ (์: ๋ชจ๋ ์ฑ์ ๋ํ๋์ง ์๋ Dart VM์ ๊ด๋ จ ์๋ ๊ฐ๋ฅํ ๋ฒ๊ทธ)๋ฅผ ์ถ์ ํ๊ณ ์์ต๋๋ค. ํด๋น ์กฐ์ฌ์ ๊ทธ ๊ฒฐ๋ก ์ ๋ฐ๋ผ ํ์ฌ ์์ ๋ฒ์ ์ ํจ์นํ๋ ๊ฒ์ด ๋ ๋์์ง ์๋๋ฉด ์ฑ๋์ ํตํด ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์์ ๋ฒ์ ์ผ๋ก ํธ์ํ๋ ๊ฒ์ด ๋ ๋์์ง ๊ฒฐ์ ํ ๊ฒ์ ๋๋ค.
๋๊ตฌ๋ ์ง ์ด์ Flutter ๋ฒ์ ์์ ๋น๋ํ๊ณ 32๋นํธ ๋ฐ 64๋นํธ APK๋ฅผ ์๋์ผ๋ก ๋น๋ํ๋ ค๋ ๊ฒฝ์ฐ ์ฌ๊ธฐ ์์ ์ด์ ๋ฒ์ ์ Flutter๋ฅผ ๋ค์ด๋ก๋ํ๋ฉด
https://github.com/flutter/flutter/issues/35838 ์ด์ธ์ Android์ฉ ๋น๋์ ๋ฌธ์ ๊ฐ ์๋ ์ฌ๋์ด ์๋ค๋ฉด ๋ณ๋์ ๋ฌธ์ ๋ฅผ ์ ์ถํ๊ณ ์ ๋ฅผ ์ฐธ์กฐํ์ญ์์ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ถ์ ํ๊ณ ์ถ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด์ ๋ณ๋๋ก ์ฐ๋ฆฌ๋ ํ๋ก์ธ์ค ์ด๊ธฐ์ ๋ ๋ค์ํ ๊ธฐ๊ธฐ/Android ๋ฒ์ ์์ ๋ฌธ์ ๋ฅผ ๋ ์ ๊ฐ์งํ๊ธฐ ์ํด ํ ์คํธ ๋งคํธ๋ฆญ์ค๋ฅผ ๋๋ฆฌ๊ธฐ ์ํด ์ ๊ทน์ ์ผ๋ก ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค(๊ทธ๋์ ๋ฒ๊ทธ ๋ณด๊ณ ์๊ฐ ์ฒซ ๋ฒ์งธ ๋ฐฉ์ด์ ์ด ์๋).
@tvolkert - ํผ๋๋ฐฑ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๊ฐ์ ํ์ด์ง์ ์๋์ง ํ์ธํ๊ธฐ ์ํด - 8์ 1์ผ ๋ง๊ฐ์ผ์ด ์ฐ๊ธฐ ๋ ๋๊น์ง ์ด์ Flutter ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑํ๋ ๊ฒ์ ์๋ฏธ๊ฐ ์์ต๋๋ค. Google Play์์๋ 8์ 1์ผ ์ดํ์๋ง 32๊ฐ์ ์ฑ ๋ฒ์ ์ ์ ๋ก๋ํ๋ ๊ฒ์ ํ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
@angel1st ์ด ์ต์ ์ด ๊ทํ์ ๊ฒฝ์ฐ์ ์ ํฉํฉ๋๊น?
flutter version v1.5.4-hotfix.2
)๋ก ๋๋๋ฆฌ๊ธฐflutter build apk --target-platform android-arm
๋ฐ 64๋นํธ flutter build apk --target-platform android-arm64
ํ๋์ฉ)ํด๊ฒฐ ๋ฐฉ๋ฒ์ด๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง ์ ์ด๋ ์์ ์ฑ ๋ฌธ์ ์ "๊ฒฝ๊ณ " ๋ฌธ์ ๋ฅผ ๋ชจ๋ ํด๊ฒฐํฉ๋๋ค.
@truongsinh - ์ ์์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค - ๊ณ ๋ คํด ๋ณผ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์ ์ ์์ 2๋จ๊ณ ๊ฐ ์ด์ ์ ์( ์: app gradle
์์ ) ์์์ ๊ฐ์ด ๋ณ๊ฒฝ์ด ํ์ํ์ง ์์์ ํ์ธํด ์ฃผ์๊ฒ ์ต๋๊น?
@angel1st ๋ ์ ์ฒด ์ฑ์ด flutter(์: https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps ์๋)์ด๊ณ Gradle์์ ์๋ฌด ๊ฒ๋ ์์ ํ์ง ์์ ํ ํ์ผ(์: flutter create
๋ฐ๋๋ผ ํ์ผ), ์๋ฌด ๊ฒ๋ ํ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋น ๋ฅธ ํ์ธ์ ์ง์ ์ํํ ์ ์์ต๋๋ค(https://github.com/flutter/flutter/issues/31922#issuecomment-512292798 ๋ค์ ๋ฒ์ "3.4.5" ๊ฐ์ , "๋น๋ ๋ฒํธ"์ ๋ํ ๋ด ๊ฐ์ธ์ ์ธ ์ ํ ํ์์ bbxxyyzz
, ์ฌ๊ธฐ์ bb
๋ 32๋นํธ ๋๋ 64๋นํธ๋ฅผ ์๋ณํ๊ธฐ ์ํ ๊ฒ์
๋๋ค. xx
๋ ๋ฉ์ด์ , yy
๋ ๋ง์ด๋, zz
๋ patch ์ด์ง๋ง ๋ค๋ฅธ ๊ถ์ฅ ํ์๋ ์์ต๋๋ค. https://developer.android.com/google/play/publishing/multiple-apks#using-a-version-code-scheme ์ฐธ์กฐ):
flutter create hello_world
flutter build apk --target-platform android-arm --build-number 32030405 --build-name=3.4.5
mv build/app/outputs/apk/release/app-release.apk build/app/outputs/apk/release/app-release-32.apk
flutter build apk --target-platform android-arm64 --build-number 64030405 --build-name=3.4.5
mv build/app/outputs/apk/release/app-release.apk build/app/outputs/apk/release/app-release-64.apk
์ฌ๊ธฐ์ 2๊ฐ์ APK๋ฅผ ํฌํจํฉ๋๋ค. ๊ทธ๋ค์ ๋ด Pixel 2์ ํจ๊ป ์๋ํฉ๋๋ค. ๋ํ APK ๋ถ์์ ๋ณด๋ฉด ๊ฐ APK์ ์๋ก ๋ค๋ฅธ libflutter.so
๋ฐ 4๊ฐ์ ์ค๋
์ท/aot ํ์ผ์ด ์์์ ๋ถ๋ช
ํ ์ ์ ์์ต๋๋ค.
๋ ๊ฐ์ apk๋ฅผ ์ ๋ก๋ํ ๋ ์ฐธ๊ณ ํ์ธ์... Google์ ๋์ผํ ๋น๋ ๋ฒํธ๋ฅผ ๊ฐ์ง ์ฌ๋ฌ ํ์ผ์ ์ ๋ก๋ํ๋ ๊ฒ์ ํ์ฉํ์ง ์์ผ๋ฏ๋ก 64๋นํธ์ฉ apk๋ฅผ ๋ง๋ค๊ธฐ ์ ์ ๋น๋ ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ ๊ฐ์ apk๋ฅผ ์ ๋ก๋ํ ๋ ์ฐธ๊ณ ํ์ธ์... Google์ ๋์ผํ ๋น๋ ๋ฒํธ๋ฅผ ๊ฐ์ง ์ฌ๋ฌ ํ์ผ์ ์ ๋ก๋ํ๋ ๊ฒ์ ํ์ฉํ์ง ์์ผ๋ฏ๋ก 64๋นํธ์ฉ apk๋ฅผ ๋ง๋ค๊ธฐ ์ ์ ๋น๋ ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์, ์ฌ์ค์ ๋๋ค(https://developer.android.com/google/play/publishing/multiple-apks#Rules ์ฐธ์กฐ). ๋ชจ๋ ๋ฒ์ ์ ๋ํด 64๋นํธ์ ๋น๋ ๋ฒํธ๊ฐ 32๋นํธ๋ณด๋ค ๋์์ง ํ์ธํ์ธ์(์ด์ ์์ https://github.com/flutter/flutter/issues/31922#issuecomment-512223030 ์ ๋ฐ์ดํธ).
appbundle
๋ก ๋น๋ํ๋ ค๊ณ ํ๋ฉด ์ค๋ฅ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค. flutter build apk
๋ ์ ์๋ํ์ง๋ง Play ์คํ ์ด์ ์ ๋ฒ์ ์ ๊ฒ์ํ๊ณ ์ถ์ต๋๋ค. ๋๊ตฐ๊ฐ ์ด์ ๊ฐ ๋ฌด์์ธ์ง ๋์์ค ์ ์์ต๋๊น?
flutter build appbundle --target-platform android-arm,android-arm64 --flavor my_flavor --release -t "bin/main.dart
์คํ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Initializing gradle... 0,6s
Resolving dependencies... 2,0s
Running Gradle task 'bundleMy_AppRelease'...
Running Gradle task 'bundleMy_AppRelease'... Done 1,9s
Gradle build failed to produce an Android bundle package.
์ฌํ๊ฒ๋ ์ค๋ฅ ๋ฉ์์ง๋ ์ค์ ๋ก ๋์์ด ๋์ง ์์ต๋๋ค. ๋ํ flutter Doctor์ ์ถ๋ ฅ:
[โ] Flutter (Channel stable, v1.7.8+hotfix.3, on Mac OS X 10.14.5 18F132, locale de-DE)
โข Flutter version 1.7.8+hotfix.3 at /Users/tom/development/flutter
โข Framework revision b712a172f9 (2 weeks ago), 2019-07-09 13:14:38 -0700
โข Engine revision 54ad777fd2
โข Dart version 2.4.0
[โ] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
โข Android SDK at /Users/tom/Library/Android/sdk
โข Android NDK location not configured (optional; useful for native profiling support)
โข Platform android-28, build-tools 28.0.3
โข Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
โข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
โข All Android licenses accepted.
[โ] Xcode - develop for iOS and macOS (Xcode 10.3)
โข Xcode at /Applications/Xcode.app/Contents/Developer
โข Xcode 10.3, Build version 10G8
โข CocoaPods version 1.6.1
[โ] iOS tools - develop for iOS devices
โข ios-deploy 1.9.4
[โ] Android Studio (version 3.4)
โข Android Studio at /Applications/Android Studio.app/Contents
โข Flutter plugin version 36.1.1
โข Dart plugin version 183.6270
โข Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
[โ] Connected device (1 available)
โข iPhone Xส โข 095B1A07-E138-4A80-9783-8CA36DC8049A โข ios โข com.apple.CoreSimulator.SimRuntime.iOS-12-4 (simulator)
โข No issues found!
ํธ์งํ๋ค
--split-per abi
๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ๋ฉด ๊ฑด๋ฌผ๋ flutter build apk
์ ํจ๊ป ์คํจํฉ๋๋ค.
@wreppun ๊ฐ์ฌํฉ๋๋ค - ๋ด ์ฑ์ ์ถฉ๋ ๋ณด๊ณ ์๋ฅผ ํ์ธ
@blasten ๊ฑฑ์ ํ์ง ๋ง์ธ์. ํ๋ฅญํฉ๋๋ค. ๋๊ตฐ๊ฐ ์๋ก์ด ์ฑ๋ฒ๋ค์ด Asus ZenFone 2 ๊ธฐ๊ธฐ์์ ์๋ํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค ์ ์๋ค๋ฉด, ๊ทธ๊ฒ์ผ๋ก ์ถฉ๋ถํ ๊ฒ์ ๋๋ค. ๋ถํํ๋ ์ก์ธ์ค ๊ถํ์ด ์์ง๋ง Google์ ๋ชจ๋ฐ์ผ ํ ์คํธ ์ฐ๊ตฌ์์์ ์ก์ธ์คํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ ๋ Asus Zenfone ๋ฌธ์ ์ ์ง๋ฉดํด ์์ต๋๋ค. flutter build apk
์ฌ์ฉํ์ฌ ์คํํ ๋ ์ฑ์ด ์ ํ์์ ์คํ๋ฉ๋๋ค. ํ์ง๋ง appbundle์ ์ฌ์ฉํ์ฌ App Store์ ์
๋ก๋ํ๋ฉด ์์ ํ๋ฉด ์์ผ๋ก ์ด๋ํ์ง ์์ต๋๋ค.
์ด๋ค ์๋ฃจ์ ??
"Play ์คํ ์ด"์์ ๋ด ์ ํ๋ฆฌ์ผ์ด์ (์ฑ) ์ค ํ๋์ ์ ๋ฒ์ ์ ์ปดํ์ผํ๊ณ ์ถ์ํ๋ ค๊ณ ํ์ง๋ง ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
1-) 32๋นํธ์ 64๋นํธ๋ฅผ ์ ๋ก๋ํ๋ฉด 32๋นํธ ๋ฒ์ ๋๋ฌธ์ ์ฌ์ดํธ๊ฐ ๊ฑฐ๋ถํฉ๋๋ค.
2-) 32๋นํธ๋ง ์ ๋ก๋ํ๋ฉด 64๋นํธ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ดํธ๊ฐ ๊ฑฐ๋ถํฉ๋๋ค.
3-) 64๋นํธ๋ง ์ ๋ก๋ํ๋ฉด ์ฌ์ดํธ๊ฐ ์๋ํ์ง๋ง ๊ณ ๊ฐ์๊ฒ 64๋นํธ Android๊ฐ ์์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ด ํด๋ ์ ํ์์๋์ด ๋์ผํ ์ฑ์ ์ฌ์ฉํ์ง๋ง ๋ด ํด๋ ์ ํ์์๋ apk 32 ๋นํธ๋ฅผ ์ฌ์ฉํ ๋๋ง ์๋ํฉ๋๋ค. ๋ด ํด๋ํฐ์ APK 64๋นํธ๋ฅผ ์ค์นํ๋ฉด ์์ ํ๋ฉด์์ ์ค์ง๋ฉ๋๋ค.
์ด์ ํด์ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์??
Tigerclaw1980์ flutter ์ฑ ๋ฒ๋ค ์ต์ ์ ์ฌ์ฉํฉ๋๋ค.
appbundle ์ต์ ํ๋ฌํฐ Tigerclaw1980 ์ฌ์ฉ @MoacirSchmidt
Delphi Beta๋ฅผ ์ฌ์ฉํ์ฌ 32๋นํธ ๋ฐ 64๋นํธ์ฉ apk ํ์ผ์ ๋ง๋ค์์ต๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉํ ์ ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค
"Play ์คํ ์ด"์์ ๋ด ์ ํ๋ฆฌ์ผ์ด์ (์ฑ) ์ค ํ๋์ ์ ๋ฒ์ ์ ์ปดํ์ผํ๊ณ ์ถ์ํ๋ ค๊ณ ํ์ง๋ง ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์์ต๋๋ค.
1-) 32๋นํธ์ 64๋นํธ๋ฅผ ์ ๋ก๋ํ๋ฉด 32๋นํธ ๋ฒ์ ๋๋ฌธ์ ์ฌ์ดํธ๊ฐ ๊ฑฐ๋ถํฉ๋๋ค.
2-) 32๋นํธ๋ง ์ ๋ก๋ํ๋ฉด 64๋นํธ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ดํธ๊ฐ ๊ฑฐ๋ถํฉ๋๋ค.
3-) 64๋นํธ๋ง ์ ๋ก๋ํ๋ฉด ์ฌ์ดํธ๊ฐ ์๋ํ์ง๋ง ๊ณ ๊ฐ์๊ฒ 64๋นํธ Android๊ฐ ์์ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ด ํด๋ ์ ํ์์๋์ด ๋์ผํ ์ฑ์ ์ฌ์ฉํ์ง๋ง ๋ด ํด๋ ์ ํ์์๋ apk 32 ๋นํธ๋ฅผ ์ฌ์ฉํ ๋๋ง ์๋ํฉ๋๋ค. ๋ด ํด๋ํฐ์ APK 64๋นํธ๋ฅผ ์ค์นํ๋ฉด ์์ ํ๋ฉด์์ ์ค์ง๋ฉ๋๋ค.
์ด์ ํด์ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ๋์??
@Tigerclaw1980 ์ด ์ค๋ฅ๋ฅผ ์์ ํ์ จ๋์?
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์ ํ๋ฌํฐํ์ ๋๋ค.
์ด ์ฃผ์ ์ํ์ ๋ํด ๊ฐ์กฐํ๊ณ ์ถ์ต๋๋ค. ์ ์ ์ฅ์์๋ ๋ ๊ฐ์ง ์ฌ๊ฐํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
1.7.8+hotfix.3
์ ์์ ์ ์ธ apk๋ฅผ ๋น๋ํ์ง ์์ต๋๋ค. - ์ต์ํsplit-per-abi
๋ ์ ๋๋ก ์๋ํ์ง ์์ต๋๋ค. - arm32์๋ ํ๊ท ๋ฌธ์ ๊ฐ ์์ผ๋ฉฐ ์ผ๋ถ arm32 ์ฅ์น์์ ์คํํ ์ ์์ต๋๋ค . ์ด ๋ฌธ์ ๊ฐ ์ธ์ ์์ ๋ ์ง๋ ์์ง ๋ช ํํ์ง ์์ต๋๋ค.์์ ๋ ๊ฐ์ง ๋ฌธ์ ๋ฅผ ๊ณ ๋ คํ์ฌ IMO๊ฐ ๊ฐ๋ฐ์๋ก์ ์ฐ๋ฆฌ์๊ฒ ๊ฐ์ฅ ์ ํฉํ ๋ค์๊ณผ ๊ฐ์ ๋น์ ๊ณํ์ ์ ์ํ๊ณ ์ถ์ต๋๋ค.
hotfix.2
์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑ์ ๋ ์ ๋ฅผ ๋์ ํด์๋ง ๋งํ ์ ์์ง๋ง ๊ณ์ฝ์ด ์๋ ๊ณ ๊ฐ์ด ์๊ณ Google์ด ์์ฒด ์ ํ์ ๋ํด ๋ ๋์ ์ง์์ ์ ๊ณตํ ๊ฒ์ด๋ผ๊ณ ๋ฏฟ์๊ธฐ ๋๋ฌธ์ React Native์์ Flutter๋ก ์ด๋ํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ์งํ ์ค์ธ ํ๋ก์ ํธ์ ์ง์ํด์ผ ํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ต๋๋ค.
์ด์ Google์์ 64๋นํธ apk ๋ฒ์ ์ ์ถ์ํ๋๋ก ๊ฐ์ํ๋ ๋์์ Google์์ ๊ทธ๋ ๊ฒ ํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํ์ง ์๋ ํฐ๋ฌด๋์๋ ์ํฉ์ ์ฒํด ์์ต๋๋ค(์, Flutter ํ์ด Google Play์ ๊ฐ์ง ์๋ค๋ ๊ฒ์ ์๋๋ค. ํ์ด์ง๋ง ๋ด๊ฐ ์์๋ ๊ณณ - ๋น์ ์ ๊ฐ์ ์ฌ์ ์ฒด์ ๋๋ค).
Google์ด ์ ์๊ฐ์ ์ ๊ณตํ์ง ๋ชปํ๋ฉด Flutter์ ๊ฐ๋ ฅํ ๋ฐ๋ฐ๋ก ์ด์ด์ง ๊ฒ์ ๋๋ค. 8์ 1์ผ ์ดํ ๋งค์ผ ํ๋ ์์ํฌ์ ์ ๋ขฐ์ฑ์ด ์ค์ด๋ค๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ๋ง์ด ์กฐ๊ธ ๋ ๊ฐํ๊ฒ ๋ค๋ฆฌ์ จ๋ค๋ฉด ์ฌ๊ณผ๋๋ฆฝ๋๋ค. ์ ์๋ง ์ ์ ์ฅ์ด ๋์ จ์ผ๋ฉด ํฉ๋๋ค.
๋๊ตฌ๋ ์ง - ์ด๊ฒ์ ํฌํํด ์ฃผ์ญ์์ค. ๊ทธ๋ฌ๋ฉด ์ฐ๋ฆฌ์ ๋ชฉ์๋ฆฌ๊ฐ ๋ค๋ฆด ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค!