2016-04-13 17 views
14

Chcę usunąć nieużywane zasoby z mojego projektu, aby zmniejszyć rozmiar aplikacji. Czy jest jakiś sposób, aby to zrobić, skutecznie wykorzystując IDE Android Studio?Usunąć niewykorzystane zasoby przy użyciu Android Studio?

+1

[spójrz na to] (http://cyrilmottier.com/2014/08/26/putting-your-apks-on-diet/) –

+0

Kliknij prawym przyciskiem myszy zasoby i kliknij opcję Znajdź użycie. wyświetli się, jeśli jest używany, czy nie. jeśli nie, usuń go bezpiecznie. – androidnoobdev

+0

zobacz: http: //stackoverflow.com/questions/6373482/remove-all-unused-resources-crom-an-android-project –

Odpowiedz

25

Gradle zbudować dla Android obsługuje Resource Shrinking : automatyczne usuwanie zasobów, które są nieużywane, w czasie kompilacji, w zapakowanej aplikacji. Oprócz usuwania zasobów w projekcie, które nie są faktycznie potrzebne w środowisku wykonawczym, powoduje to również usunięcie zasobów z bibliotek, które są zależne od tego, czy nie są one rzeczywiście potrzebne w aplikacji.

Na przykład Twoja aplikacja korzysta z Usług Google Play, na przykład do uzyskiwania dostępu do funkcji Dysku Google, a obecnie nie korzystasz z Google Zaloguj się, to usunie różne zasoby do pobrania dla przycisków Zaloguj się.

Uwaga:Ograniczanie zasobów działa tylko w połączeniu ze zmniejszaniem kodu (np. ProGuard). W ten sposób może usunąć nieużywane zasoby z bibliotek; zwykle używane są wszystkie zasoby w bibliotece i dopiero po usunięciu nieużywanego kodu staje się jasne, które zasoby są przywoływane z pozostałego kodu.

Aby umożliwić kurczenie zasobów, zaktualizuj typu build następująco:

android { 
    ... 

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

i Google niedawno uruchomiony Android 2.0 oficjalnie Studio, teraz są one dając opcji w samym IDE.

Kliknij prawym przyciskiem myszy na aplikacji -> Refactor -> Usuń niewykorzystane zasoby

on z prośbą o

enter image description here

Sprawdzić działanie skrzynki przed potwierdzenia, dzięki czemu można uzyskać pozbyć się również nieużywanych deklaracji @id.

  • Pod względem optymalizacji APK należy wziąć pod uwagę także fakt: Selecting a Format.
  • Użyj obrazów o lepszej kompresji niż JPEG lub PNG. Stratne obrazy WebP są obsługiwane w systemie Android 4.0 (poziom API 14) i wyższych, a bezstratne i przezroczyste obrazy WebP są obsługiwane w systemie Android 4.3 (poziom API 18) i wyższych.
+0

czy działa z rysunkami | mipmapy? – Amir

+0

@Amir Tak, to prawda. –

+0

Więc mój rozmiar aplikacji przeszedł z 39,98mb do 39,99mb. Ale nie mogę sobie wyobrazić, że nie mamy żadnych niewykorzystanych zasobów (szczególnie we wszystkich bibliotekach, z których korzystamy). – 4ndro1d

0

W studiu android. Możesz użyć paska narzędzi Android Lint. To pokaże „Strings, zasobów, import ..” nie używać systemu

Analyze -> Inspect Code -> Whole Project -> OK 
0
  1. Czy android studio pokazuje stos wywołań wniosków niewykorzystane lub używanych aplikacji? Dla mnie stos wywołań jest ważny. Czy to pokazuje?
  2. Czy działa na bibliotekach dll ... czyli bibliotekach dynamicznych? Przykład: Mam na myśli 4 aplikacje i 10 popularnych bibliotek. Wszystkie 4 aplikacje wykorzystują tylko 6 bibliotek i nie używają 4 bibliotek, które są niewykorzystanym zasobem i powinny zostać usunięte, aby system był oświetlony. Czy Android Studio 2.0 działa dla biblioteki dll?
Powiązane problemy