๐ฒ ์ค๋์ ๊ฐ๋ฐ ์ผ์ง
- ๋๋์ด ์ฑ 1์ฐจ ๋ฐฐํฌ์ ์ฒญ์ ์๋ฃํ๋ค.
- ๋ฐฐํฌํ๋๋ฐ ์์ด ํด์ผํ ์ผ๋ค์ด ๋๋ฌด ๋ง์๋ค. ํ์ฌ ๋ง๋ ์ฑ์ด ์ ์ ๋ก๋ถํฐ ์ด๋ค ์ ๋ณด๋ฅผ ๋ฐ์์ค๋์ง ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ ๋ณด๋ฅผ ์์์ ์ผ๋ก ์ ์ฅํ๋์ง ์ด๋ฐ ๊ฒ๋ค์ ๋ค ์ ํํด์ผํ๋ค.
- ์ฑ์์ ์๊ตฌํ๋ ๊ถํ๋ค๋ ํ์ ๊ถํ์ธ์ง ์ ํ์ ์ธ์ง ์ ์ด์ผ ํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ๊ฒ์ํ ๋ ์ฌ์ฉํ ์ ์๋ ํ ์คํธ์ฉ ์์ด๋ ๋ํ ๊ฐ์ด ์ ๊ณตํด์ผ ํ๋ค.
- ์ด๋ ๊ฒ ํ์ํ ๊ฒ๋ค์ ๋ชจ๋ ์์ฑํ๊ณ ์์ฒญ์ ํ๋ฉด ์ด์ release์ฉ ์นด์นด์ค ๋ก๊ทธ์ธ key hash ๊ฐ์ด ํ์ํ๋ค.
- ์ฑ์ ์ถ์ถํ๋ ๊ณผ์ ์์ ์ด์ ๋ apk ํ์ผ์ด ์๋ aab ํ์ผ๋ก ์ถ์ถํด์ผ ํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค.
- ๊ทธ ํ ์ถ์ถํ๋ฉด์ ์ ๋ ฅํ key store์ openssl์ ์ฌ์ฉํ์ฌ release์ฉ key hash๋ฅผ ์ป์ด์ ์นด์นด์ค developer ์ฌ์ดํธ์ ์ถ๊ฐํ๋ค.
- aab ํ์ผ์ ์ถ์ถํ๋ ๊ณผ์ ์์ Manifest ํ์ผ์์ icon๊ณผ roundIcon์ ํ์ผ์ด ์ฝํ์ง ์๋ ์๋ฌ๊ฐ ์๊ฒผ๋ค.
- ์๊ณ ๋ณด๋ ์ฑ ์์ด์ฝ ํ์ผ์ ์์ฑํ ๋ release์ฉ์ผ๋ก ์์ฑํ์ด์ผ ํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐํ๋ค๊ฐ
Can't toast on a thread that has not called Looper.prepare()
์ด์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.- Main Thread๊ฐ ์๋ Thread์์ ํ ์คํธ๋ฅผ ์ถ๋ ฅํ๋ ค๊ณ ํด์ ์๊ธฐ๋ ์๋ฌ๋ค.
- ํด๋น ํ ์คํธ ์ถ๋ ฅ ์ฝ๋๊ฐ ์ฝ๋ฃจํด ์์ Dispatcher.IO๋ก ๋์ํ๊ธฐ์ withContext๋ฅผ ์ฌ์ฉํ์ฌ Main Thread๋ก ๋ฐ๊ฟ์ ํ ์คํธ๋ฅผ ์ถ๋ ฅํ๋ค.
- flow ์ฐ๋ฉด์ ์๊พธ ๊ฐ์ ๋๊ธธ ๋ emitํ๋๊ฑธ ๊น๋จน๋๋คโฆ.