Temel olarak, kaynaklarınızı daraltarak gerçekte, apk'nızın boyutunu azaltmak için birçok seçeneğiniz vardır. Ben bunlarla ilgili kısa bir açıklama yaptım ve sanırım 'un sıkı referans kontrolleri probleminizi çözmemelidir, ancak odanızın boyutunu daha da azaltmak için mevcut tüm seçeneklere bakabilirsiniz. Doktor söylediği gibi
tutmak tutmaya karar vermek res/ham/keep.xml, aşağıda xml kullanmak ve korumak için değil ne kaynaklar
Özelleştirme: <?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:keep="@layout/l_used*_c,@layout/l_used_a,@layout/l_used_b*"
tools:discard="@layout/unused2" />
Ayrıca, yapı sistemiyle de ilgilenilecek (Farklı yapı varyantları kullanılırken kullanışlıdır).
etkinleştirme sıkı referans kontrolleri
aşağıdaki gibi bir kod veya kütüphane referans kaynakları varsa: Bu durumda kaynak küçültücü içinde,
getResources().getIdentifier("image1", "drawable", getPackageName())
Ardından varsayılan ve işaretleri Savunmaya davranır Tüm kaynaklar, potansiyel olarak kullanılan ve kaldırılmak üzere kullanılamayacak eşleşen bir ad biçimine sahip.
Yani, bu sorunu çözmek gerekir ekleme
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
tools:shrinkMode="strict" />
/ham/keep.xml res aşağıdakileri ekleyin.
Kaldır kullanılmayan alternatif kaynaklar
Kaynak Küçültücü vb
Yani, farklı diller için alternatif kaynaklar gibi, alternatif çekilebilir kaynakları farklı ekran yoğunlukları için, alternatif dize kaynakları kaldırmaz, ne yapılacağını kendiniz seçebilirsin, derleme dosyasından diyelim ki, sen 'en' yerelinde dizeleri tutmak istiyorsun:
android {
defaultConfig {
...
resConfigs "en", "fr"
}
}
Bu, boyutu önemli ölçüde azaltabilir.
hala kaynaklar, kaynak küçültücü tarafından tutulur, sonra elle ilk tartışılan yöntem kullanılarak onları dışlamak ve derlenmiş alırsa görmek ve eğer değilse, o kaynak küçültücü kaynaklara tutmak nedeni, belli olacak, düzgün inşa bina sırasında atılan istisnadan.
Umut eder! başka bir şey otomatik kurulum sistemine yapmak kullanılmayan kaynakları tespit etmek için çalışırsa
Pleasw http://stackoverflow.com/a/40742213/4069985 –
cevabını alacağınız bu bağlantıya bakın. Bunun için yerleşik hiçbir şey yok. Henüz bir çekim yapmadım ama [bu Gradle script] 'i (https://stackoverflow.com/a/34525498/115145) deneyebilirsiniz. – CommonsWare
@SrinivasKeerthiprakasam teşekkürler – Hades