I cannot uninstall debug apk from my phone - android

I cannot uninstall debug APK manually which I installed directly from Android studio, and also I can't install the debug APK manually in the phone. I have the released version of the same app installed from play store on my phone.

it may be, you have multiple users on your device, just go settings->Apps->Select your app->open the context menu on the right and type uninstall for all users.
--Edit:

from next time user command adb install -r --user 0 <apk file path>
And when you uninstall with adb uninstall <pkg name>, it only uninstalls from user 0
so, apk is still installed for other users. And you have to go to settings->Apps->Select your app->open the context menu on the right and type uninstall for all users

Related

adb install apk file issue

In Android phone, by default, there are two users, one is me, the other one is Guest.
I am doing Android app development. I install the debug mode apk by run command :
adb install myapp.apk
But when I uninstall it from :
Settings -> Apps -> (click into the app) Uninstall
the app is uninstalled but the app icon is still showing there & there is a text says it is uninstalled, if I adb install myapp.apk again now, the installation fails.
To get rid of this, I have to always switch to "Guest" user, and uninstall also from there. It is very annoying. Why adb install myapp.apk installs the APK on both users?
How can I only install the app in current user with adb so that when I uninstall it from settings it could be uninstalled completely without bothering me to switch to Guest user to uninstall again?
adb install -rf apk
This helps you in doing forceful re-installation

another version of this application must be uninstalled prior to deploying this apk file

I am trying to update my application in android but when install it, this message appears in device:
another version of this product is already installed prior to deploying this apk file.All data of this application will be lost. Do you want to proceed?
I want to install new version of app and replace to other version without this message.
If you are using adb to install your apk you should add "-r" option as follows :
adb install -r yourApk.apk
If you are trying to download from somewhere and install it, you should uninstall previous version manually or you can use
adb uninstall -k "packagename"
-k is for keeping the data and cache of your application.

Manually installing an updated APK fails with "signatures do not match the previously installed version"

I've built a silly app to share among a few friends. No need to put it up on the app-store.
I built the first apk (signed), uploaded it to a web-server and all worked well.
A small issue arose, I fixed it, re-built, signed with the same keystore and uploaded it again. It now seems that I am unable to install from the new apk. The debugger tells me:
signatures do not match the previously installed version
So I uninstalled the old version by opening the app drawer and dragging it onto the "uninstall" button. When opening "Settings -> Apps", I don't see it anywhere anymore. I don't see any traces of the app on my device.
Yet I still get the above error message.
Is it possible some information still lingers on the device somewhere? Is there any way I can verify that?
Yes It is possible if somehow your old application is not removed 100% or its data is not removed.
Try:
adb uninstall "com.yourapp.yourapp"
If you don't know exactly what to put as replacement for "com.yourapp.yourapp", then you just open Android studio, Run your app while it is connected to a device and then look at Debug window.
It says:
Waiting for device.
Target device: samsung-sm_t531-xxxxxxxxx
Uploading file
local path: C:\Users\myapp\app\build\outputs\apk\myapp.apk
remote path: /data/local/tmp/com.myapp.myapp
Installing com.myapp.myapp
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.myapp.myapp"
pkg: /data/local/tmp/com.myapp.myapp
Success
com.myapp.myapp in this case is the name of the package you must use to uninstall.
I had the same issue and the adb uninstall solution did not work for me.
What worked was
On your device go to to Settings->Apps
Select your app, and in the menu select "Uninstall for all users"
Even if I had previously uninstalled the app it was still in the list there.
To me, if the app is meant to be distributed, the adb solution is a no-go: you can't ask one's friend to have the android sdk installed on their machine !
The way to go here is to edit the AndroidManifest.xml and to increment the android:versionCodeattribute in the <manifest>tag (which is the root element).
This would update your installed application
If you are seeing this while conducting connected tests, make sure to include .test when uninstalling via adb because uninstalling via app -> settings does not get rid of the test package
adb uninstall your.broken.package.test
if you just uninstall via
adb uninstall your.broken.package
your test package will still be there. This was only something i noticed while using the gradle command line, haven't come across this problem within android studio
Uninstall the old app from your phone or emulator and try to run again.
I got that error while trying to install release while signing it's certificate.
fixed with the :app Gradle task uninstallRelease and then installRelease again
If you are going in install the same app with a different signature, you may want to uninstall but keep the app's data.
adb -d shell pm uninstall -k <packageName>
adb -d install -r -t -d app.apk
For Unity users who come to this question, the best answer is indeed the one above by #Ehsan
adb uninstall "com.yourapp.yourapp"
I had already installed a previous version on my Android device then selected Development Build in Unity > Build Settings which caused the APK to use a different signature. If you install through the Android GUI it doesn't actually remove everything so you have to use ADB.
I had face same problem With POCO Mobile and Moto G30 Mobile while developing application in flutter
My Solution is:
I have open android project which automatically create in your project, in android studio and run project in connected device. It will automatically ask to uninstall old app with same package name and different signature. After click ok button it will install app.

App installs in debug build but not in release build?

I am using the these instructions to build a signed, aligned version of my app.
However, when I install the signed version of my app adb install bin/Foo-release.apk, the app does not show up in the apps list on my phone.
On the other hand, when I install the debug version, the app does appear on my phone.
Note that the output of adb install is the same in both cases.
Is there something obvious that I am missing?
It appears that I was not uninstalling the debug version properly before trying to install the release version. I was using the command adb shell pm uninstall -k my.package.name, which makes the Application Icon disappear but apparently does not fully remove it.
Instead I needed to use adb uninstall my.package.name.

Failure [INSTALL_FAILED_ALREADY_EXISTS] when I tried to update my application

when I tried to update my applcation with new version that has same signature as previous one, shows above error.
What I am missing?
If you install the application on your device via adb install you should look for the reinstall option which should be -r. So if you do adb install -r you should be able to install without uninstalling before.
To Install
adb install -r exampleApp.apk
(The -r makes it replace the existing copy, add an -s if installing on an emulator)
Make sure the app is signed the same and is the same debug/release variant
Bonus
I set up an alias in my ~/.bash_profile, to make it a 2char command.
alias bi="gradlew && adb install -r exampleApp.apk"
(Short for Build and Install)
You are getting that error because an application with a package name same as your application already exists. If you are sure that you have not installed the same application before, change the package name and try.
Else wise, here is what you can do:
Uninstall the application from the device: Go to Settings -> Manage Applications and choose Uninstall
OR
Uninstall the app using adb command line interface: type adb uninstall
After you are done with this step, try installing the application again.
It might mean the application is already installed for another user on your device. Users share applications. I don't know why they do but they do. So if one user updates an application is updated for the other user also. If you uninstall on one, it doesn't remove the app from the system on the other.
If u still facing problem then try to uninstall application using command prompt.
just add command adb uninstall com.example.yourpackagename
then try to re-install again.It works!
With my Android 5 tablet, every time I attempt to use adb, to install a signed release apk, I get the [INSTALL_FAILED_ALREADY_EXISTS] error.
I have to uninstall the debug package first. But, I cannot uninstall using the device's Application Manager!
If do uninstall the debug version with the Application Manager, then I have to re-run the debug build variant from Android Studio, then uninstall it using adb uninstall com.example.mypackagename
Finally, I can use adb install myApp.apk to install the signed release apk.
This can also be caused if the application was built from different PCs. You can make it easier for your whole team if you copy a debug.keystore from someone's machine into a /cert folder at the top of your project and then add a signingConfigs section to your app/build.gradle:
signingConfigs {
debug {
storeFile file("cert/debug.keystore")
}
}
Then tell your debug build how to sign the application:
buildTypes {
debug {
// Other values
signingConfig signingConfigs.debug
}
}
Check this file into source control. This will allow for the seamless install/upgrade process across your entire development team and will make your project resilient against future machine upgrades too.

Categories

Resources