인프런 커뮤니티 질문&답변

김요셉님의 프로필 이미지
김요셉

작성한 질문수

하울의 안드로이드 인스타그램 클론 만들기

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

작성

·

277

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

김요셉님의 프로필 이미지
김요셉
질문자

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

0

하울님의 프로필 이미지
하울
지식공유자

흠 에뮬레이터 문제일수도 있는데 다른 애물이나 스마트폰으로 한번해보세요 일단 코드에서는 문제를 찾을 수가 없습니다

0

김요셉님의 프로필 이미지
김요셉
질문자

빌드는 정상적으로 되지만 앱 실행하면 자동으로 계속 팅기네요 ㅠㅠㅠㅠㅠ
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

김요셉님의 프로필 이미지
김요셉
질문자

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를 설정합니다.

        <?xml version="1.0" encoding="utf-8"?>
       
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           
    package="com.example.myapp">
           
    <application
                   
    android:name="android.support.multidex.MultiDexApplication" >
                ...
           
    </application>
       
    </manifest>

0

하울님의 프로필 이미지
하울
지식공유자

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

김요셉님의 프로필 이미지
김요셉

작성한 질문수

질문하기