Android Studio --自動刪除沒有用的資源,給APK減減肥和GSON、RX、EventBus混淆注意

刪除APK中的無效資源

1、隨着APK不斷的迭代,APK中肯定會多出了很多無用的xml、圖片資源。這些資源無疑加大了apk的大小,如果像這樣一個一個找
這樣
,去查詢資源是否被使用,無疑是個很大的工作量。我們可以通過
這種方式
這種方式
找到項目中沒有被調用的資源,再按照需求進行刪除。

2、通過混淆的時候優化,在gradle中配置

minifyEnabled true   
// 移除無用的resource文件,開啓minifyEnabled  true 纔有效果
shrinkResources true

可以有效的減少APK的大小

混淆時需要注意的第三方包
GSON

-keepattributes Signature
# Gson specific classes
 -keep class sun.misc.Unsafe { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
-keep class com.google.common.**{*;}
-keep class com.google.gson.**{*;}
-keep class com.google.gson.stream.** { *; }
-keep class org.json.**{*;}

Rx

-keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
 long producerIndex;
 long consumerIndex;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
 rx.internal.util.atomic.LinkedQueueNode producerNode;
}
-keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
 rx.internal.util.atomic.LinkedQueueNode consumerNode;
}

EventBus
3.0以前

-keepclassmembers class ** {
    public void onEvent*(**);
}
-keepclassmembers class ** {
public void onEventMainThread(**);
}
-keepclassmembers class ** {
public void onEventBackgroundThread(**);
}
-keepclassmembers class ** {
public void onEventAsync(**);
}

3.0EventBus採用的是註解的形式,方法名沒有固定的形式。可以根據方法名進行處理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章