Wiele napisano o monolitycznym charakterze Usług Google Play i dlaczego należy je podzielić na więcej bibliotek. Na razie obejście tego problemu ma na celu użycie proguard do usunięcia niewykorzystanych odniesień. Działa to całkiem dobrze w klasach.dex, ale nie w przypadku dołączonych zasobów.Filtrowanie zasobów z monolitów Usług odtwarzania, aby zmniejszyć rozmiar pakietu APK.
Dostaję około 1 MB dodatkowych nieużywanych zasobów, a wraz z dołączoną aplikacją Android Wear zwiększa się dwukrotnie. Więc mój APK jest o 2 MB większy niż potrzeba.
Zastanawiam się, czy istnieje jakiś prosty sposób w Gradle, aby wykluczyć niektóre zasoby pochodzące z AARs zależności od wynikowego pakietu APK.
Wygląda na to, że the AAPT options in the Gradle Android plugin only allow filtering assets.
Zastanawiam się nad zahaczeniem o niestandardowy skrypt, który wywołałby usunięcie listy zasobów przy pomocy aapt przed podpisaniem pliku APK do wydania.
Czy ktoś inny ma prostsze rozwiązanie?
Niestała alternatywa dla odpowiedzi Petra: http: // stackoverflow.com/questions/22967839/how-to-remove-unused-google-icons-import-from-google-play-services-library – pmont
Rozwiązanie gradle powinno być bardziej przenośne. Nie próbowałem tego jeszcze, ale podoba mi się podejście. – pmont