Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 스튜디오
- 코루틴
- GIT
- WebView
- 안드로이드
- error
- MVVM
- Gradle
- 레트로핏
- Kotlin
- coroutine
- dart
- Github
- viewpager
- build
- 안스
- 에러
- 유튜브
- RecyclerView
- ADB
- 코틀린
- studio
- 안드로이드 스튜디오
- 깃헙
- 의존성주입
- Retrofit
- Android
- 안드로이드스튜디오
- image
- 웹뷰
Archives
- Today
- Total
코딩하는 일용직 노동자
java.lang.SecurityException: Writable dex file '...classes2.dex' is not allowed. 에러 해결 본문
안드로이드
java.lang.SecurityException: Writable dex file '...classes2.dex' is not allowed. 에러 해결
bacass 2024. 5. 27. 15:06프로젝트를 빌드해서 실행한 후 다시 한번 빌드 후 실행할때부터 java.lang.SecurityException: Writable dex file 오류가 발생했습니다.
java.lang.SecurityException: Writable dex file '/data/data/com.amazon.styledictionaryexample/code_cache/.overlay/base.apk/classes2.dex' is not allowed.
이럴땐 당황하지 말고 아래처럼 Application onCreate()에 코드를 추가해주면 됩니다.
import android.app.Application
import java.io.File
class App: Application() {
override fun onCreate() {
super.onCreate()
val dexOutputDir: File = codeCacheDir
dexOutputDir.setReadOnly()
}
}
Application 클래스가 추가되었으니 AndroidManifest.xml 파일에 android:name=".App" 를 추가해줍니다.
<application
android:name=".App"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
...
android:theme="@style/AppTheme">
Build > Clean Project 를 눌러서 프로젝트를 Clean 시켜준후 다시 빌드해서 실행해보면 됩니다.
codeCacheDir는 코드의 캐시 디렉토리이고 이곳에 dex파일이 저장됩니다.
dexOutputDir.setReadOnly() 는 읽기 전용으로 설정하게 됩니다.
'안드로이드' 카테고리의 다른 글
CoroutineFlow에서 Hot Stream과 Cold Stream 이란? (0) | 2024.09.07 |
---|---|
android:duplicateParentState 속성에 대하여... (0) | 2024.07.24 |
Compose Row&Column 의 배치속성 (0) | 2024.05.21 |
안드로이드 기기 해상도와 dpi 정보 얻기&수정하기 (0) | 2024.04.29 |
코틀린에서 const와 final의 차이. (0) | 2024.04.25 |