# If App is preloaded on Android device, I cannot install the latest APK from Appium

**URL:** <https://discuss.appium.io/t/if-app-is-preloaded-on-android-device-i-cannot-install-the-latest-apk-from-appium/76>\
**Category:** Issues/Bugs\
**Created:** [September 1, 2014, 3:38am UTC](https://discuss.appium.io/t/if-app-is-preloaded-on-android-device-i-cannot-install-the-latest-apk-from-appium/76 "2014-09-01T03:38:43Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![candy0530](https://discuss.appium.io/letter_avatar_proxy/v4/letter/c/f4b2a3/32.png) [@candy0530](https://discuss.appium.io/u/candy0530)\
**Post date:** [September 1, 2014, 3:38am UTC](https://discuss.appium.io/t/if-app-is-preloaded-on-android-device-i-cannot-install-the-latest-apk-from-appium/76/1 "2014-09-01T03:38:43Z")

</div>

I encounter a question with Android device.  
The APK is resigned by Appium first, and the resigned APK will be installed on Android device.  
But if the App cannot be uninstalled (App is preloaded on Android device), when we install the APK, it will show the message:

```
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

```

Therefore, I cannot install the latest APK from Appium.

Is there any solution can avoid this situation?

---

<div class="post-metadata">

**Author:** ![bootstraponline](https://discuss.appium.io/user_avatar/discuss.appium.io/bootstraponline/32/319_2.png) [@bootstraponline](https://discuss.appium.io/u/bootstraponline)\
**Post date:** [September 2, 2014, 4:25pm UTC](https://discuss.appium.io/t/if-app-is-preloaded-on-android-device-i-cannot-install-the-latest-apk-from-appium/76/2 "2014-09-02T16:25:34Z")

</div>

Hi, please post the server logs.

Android doesn’t let you install over an existing app unless the certs match.  
Appium should be uninstalling the app before attempting to install to avoid this problem.  
If appium can’t uninstall then appium also can’t install. You can avoid specifying an APK in this case and just automate the existing version on the device.

---

<div class="post-metadata">

**Author:** ![bootstraponline](https://discuss.appium.io/user_avatar/discuss.appium.io/bootstraponline/32/319_2.png) [@bootstraponline](https://discuss.appium.io/u/bootstraponline)\
**Post date:** [September 2, 2014, 4:32pm UTC](https://discuss.appium.io/t/if-app-is-preloaded-on-android-device-i-cannot-install-the-latest-apk-from-appium/76/3 "2014-09-02T16:32:54Z")

</div>

Another option is to set the noSign cap.

`https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/caps.md`

---

<div class="post-metadata">

**Author:** ![candy0530](https://discuss.appium.io/letter_avatar_proxy/v4/letter/c/f4b2a3/32.png) [@candy0530](https://discuss.appium.io/u/candy0530)\
**Post date:** [September 9, 2014, 6:52am UTC](https://discuss.appium.io/t/if-app-is-preloaded-on-android-device-i-cannot-install-the-latest-apk-from-appium/76/4 "2014-09-09T06:52:46Z")

</div>

This issue said that the noSign cap is scheduled for milestone 1.3.  
So now there is no noSing cap can be used until milestone 1.3, right?

> <https://github.com/appium/appium/issues/2353>
>
> A \`noSign\` capability would enable appium to skip signing/zip align on an alread…y signed apk.

---

<div class="post-metadata">

**Author:** ![bootstraponline](https://discuss.appium.io/user_avatar/discuss.appium.io/bootstraponline/32/319_2.png) [@bootstraponline](https://discuss.appium.io/u/bootstraponline)\
**Post date:** [September 9, 2014, 1:53pm UTC](https://discuss.appium.io/t/if-app-is-preloaded-on-android-device-i-cannot-install-the-latest-apk-from-appium/76/5 "2014-09-09T13:53:15Z")

</div>

That is correct. It’ll be in 1.3.

---

<div class="post-metadata">

**Author:** ![candy0530](https://discuss.appium.io/letter_avatar_proxy/v4/letter/c/f4b2a3/32.png) [@candy0530](https://discuss.appium.io/u/candy0530)\
**Post date:** [September 11, 2014, 7:14am UTC](https://discuss.appium.io/t/if-app-is-preloaded-on-android-device-i-cannot-install-the-latest-apk-from-appium/76/6 "2014-09-11T07:14:05Z")

</div>

I find noSign cap is available in 1.2.2. By using noSign cap, I can install over the existing app.  
Thanks a lot!
