Postanowiłem spróbować apk sliptting, aby zmniejszyć rozmiar mojej apk. Dodałem następujący plik do mojego pliku tworzenia gradleAPK podzielone według gęstości nadal zawiera wszystkie zasoby
splits {
// Configures multiple APKs based on screen density.
density {
// Configures multiple APKs based on screen density.
enable true
// Specifies a list of screen densities Gradle should not create multiple APKs for.
exclude "ldpi"
// Specifies a list of compatible screen size settings for the manifest.
compatibleScreens 'small', 'normal'
}
}
Pomyślnie wygenerowano osobne apki dla różnych gęstości. Zauważyłem jednak, że wszystkie apki były tej samej wielkości, żadna z nich nie była mniejsza niż uniwersalna apk. Więc załadowałem jeden (app-hdpi-release.apk) do analizatora apk i odkryłem, że zawiera on wszystkie zasoby. Żadne nie zostały usunięte.
Tak więc cała konfiguracja miała na celu wygenerowanie tego samego pliku APK z różnymi nazwami plików. Czy czegoś brakuje? Czy istnieją inne opcje kompilacji, które potencjalnie mogą blokować usuwanie zasobów?
Czy jesteś pewny, że zasoby dzielone w rozciągliwych-xxx folderów poprawnie? – MatPag
Tak, i działają one również poprawnie. Przetestowałem to, zaznaczając różne wersje obrazów o różnych gęstościach i sprawdzając, czy te odpowiednie są wyświetlane na różnych urządzeniach. – aaronmarino