Android Studio 코드 혼동 - 타사jar 혼동 요약(지속적인 업데이트)
Android에는 매우 많은 우수한 제3자 개원jar백이 있습니다. 우리는 항상 우리 프로젝트에서 적지 않은jar백을 사용했지만 왕왕 Release가 되면 제3자jar백을 혼동하는 것을 잊어버려서 개발에 많은 번거로움을 줄 수 있습니다. 여기서 비교적 핫한 제3자jar백의 혼동 방식을 모아서 여러분의 개발을 편리하게 합니다.이 글은 계속해서 업데이트될 것입니다. 만약 다른jar 패키지의 혼동 사용 방식이 있다면, 여러분에게 비교적 완전한 실례를 제공할 수 있도록 저에게 알려 주실 수 있습니다.이 블로그는 XueLong에 동시 게시된 블로그입니다.
상용 제3자 개원jar 패키지
순위는 선후를 가리지 않는다(알파벳순으로 배열)
Android-gif-drawable 링크
-keep public class pl.droidsonroids.gif.GifIOException{(int);}
-keep class pl.droidsonroids.gif.GifInfoHandle{(long,int,int,int);}
Android-Universal-Image-Loader 링크
#Universal Image Loader
-keep class com.nostra13.universalimageloader.** { *; }
-keepattributes Signature
ButterKnife 링크
-keep class butterknife.** { *; }
-dontwarn butterknife.internal.**
-keep class **$$ViewBinder { *; }
-keep class **$$ViewInjector
-keepclasseswithmembernames class * {
@butterknife.* ;
}
-keepclasseswithmembernames class * {
@butterknife.* ;
}
Bugly 링크
-keep public class com.tencent.bugly.**{*;}
EventBus 링크
-keepclassmembers class ** {
public void onEvent*(***);
}
# Only required if you use AsyncExecutor
-keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent {
public (java.lang.Throwable);
}
# Don't warn for missing support classes
-dontwarn de.greenrobot.event.util.*$Support
-dontwarn de.greenrobot.event.util.*$SupportManagerFragment
Fabric Twitter Kit 링크
-dontwarn com.squareup.okhttp.**
-dontwarn com.google.appengine.api.urlfetch.**
-dontwarn rx.**
-dontwarn retrofit.**
-keepattributes Signature
-keepattributes *Annotation*
-keep class com.squareup.okhttp.** { *; }
-keep interface com.squareup.okhttp.** { *; }
-keep class retrofit.** { *; }
-keepclasseswithmembers class * {
@retrofit.http.* *;
}
Fastjson 링크
-dontwarn com.alibaba.fastjson.**
-keepattributes Signature
-keepattributes *Annotation*
Glide 링크
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
# for DexGuard only
-keepresourcexmlelements manifest/application/meta-data@value=GlideModule
Gson 링크
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# For using GSON @Expose annotation
-keepattributes *Annotation*
# Gson specific classes
-keep class sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
# Prevent proguard from stripping interface information from TypeAdapterFactory,
# JsonSerializer, JsonDeserializer instances (so they can be used in @JsonAdapter)
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
루프 메시지 SDK 링크
-keep class com.easemob.** {*;}
-keep class org.jivesoftware.** {*;}
-keep class org.apache.** {*;}
-dontwarn com.easemob.**
#2.0.9 keep
#-keep class org.xbill.DNS.** {*;}
# ,demo , keep SmileUtils
-keep class com.easemob.chatuidemo.utils.SmileUtils {*;}
# , , com.example.utils , ( #)
#-keep class com.example.utils.SmileUtils {*;}
# easeui ,
-keep class com.easemob.easeui.utils.EaseSmileUtils {*;}
#2.0.9 , api, keep
-dontwarn ch.imvs.**
-dontwarn org.slf4j.**
-keep class org.ice4j.** {*;}
-keep class net.java.sip.** {*;}
-keep class org.webrtc.voiceengine.** {*;}
-keep class org.bitlet.** {*;}
-keep class org.slf4j.** {*;}
-keep class ch.imvs.** {*;}
LitePal 링크
-keep class org.litepal.** {
*;
}
-keep class * extends org.litepal.crud.DataSupport {
*;
}
Okhttp 링크
-keepattributes Signature
-keepattributes *Annotation*
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**
OkhttpUtils 링크
#okhttputils
-dontwarn com.zhy.http.**
-keep class com.zhy.http.**{*;}
#okhttp
-dontwarn okhttp3.**
-keep class okhttp3.**{*;}
#okio
-dontwarn okio.**
-keep class okio.**{*;}
Picasso 링크
-dontwarn com.squareup.okhttp.**
Retrofit2 링크
-dontwarn retrofit2.**
-keep class retrofit2.** { *; }
-keepattributes Signature
-keepattributes Exceptions
-keepclasseswithmembers class * {
@retrofit2.http.* ;
}
RxJava 링크
-keep class rx.schedulers.Schedulers {
public static ;
}
-keep class rx.schedulers.ImmediateScheduler {
public ;
}
-keep class rx.schedulers.TestScheduler {
public ;
}
-keep class rx.schedulers.Schedulers {
public static ** test();
}
ShareSDK 링크
-keep class cn.sharesdk.**{*;}
-keep class com.sina.**{*;}
-keep class **.R$* {*;}
-keep class **.R{*;}
-dontwarn cn.sharesdk.**
-dontwarn **.R$*
-dontwarn com.tencent.**
-keep class com.tencent.** {*;}
슬라이딩 Menu 링크
-dontwarn com.jeremyfeinstein.slidingmenu.lib.**
-keep class com.jeremyfeinstein.slidingmenu.lib.**{*;}
아주 괜찮은 코드 혼동과 관련된 소스 항목을 몇 개 보충하다
AndResGuard 링크
안드로이드 소스 혼동
android-proguard-snippets 링크
더 좋은 프로젝트는 거의 모든 흔히 볼 수 있는 제3자jar 패키지의 혼동 방식을 통합시켰다.
맨 마지막에 쓰다
이상은 현재 정리된 제3자jar백의 코드 혼동 방식입니다. 만약에 다른jar백의 사용 방식이 있으면 저에게 메시지를 남길 수 있다면 제가 추가하겠습니다.
만약 참고 과정에서 문제가 생기면 나의 연락처에서 나에게 질문을 할 수 있다.
안드로이드에 대한 지식을 계속 소개할 테니 제 블로그의 업데이트에 계속 관심을 가져 주십시오.
참고 자료
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.