2010-08-21 15 views

cevap

6

Bir apk, bir zip olan bir kavanozdur. Böylece fermuarları manipüle eden herhangi bir aracı kullanabilirsiniz.

Ancak ek bir karmaşıklık var: Android platformu (META-INF dizinindeki dosyalar hariç) imzalanacak olan tüm dosyaları apk. Bu nedenle, tüm paketleri imzalamak için tekrar jarsigner numaralı telefonu aramanız gerekir. Daha sonra tekrar zipalign'u da aramalısınız.

Değiştirilen apk'yı, orijinal apk'yı imzalamak için kullanılan anahtarla imzalamanız gerekir. Bu, imzanın tüm noktasıdır: paketin imzalayanın onayı olmadan değiştirilmediğini gösterir. (Aslında, farklı bir anahtarla oturum açabilirsiniz, ancak sonra özgün uygulama tarafından üretilen herhangi bir verilere erişemezsiniz veya tam tersi).

Android geliştirme seti ile sağlanan karınca komut dosyaları otomasyonu içerir. jarsigner ve zipalign'ı çalıştırmak için.

+0

içine bir dosya eklemek anlamına gelir "METIF-INF" dizini MANIFEST değil, göz ardı edilmiş olmalıdır. Doğrulama, PackageParser.collectCertificates() –

7

Android SDK ile birlikte gelen aapt adlı bir araç var. Mevcut bir apk ile dosya eklemek/kaldırmak/listelemek için kullanabilirsiniz. Herhangi bir param olmadan aapt çalıştırın ve kullanım talimatlarını yazdıracaktır. Bir dosya kullanımını eklemek için: Get git

META-INF>MANIFEST.MF 

, sen ekler istediğiniz dosyayı

aapt add MyApp.apk file1 file2 ... 
+1

'da uygulanır. Yeniden imzalamanız veya zip align'i bununla mı kullanmanız gerekiyor? – zezba9000

+0

@ zezba9000 Evet, yeniden imzalamanız ve zipalign apk uygulamanız gerekiyor. – naXa

0

veya sadece dosyayı, açmak eklemek olabilir

SHA1 - Checksum 

bunu ekle manifest.

İlgili konular