๋ชฉ์ฐจ
๋ค์ด๊ฐ๊ธฐ์ ์
ํ์ฌ ๋ก๊ทธ์ธ์ด ์ฑ๊ณตํ ๊ฒฝ์ฐ ๋ฉ์ธ ํ๋ฉด์ผ๋ก ์ด๋ํ๋ ๋ก์ง์ ๊ตฌํํด๋ณด๋ ค ํ๋ค.
๊ทธ ์ ์ ๋ก๊ทธ์ธ ์ฒ๋ฆฌ ๊ณผ์ ์ด ์ด๋ป๊ฒ ๋๋์ง๋ถํฐ ์ ๋ฆฌํด๋ณด์
Unable to instantiate acitivity ์๋ฌ
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.teamfilmo.filmo/com.teamfilmo.filmo.ui.auth.AuthActivity}: java.lang.InstantiationException: java.lang.Class<com.teamfilmo.filmo.ui.auth.AuthActivity> has no zero argument constructor
์ง์์ ์ผ๋ก ํด๋น ์๋ฌ๊ฐ ๋ฐ์ํ์๋ค. ํนํ ํ ํฐ ์ฌ๋ถ๋ฅผ ์ฒดํฌํด์ฃผ๊ธฐ ์ํด ๊ด๋ จ ์ธํฐํ์ด์ค๋ฅผ ์์ฑ์ ์ฃผ์ ํด์ค ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋ฐ์ํ์๊ณ , ํ๋ ์ฝ์ ์ ํํ๋ก ์์ฑํด์ฃผ์๋ค.
๋ก๊ทธ์ธ ํ ํฐ ์ ์ฅ ๋ก์ง ์ถ๊ฐ
ํ์ธ์ ํด๋ณธ ๊ฒฐ๊ณผ ๋ก๊ทธ์ธ ์ฑ๊ณตํ์ ๋ ์๋ต๊ฐ์ผ๋ก ๋ฐ์ access token๊ณผ refresh token์ ์ ์ฅํ๋ ๋ก์ง์ด ์์ง ๊ตฌํ๋์ด์์ง ์์๋ค.
๋ฐ๋ผ์ ํด๋น ๋ก์ง๋ถํฐ ๊ตฌํํด๋ณด์๋ค.
๋ก๊ทธ์ธ ์ฑ๊ณต ์ ์๋ต๊ฐ์ผ๋ก ์ค๋ access token๊ณผ refresh token์ datastore์ ์ ์ฅํ๋ ๋ก์ง์ ๊ตฌํ ํ ๋ก๊ทธ๋ฅผ ์ฐ์ด์ฃผ์์ง๋ง ๋ก๊ทธ๊ฐ ์ฐํ์ง ์์๋ฐ..!!
์๋ ์๋ฌ๋ค์ด ๋ฐ์ํ๊ณ ์์๋ค.
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:255)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:211)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:30)
์๋ฌ๋ฅผ ๊ตฌ๊ธ๋งํด๋ณด๋ ํค๋์ ์ฑ ํค๊ฐ ์ ๋๋ก ๋์ด๊ฐ๊ณ ์๋์ง ํ์ธ์ด ํ์ํ๋ค๊ณ ํ์๋ค.
์ฌ์ฉ์์ ํ ํฐ์ ์ ์ฅํ ํ์ผ์ด ์๋ค๋ ์๋ฌ์ ํจ๊ป FileNotFound ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ ์๋ฐ.
@Serializable
Caused by: kotlinx.serialization.SerializationException: Serializer for class 'AuthResponse' is not found.
Please ensure that class is marked as '@Serializable' and that the serialization compiler plugin is applied.
ํ ํฐ ์ ์ฅ ์๋ฃ!!
๋๋์ด ํ ํฐ์ด ์ ์ฅ๋์๋ค.
๊ทธ๋์ ์ด์ ๋ก๊ทธ์ธ ํ๋ฉด์์ ๋ก๊ทธ์ธ์ ์ฑ๊ณตํด์ ํ ํฐ์ด ์์ ๊ฒฝ์ฐ์๋ ๋ฉ์ธ ํ๋ฉด์ผ๋ก ๋์ด๊ฐ๋๋ก ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์๋ค.
ํ์ง๋ง ๋ ์๋ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ๐ญ
์กํฐ๋นํฐ๋ฅผ ๊ฐ์ฒดํํ ์ ์๋ค๋ ์๋ฌ (ํด๊ฒฐ)
์๋ ์ฝ๋์์ ๋ฌธ์ ๊ฐ ์์๋ค.
๋ฉํ ๊ฐ๋ฐ์๋๊ป ํด๋น ์๋ฌ๋ฅผ ๊ณต์ ํ์๊ณ ์กํฐ๋นํฐ์์๋ ์์ฑ์ ์ฝ์ ์ด ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ๋ฐฐ์ ๋ค!!!
@AndroidEntryPoint
class AuthActivity
@Inject
constructor(
private val userTokenSource: UserTokenSource,
) :
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.teamfilmo.filmo/com.teamfilmo.filmo.ui.auth.AuthActivity}: java.lang.InstantiationException: java.lang.Class<com.teamfilmo.filmo.ui.auth.AuthActivity> has no zero argument constructor
// ์์ ํ ์ฝ๋
๋ค์ ์ ์ ์๋ํ์๋ค.
์ด์ ๋ก๊ทธ์ธ ๋ฒํผ์ ๋๋ฅด๋ฉด ์๋ฒ์์ ๋ฐ์ access token์ด datastore์ ํตํด user_token.pb ์ด๋ฆ์ผ๋ก ์ ์ฅ๋๊ณ ์๋ค.
์ด์ ๋ ๋ก๊ทธ์ธ ํ๋ฉด ์ ๋ก๊ทธ์ธ์ ์ฑ๊ณตํ๋ฉด ๋ฉ์ธ ํ๋ฉด์ผ๋ก ๋์ด๊ฐ๋ ๋ก์ง์ ๊ตฌํํด๋ณด์!
์๊ฐํด๋ณด๋ ์์์ ๊ตฌํํด์ค ๋ก์ง์๋ ๋ฌธ์ ๊ฐ ์์๋ค.
๋ก๊ทธ์ธ ๋ฒํผ ํด๋ฆญ ์ ๋ก๊ทธ์ธ์ด ์ฑ๊ณตํ๋ฉด ๋ฉ์ธ ํ๋ฉด์ผ๋ก ๋์ด๊ฐ์ผํจ
- ๊ทผ๋ฐ ๋ก๊ทธ์ธ ์ ๋งค๋ฒ access token์ ์ ์ฅํด์ผํ๋?
๐กํ ํฐ ์ฒ๋ฆฌํ๊ธฐ (์ฝ๋ ์์ )
ํ์ฌ๋ ๋ฉ์ธ์กํฐ๋นํฐ์์ userTokenSource ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ์ฌ ํ ํฐ์ ํ์ธํด์ฃผ๊ณ ์๋ค. ์ด๋ก์ง์ ์ด๋์์ผ์ฃผ๋ คํ๋ค.
์ด์ !
-> ์ ๋ฆฌํ๊ธฐ
๋ฉ์ธ ํ๋ฉด๊ณผ ์ฐ๊ฒฐ์ ํ๋๋ ์ด์ ๋ ๊ฐ์๋ฌธ ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ ๋ชฉ๋ก์ด ๋จ์ง ์๋๋ค. ๋ฌด์จ ๋ฌธ์ ๊ฐ ์์๊น ๋ก๊ทธ๋ฅผ ํ์ธํ์๋๋! ์๋์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ ์์๋ค.
์๋ ๋ธ๋ก๊ทธ๊ธ์์ ํด๋น ์๋ฌ๋ฅผ ํด๊ฒฐํ๋ ๊ณผ์ ์ ๊ธฐ๋กํด๋์๋ค.
'๐ค2024 ์๋๋ก์ด๋ > ๐ฟ ์ํ ํ๋ก์ ํธ ๊ฐ๋ฐ ์ผ์ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Android LiveData & StateFlow ์ฐจ์ด ๋น๊ตํด๋ณด๊ธฐ(์์ฑ์ค) (0) | 2024.06.14 |
---|---|
Android Recyclerview : no attached adapter , skipping layout ์๋ฌ ํด๊ฒฐ ๊ณผ์ ๊ธฐ๋ก (0) | 2024.05.15 |
๋ฉ์ธ ํ๋ฉด : ๋ฆฌ์ฌ์ดํด๋ฌ๋ทฐ ๊ตฌํ ๊ณผ์ ์ ๋ฆฌ (0) | 2024.05.10 |
Android recyclerview ์ดํดํ๊ธฐ!!! (0) | 2024.04.29 |
๐ฃ๋ฉ์ธ ํ๋ฉด API ์ฐ๋ ์ข์ถฉ์ฐ๋๊ธฐ ๊ธฐ๋ก (2) | 2024.04.08 |