2012-03-16 27 views
6

Bir uygulamayı cihazdan sessiz bir şekilde kaldırmak için bir demo uyguluyorum.Android uygulamamın sistem izinleri nasıl verilir?

Adb kabuğunda, görev yapmak için pm uninstall packagename kullanabilirim, ancak kodu yazdığımda bazı izinler reddedildi.

Bir süredir googling yapıyorum ve DELETE_PACKAGES izninin alınabilmesi için uygulamamın sistemle aynı sertifikayla imzalaması gerektiğini öğrendim.

Peki, herkes bana bunun nasıl yapılacağı konusunda bazı ipuçları verebilir mi? Ya da, uygulamamın sistem hizmeti olarak çalışmasını sağlamak için yapabileceğim bir şey var mı?

cevap

2

Sessiz bir kaldırma işleminden çok daha uzak bir yol, uygulamayı bir şekilde tutabilmektedir. Bunun yapılabilmesi için birkaç yolu var, ancak temelde kullandıkları ilk günü takip etmeli ve programı çalışmaz hale getirin. Alternatif olarak, belirli bir güne kadar çalışacak şekilde ayarlanmış olabilir, bundan sonra artık çalışmayacaktır. This question, bunun nasıl yapıldığını gösterir.

+1

de, "patron" bana bu araştırmayı yapmamı söyledi, bu yüzden, aslında, başka bir seçeneğim yok ... –

1

Uygulamanız "/ system/app" konumunda değilse, "DELETE_PACKAGES" izni çalışmaz. Uygulamanızı kaynak koduyla derleyin ya da "root" u deneyin;)

+0

Merhaba yonca, kaynak kodumla uygulamamı derlemeye karar verdim ve bu hatayı aldım: java.security.cert.CertificateParsingException: işaretli alanlar geçersiz, neyin var? –

+0

Bu satırı Android.mk dosyasında ekledim LOCAL_CERTIFICATE: = platform; ve bu uygulamayı inşa etmek için mmm paketleri/app/test/kullanılır. –

+0

Uygulamanız sertifika eylemi kullanıyor muydunuz? Biliyorsunuz ki bu istisnayı daha önce hiç görmedim. Veya platformu değiştirip paylaşmaya ve kaynak kodu oluşturmaya çalışın ~ – Clover

4

Kendi donanımınızı (ROM) oluşturmadıkça, bunu yapamazsınız. Eğer öyleyseniz, sadece ROM'u imzalayan anahtarı ve bununla birlikte APK'nızı imzalayın. Köklü bir telefonunuz varsa, izin almak için APK'yı /system/app'a da kopyalayabilirsiniz.

+0

, ama kendi yazılımımı oluşturmuyorum. Uygulamamı kaynak ile oluşturabilir miyim? –

+1

Yapabilirsin, ama cihazdaki ROM aynı anahtarla imzalanmamışsa işe yaramaz. Stok bellenimini kullanıyorsanız (bir taşıyıcıdan, vb.), Tek yol telefonun köklenmesi ve '/ system/app'nın kopyalanmasıdır. Ya da (güzelce!) Sizin için imzalamak isteyebilirsiniz :) –

+0

tamam,/sistem/app sesler iyi bir seçim gibi sesler, teşekkürler! –

-3

Ben tarayıcı okumak için bir uygulama izni almak konusunda deneyim imini sahip

  1. Açık buna izin eklemek istediğiniz Yani uygulamanın AndroidManifest.xml

    . Örneğin aşağıdaki kod işareti edinmek için Uygulamaya giden izin verecektir

2.Somewhere

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
</manifest> 

arasında ... here gitmek dolgu Bu kodu

<uses-permission android:name="..." /> 

3.For eklemek geçmiş

+0

Bu soru, normal genel izinlerden ziyade kısıtlı sistem izinleri vermekle ilgili gibi görünüyor. – Sam

İlgili konular