2011-07-25 26 views
10

Sadece merak ediyorum, Android projelerimle kullanmak için bir kütüphane tasarlıyorum. Şimdi bazı hata ayıklama dosya yüklemelerini desteklemek için apache FTP jar gibi şeyler dahil etmeye başlıyorum.Proguard kullanılmayan kodu kaldırır (Android'de)

ben tüm projeler kütüphanenin tüm parçaları kullanacak değil biliyoruz (örneğin bazı proje hiç bir FTP yükleme var, ama kütüphaneden UI araçlarını kullanmak isteyen olmaz).

  1. mu Proguard unsused kaynakları (kendi kodu) kaldırmak gibi mesela:

    Şimdi üç soru var UI araç sınıflarım, hiç bir zaman ana projeden referans alınmıyorlarsa - uygulamada kullanılmazlar.

  2. mu Proguard hiç kullanılmamış ise dış kütüphaneleri (örn apache ftp kavanoz) çıkarın. Eğer değilse, seçenek 1 geçerli ise kaynağı ekleyebilirim.

  3. Kaynak dosyaları hakkında (gerçekten Proudards işi değil, daha fazla IntelliJ veya Eclipse) - Örnek: Kütüphane projesinde saklanan varsayılan işaretçileri kullanarak bir Google harita uzantısı yazıyorum. Yine de haritalara ihtiyaç duymazsam, dosyalar her bir android projeye dahil edilir - ve bunu önlemek için kolay bir yol var mı?

Bazı diğer arka planlar: Tüm kitaplık öğelerini olabildiğince uzun bir projede tutmaya çalışıyorum. Henüz kütüphaneyi bölmek için iyi bir nokta bilmiyorum, bu yüzden her şey için ayrı lib'leri yaratmak için fazla uğraşmak istemiyorum (geçmişte ve çoğu zaman modülerleştirmenin yolu). herhangi bir yorumlara için

sayesinde Chris

+1

"desinging" Lanet Alman ... Biz -ing bir sürü var ve –

+0

:-) ilginç bir süreç gibi geliyor normalde hiçbir -ign - Yani –

cevap

9

mu Proguard unsused kaynaklar

düzgün yapılandırıldığında, çalışır kaldırın.

Proguard, hiç kullanılmadığında harici kütüphaneleri (örneğin, apache ftp jar) kaldırır. doğru yapılandırıldığında,

O etmeye çalışır.

Kaynak dosyaları hakkında (gerçekten Proguards işi değil, daha IntelliJ veya Eclipse) - Örnek: Kütüphane projesinde saklanan varsayılan işaretçileri kullanarak bir Google harita uzantısı yazıyorum. Yine de haritalara ihtiyaç duymazsam, dosyalar her bir android projeye dahil edilir - ve bunu önlemek için kolay bir yol var mı?

sayılı

+0

:-) orthograpic meraklıları için düzeltilmiş kütüphanemde kaynak vs kavanozlar arasında bir fark yoktur. Çoğu kavanoz kaynak kodu da sağlar, fakat eğer cevabınızı doğru olarak anlarsam, Proguard'ın nasıl doğru bir şekilde kullanılacağını öğrendiğimde, örn. Apache commons kaynağı ve kavanozlar dahil. –

+0

@Christian: Doğru. Proguard, hiçbir durumda kaynağı çalışmaz AFAIK - .class dosyalarından çalışır. – CommonsWare

+0

@CommonsWare Temel yapılandırmayı doğru şekilde nasıl yapılandıracağınız iyi olurdu. – rekire