• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

컨텐츠 데이터 모델 차시에서 앱을 업로드하려고하는데 오류가 발생합니다.

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을 추가해야 합니다.

답변 5

·

답변을 작성해보세요.

0

김요셉님의 프로필

김요셉

질문자

2020.02.27

에뮬은 사용안하고 스마트폰(갤럭시S9)으로 사용중이었습니다. 우선 다른 에뮬로 진행해보고 다시 답변남겨놓겠습니다. 감사합니다 (__)

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 클래스 재정의 여부에 따라 다음 중 하나를 실행합니다.

  • Application 클래스를 재정의하지 않는 경우 manifest 파일을 수정하여 다음과 같이 <application> 태그에서 android:name를 설정합니다.

    <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>

0

흠 https://developer.android.com/studio/build/multidex  내용을 제대로 적용했는지요 혹시라도 에러가 난다면 gralde 내용좀 올려주세요