(minify) build 시에 admob 광고가 안나오는 것에 대한 issue 와 그에 대한 resolver 와 minify 에 대한 접근.

 

https://github.com/googleads/googleads-mobile-unity/issues/2458

 

AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.ads.initialization.OnInitializationCompleteListen

Describe the problem Steps to reproduce: I build a project using Admob, it works fine with test app id, ad unit id. But when I release the app, no ads are shown. I test my application using LogCat,...

github.com

 

위의 이슈를 확인해보면 이와같은 문제에 대해서 기본적으로 

 

External Dependency Manager -> Anroid Resolver -> Resolve 를 하라는게 가장 기본이 되는 접근인것 같다

그에 대해서는

해당 레포를 관리하는 이 사람의 답변을 보면 알 수 있는데, 

 

전반적으로 사람들은 이러한 과정을 통해서 문제가 완전하게 해결되지 않는것 같고, 

 

 

 

 

이 답변을 통해서 많은 사람들이 문제를 해결한 것 같다. 

맨 마지막에 -dontobfuscate 는 제외해도 괜찮은것 같다고 말하는 사람이 있다. 

 

 

-dontobfuscate 의 경우 난독화를 하지 않겠다는 것인데, 이렇게 해버리면 난독화 전체를 하지 않겠다는 의미로 사용될 수 있어 보이니, 그래서 그 부분은 제외하겠다는 의미같은데, 난독화를 제외한다는건 그럴거면 minify 자체를 안하는것이나 매우 유사해지는 결과를 만드는게 아닌가 싶다. 사이즈를 줄이는 이점도 있겠지만 minify 를 하겠다고 하는 이유가 난독화가 더 핵심적이라고 생각되는데, 그걸 제외한다는건 가장 적절한 해결 방법은 아니라는 생각이 든다. 

-dontobfuscate 를 제외하고도, 그리고 추가하고도 한번 테스를 해보도록 하자. 

 

 

이렇게 -dontobfuscate 를 제외해도 문제없다는 사람이 추가적으로 있다.

 

proguard-user.txt:

-keep class com.google.unity.** {
   *;
}
-keep public class com.google.android.gms.ads.**{
   public *;
}
-keep public class com.google.ads.**{
   public *;
}
-keepattributes *Annotation*



위와 같은 내용을 사용하면 될듯하다. -dontobfuscate 는 맨 마지막줄에 취사선택 하도록 하자. 

 

 

+++++++++++++++++++

minify 시에 문제가 발생하는 이유와 그에 대한 해결 방법에 대해서 정보전달이 깔끔한 편인 글 첨부.

여기서 keep 하는건 현재 내 상황과 전혀 상관없지만 맥락을 이해하자는 의미로 여기에 기록함.

https://developer.zendesk.com/documentation/classic-web-widget-sdks/unified-sdk/android/minify/

 

Minifying your app

Developer documentation for products at Zendesk

developer.zendesk.com

 

+++++++++++++++++++++++++

https://developer.android.com/build/shrink-code?hl=ko

 

앱 축소, 난독화 및 최적화  |  Android Studio  |  Android Developers

사용하지 않는 코드와 리소스를 삭제하기 위해 출시 빌드에서 코드를 축소하는 방법을 알아보세요.

developer.android.com

 

가장 명확하게 minfiy 에 대해서 제시해주는 android developer 사이트의 shrink your app 항목을 첨부함.

이 부분에 대해서 지속적으로 모르는 부분을 읽어보고 학습하고 이해하도록 하자. 

 

  Comments,     Trackbacks