-
카테고리
-
세부 분야
모바일 앱 개발
-
해결 여부
미해결
컨텐츠 데이터 모델 차시에서 앱을 업로드하려고하는데 오류가 발생합니다.
20.02.22 12:11 작성 조회수 135
0
Cannot fit requested classes in a single dex file (# methods: 105461 > 65536)
라는 오류가 뜨면서 앱이 업로드가 안되네요 ㅠㅠㅠ
해결법을 검색해서 아래와 같이 적용해보았지만 앱을 실행하면 강제로 중지됩니다 ㅠㅠㅠ
minSdkVersion 이 20 이하인 경우
build.gradle 파일에서 multiDexEnable 을 true로 설정하고 multidex 지원 라이브러리를 추가해야 합니다.
그리고 custom application을 사용하지 않는다면 MultiDexApplication을 추가해야 합니다.
답변을 작성해보세요.
0
0
0
김요셉
질문자2020.02.24
빌드는 정상적으로 되지만 앱 실행하면 자동으로 계속 팅기네요 ㅠㅠㅠㅠㅠ
gralde 내용 공유해드려용
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 29
defaultConfig {
applicationId "com.example.ystest3"
minSdkVersion 15
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.firebase:firebase-auth:16.0.5'
implementation 'com.google.firebase:firebase-storage:16.0.5'
implementation 'com.google.firebase:firebase-firestore:18.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
//noinspection GradleCompatible
implementation 'com.android.support:design:28.0.0'
implementation 'com.facebook.android:facebook-android-sdk:[4,5)'
implementation 'com.google.android.gms:play-services-auth:17.0.0'
implementation 'com.google.firebase:firebase-firestore:21.4.0'
implementation 'com.github.bumptech.glide:glide:4.9.0'
implementation 'com.android.support:multidex:1.0.3'
}
0
김요셉
질문자2020.02.24
gradle에서 아래 내용까지는 추가를 완료한 상태입니다. (이부분까지 추가 후 앱을 업로드하고 실행하면 첫화면부터 강제종료되어버리는 상태)
다음과 같이 모듈 수준 build.gradle
파일을 수정하여 multidex를 사용 설정하고 multidex 라이브러리를 종속성으로 추가합니다.
android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 28
multiDexEnabled true
}
...
}
dependencies {
implementation 'com.android.support:multidex:1.0.3'
}
아래 내용을 적용하려고하는데 강조되어있는 문장을 넣으면 거기서부터 에러가 발생하여 진행을 못하고있습니다. 아래 내용부터는 내용을 추가해야한다면 어떻게 해야할지 알려주세요 ㅠㅠㅠ
Application
클래스 재정의 여부에 따라 다음 중 하나를 실행합니다.
-
<devsite-code style="box-sizing:inherit;clear:both;display:block;margin:16px 0px;overflow:hidden;position:relative;direction:ltr !important"> <pre class="lang-xml" translate="no" dir="ltr" is-upgraded style="box-sizing:inherit;background:#f1f3f4;color:#37474f;font-variant-numeric:normal;font-variant-east-asian:normal;font-stretch:normal;font-size:14px;line-height:20px;font-family:'Roboto Mono', monospace;padding:24px;margin-top:0px;margin-bottom:0px;overflow-x:auto;position:relative"><span class="pln" style="box-sizing:inherit"> </span><span class="pun" style="box-sizing:inherit"><?</span><span class="pln" style="box-sizing:inherit">xml version</span><span class="pun" style="box-sizing:inherit">=</span><span class="str" style="box-sizing:inherit;color:#0d904f">"1.0"</span><span class="pln" style="box-sizing:inherit"> encoding</span><span class="pun" style="box-sizing:inherit">=</span><span class="str" style="box-sizing:inherit;color:#0d904f">"utf-8"</span><span class="pun" style="box-sizing:inherit">?></span><span class="pln" style="box-sizing:inherit"><br style="box-sizing:inherit" /> </span><span class="tag" style="box-sizing:inherit;color:#3b78e7"><manifest</span><span class="pln" style="box-sizing:inherit"> </span><span class="atn" style="box-sizing:inherit;color:#9c27b0">xmlns:android</span><span class="pun" style="box-sizing:inherit">=</span><span class="atv" style="box-sizing:inherit;color:#0d904f">"http://schemas.android.com/apk/res/android"</span><span class="pln" style="box-sizing:inherit"><br style="box-sizing:inherit" /> </span><span class="atn" style="box-sizing:inherit;color:#9c27b0">package</span><span class="pun" style="box-sizing:inherit">=</span><span class="atv" style="box-sizing:inherit;color:#0d904f">"com.example.myapp"</span><span class="tag" style="box-sizing:inherit;color:#3b78e7">></span><span class="pln" style="box-sizing:inherit"><br style="box-sizing:inherit" /> </span><span class="tag" style="box-sizing:inherit;color:#3b78e7"><application</span><span class="pln" style="box-sizing:inherit"><br style="box-sizing:inherit" /> </span><b style="box-sizing:inherit"><span class="atn" style="box-sizing:inherit;color:#9c27b0">android:name</span><span class="pun" style="box-sizing:inherit">=</span><span class="atv" style="box-sizing:inherit;color:#0d904f">"android.support.multidex.MultiDexApplication"</span></b><span class="pln" style="box-sizing:inherit"> </span><span class="tag" style="box-sizing:inherit;color:#3b78e7">></span><span class="pln" style="box-sizing:inherit"><br style="box-sizing:inherit" /> ...<br style="box-sizing:inherit" /> </span><span class="tag" style="box-sizing:inherit;color:#3b78e7"></application></span><span class="pln" style="box-sizing:inherit"><br style="box-sizing:inherit" /> </span><span class="tag" style="box-sizing:inherit;color:#3b78e7"></manifest></span></pre> </devsite-code>Application
클래스를 재정의하지 않는 경우 manifest 파일을 수정하여 다음과 같이<application>
태그에서android:name
를 설정합니다.
0
하울
지식공유자2020.02.22
흠 https://developer.android.com/studio/build/multidex 내용을 제대로 적용했는지요 혹시라도 에러가 난다면 gralde 내용좀 올려주세요
답변 5