본문 바로가기
[android] Secure Coding Guide [android] Secure Coding Guide -Android Secure Coding Guide 라는 간략한 세미나를 듣고 왔다.새로운 내용은 없지만, 그냥 Remind 하는 차원에서 정리해본다. 최소 권한 : 불필요한 퍼미션 사용하지 말자. 안드로이드 6.0(MOS) 부터 Runtime Permission 이 되면서 문제가 적어지지만, 이전에는 과도한 권한을 사용하는 문제가 있었다.꼭 필요한 권한만 정의해서 사용하라.위치정보를 사용할 때는 국내 위치정보법에 따라 필수 5대항목 고지 등의 의무사항이 있으니 확인해야 한다. (기획적인 내용) 소스코드 보안 : 난독화 여부 Proguard 난독화를 사용해라.기본 Proguard 말고도 난독화를 해주는 보안강화 솔루션 들도 있다. ( 옵션을 잘 확인하.. 2018. 5. 24.
[android] Google Play Service 는 나쁜놈이었다. Google Play Service 는 나쁜놈이었다. Google Play Service 가 현재( 2015-09-12 기준 ) 7.x 버전까지 나왔다. 그런데 이 구글 플레이 서비스가 5.0 ~ 6.5 미만까지는 골치덩어리였다. 여러가지 기능들이 추가되어 편리하게 구글이 제공하는 기능, 서비스들을 제공받는 것은 좋았지만,dex 파일의 method 갯수 제약 측면에서 노답인 상황이었다. 한 dex 파일은 65k 개의 method 만 가질 수 있는데, Google Play Service 5.0 버전에서는 이 녀석 혼자 20k 이상의 method 를 가지고 있다. 그래서 구글 플레이 서비스 library 를 사용하면서다른 3rd party library 를 사용하면method limit 에 걸려 문제가 될 .. 2015. 9. 16.
난독화 ( proguard ) 에 대한 고급정보. 난독화 ( proguard ) 에 대한 고급정보. -proguard option 에 -printusage unused.txt 를 추가해주면, 사용하지 않는 코드들이 출력되어 유지보수에 좋다. -optimization 하는 옵션을 줄 수도 있지만,optimization 은 Dalvik version 에 따라 호환이 안 되는 경우가 있어 함부로 쓰지는 않는 것이 좋다. -open source library 의 경우는 obfuscate(난독화) 할 필요가 없다.이미 open 된 소스들이기 때문이다.이럴 경우 아래와 같은 코드를 추가해주면, build time 을 줄일 수 있다. -libraryjars libs-keep class android.support.v4.app.** { *; }-keep interfa.. 2014. 5. 30.
[android] admob proguard 적용방법 android, admob proguard 적용방법 다음과 같은 메세지를 본다면 Warning: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState 아래의 proguard option 을 추가해야 한다. -dontwarn com.google.ads.** dontwarn com.google.ads.**, downtwarn, option, proguard, Warning, Warning: com.google.ads.m: can't find referenced class com.google.ads.internal.state.AdState, [android] admob proguard 적용방법, 메세지, 에러, 프.. 2014. 3. 21.
[android] java.lang.NoSuchMethodError: java.io.IOException.<init> - com.google.android.gms.internal [android] java.lang.NoSuchMethodError: java.io.IOException. - com.google.android.gms.internal java.lang.NoSuchMethodError: java.io.IOException. at com.google.android.gms.internal.g.f() at com.google.android.gms.internal.g.b() at com.google.android.gms.internal.e.a() at com.google.android.gms.internal.e.a() at com.google.android.gms.internal.bq.a() at com.google.android.gms.internal.cg$1.run() at.. 2014. 2. 20.
[android] eventbus proguard 적용시키기. android, eventbus proguard 적용시키기. -keepclassmembers class ** {public void onEvent*(**);} Android, eventbus, eventbus proguard, eventbus proguard 적용시키기., eventbut 프로가드, proguard, 프로가드 2014. 1. 15.
[android] Proguard가 에러를 뿜어낼 때 해결 방법. Proguard 가 에러를 뿜어낼 때 해결 방법. Proguard 는 사용하면, decompile 을 어렵게 만들어 소스코드를 보호할 수 있다는 장점도 있지만,한편으로는 Crash 가 발생했을 때 StackTrace 에 Proguard 를 통해 치환된 값들이 나온다는 단점도 있고,외부 Library 를 적용할 때 에러를 뿜어내기도 한다. 필자의 경우 Flurry 라이브러리를 추가한 후에Proguard 설정을 바꿔주지 않고선 [Export Signed Application Package..] 를 통해 Sign 을 하니 다음과 같은 에러를 신나게 뿜어댔다. Note: there were 1153 duplicate class definitions.... 중복여부 좌르륵 ... 필자 예상이지만, 아마도 flur.. 2013. 5. 18.
[android] progurad 와 flurry 함께 사용하는 방법. progurad 와 flurry 함께 사용하는 방법. proguard를 사용하면서 flurry library 를 추가해주면, proguard 를 적용 할 때 에러가 난다. 사실 proguard 는 external library 가 추가될 때마다 조금씩 설정을 바꾸어 주어야 한다. flurry library 를 추가하면서 에러가 없게 하려면.. -dontwarn com.flurry.** -keep class com.flurry.** { *; } 위의 코드 2줄을 proguard.cfg 파일에 추가해주면 된다. 도움이 되셨다면 손가락 꾸욱~ ( 로그인 필요 x ) 2012. 12. 15.
반응형