Android-21'deki özel imza izniyle aynı sorunu yaşadım ve tam bir kaldırma işlemi yaptığımdan emin olarak çözdüm.
Bu, şu durumlarda ortaya çıkan bir uç durumdur:
- Uygulama, imza düzeyinde güvenlik kullanarak özel bir izin tanımlar
- Yüklü uygulamayı farklı bir anahtarla imzalanmış bir sürümle güncellemeye çalışıyorsunuz
- Test cihazı, birden fazla kullanıcı desteğiyle Android 21 veya daha yenisini çalıştırıyor
Komut satırı örneği
İşte sorunu ve sorunun nasıl çözüleceğini gösteren bir komut satırı metni. Bu noktada bir hata ayıklama sürümü yüklü ve ben bırakma anahtarıyla imzalanmış bir üretim sürümünü yüklemeye çalışıyorum:
# This fails because the debug version defines the custom permission signed with a different key:
[root@localhost svn-android-apps]# . androidbuildscripts/my-adb-install Example release
920 KB/s (2211982 bytes in 2.347s)
pkg: /data/local/tmp/Example-release.apk
Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.example.android.example.PERMISSION_EXAMPLE_PLUGIN pkg=com.example.android.example]
# I use uninstall -k because apparently that is similar to uninstalling as a user
# by dragging the app out of the app tray:
[root@localhost svn-android-apps]# /android-sdk-linux/platform-tools/adb uninstall -k com.example.android.example
The -k option uninstalls the application while retaining the data/cache.
At the moment, there is no way to remove the remaining data.
You will have to reinstall the application with the same signature, and fully uninstall it.
If you truly wish to continue, execute 'adb shell pm uninstall -k com.example.android.example'
# Let's go ahead and do that:
[root@localhost svn-android-apps]# /android-sdk-linux/platform-tools/adb shell pm uninstall -k com.example.android.example
Success
# This fails again because the custom permission apparently is part of the data/cache
# that was not uninstalled:
[root@localhost svn-android-apps]# . androidbuildscripts/my-adb-install Example release
912 KB/s (2211982 bytes in 2.367s)
pkg: /data/local/tmp/Example-release.apk
Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=com.example.android.example.PERMISSION_EXAMPLE_PLUGIN pkg=com.example.android.example]
# In spite of the warning above, simply doing a full uninstall at this point turned out to
# work (for me):
[root@localhost svn-android-apps]# /android-sdk-linux/platform-tools/adb uninstall com.example.android.example
Success
# Release version now successfully installs:
[root@localhost svn-android-apps]# . androidbuildscripts/my-adb-install Example release
898 KB/s (2211982 bytes in 2.405s)
pkg: /data/local/tmp/Example-release.apk
Success
[root@localhost svn-android-apps]#
Tutulma örneği
Ters yönde (Eclipse bir yayın derlemesi zaten yüklüyken bir hata ayıklama derlemesi yüklemeye çalışırken), aşağıdaki iletişim kutusunu alıyorum:
Bu noktada evet cevabını verirseniz kurulum başarılı olacaktır.
Cihaz örneği
Başka bir yanıtta belirtildiği gibi, cihaz ayarlarındaki bir uygulama bilgi sayfasına gidebilir, taşma menüsünü tıklayabilir ve bu hatayı önlemek için "Tüm kullanıcılar için kaldır" ı seçebilirsiniz.