마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

apk로 추출하면 로그인이 안되는 문제

0 추천

앱을 apk로 추출하기만 하면 구글로그인이 안되요.... proguard 문제라고 하시는 분들이 있어서 한번 찾아봤는데 무슨 문제인지도 모르겠고 왜그런지 도데체 모르겠어요....

 

build.gradle(app)

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}
productFlavors {
}
dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    //include firebase authentication
    implementation 'com.google.firebase:firebase-core:16.0.5'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.readystatesoftware.sqliteasset:sqliteassethelper:2.0.1'
    implementation 'com.baoyz.swipemenulistview:library:1.3.0'
    //facebook
    implementation 'com.facebook.android:facebook-android-sdk:4.38.1'
    //firebase base UI
    implementation 'com.firebaseui:firebase-ui-auth:4.1.0'
    // login google
    implementation 'com.google.firebase:firebase-auth:16.0.5'
    implementation 'com.google.android.gms:play-services-auth:16.0.1'
    // login facebook
    'com.facebook.android:facebook-android-sdk:[4,5)'
    // firebase realtime database
    implementation 'com.google.firebase:firebase-database:16.0.4'
}
apply plugin: 'com.google.gms.google-services'

pro guard- rules.pro

-dontshrink
-dontoptimize


    # Add this global rule
    -keepattributes Signature

    # This rule will properly ProGuard all the model classes in
    # the package com.yourcompany.models. Modify to fit the structure
    # of your app.
    -keepclassmembers class chahyunbin.cwapp.** {
      *;
    }

      -keepattributes *Annotation*
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.module.AppGlideModule
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
  **[] $VALUES;
  public *;
}
-dontwarn com.nhaarman.**

제가 뭘 놓친걸까요.... 고수님들 제발 도와주세요.... ㅠㅠ

aofhdzzz1 (690 포인트) 님이 2018년 12월 18일 질문

1개의 답변

0 추천
 
채택된 답변

우선 progurad 문제인지 확인하게 

release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    } 

부분을 전부 주석하고 릴리즈 버젼 만들어 돌려보세요
만약 이걸 전부 주석했는데, 로그인 되면  proguard 이슈가 맞습니다.

아니면, 다른 이슈인데, 말씀 해 주신 사항으론 알기 어렵습니다.

 

proguard 이슈라면 
 proguard- rules.pro 에 -keep 으로  특정 클래스를 key한 것과 유사하게, dependencies 로 로드하는 외부 라이브러리 클레스에 대해   전부 예외를 넣어 주시던지, 주석한대로 proguard 안 쓰고 릴리즈하셔야 합니다.

익명사용자 님이 2018년 12월 18일 답변
aofhdzzz1님이 2018년 12월 18일 채택됨
답변 너무나도 감사드립니다~ 일단 주석처리하고 릴리즈버전 만들어서 돌려봤는데 로그인이 안되네요... 혹시 어떤부분을 봐야 알 수 있을지 알 수 있을까요??
주석처리하고 테스트하다가 그냥 이메일 로그인은 되고 구글 로그인만 안되는거보고 구글로그인 코드를 잘못 짠걸 확인했습니다~ 친절히 알려주셔서 너무너무 감사합니다!
...