Search code examples
androidapkadb

ADB installs apk but doesn't show under packages


I am trying to uninstall an old version of my app, and reinstall the new version via ADB on a Lollipop Android device. These are my current steps:

adb uninstall com.company.mypackagename
adb install app-release.apk
adb shell pm list packages

The original uninstall of my old app was successful and the app disappeared from the Android 5.5 device.

The new attempt to install the upgraded app returns:

    adb install app-release.apk
    Performing Push Install
    app-release.apk: 1 file pushed, 0 skipped. 10.7 MB/s (822124 bytes in 0.073s)
        pkg: /data/local/tmp/app-release.apk
    Success

but when I run a list of the packages, my new APK package is not there.

adb shell pm list packages

When I try to run it anyway:

adb shell am start -n "com.company.mypackagename/com.company.mypackagename.MainActivity"

I get:

Error: Activity class {com.company.mypackagename/com.company.mypackagename.MainActivity} does not exist.

So obviously it is not installing correctly, as it is not showing in packages and unable to run - even though it shows Success. What is the best way to troubleshoot this? Any help appreciated!


Solution

  • I finally found the issue!!! I'm posting here because I spent way too much time trying to figure this out, since it wasn't giving me any error messages.

    I was able to get a copy of the original APK from the deployment team and analyze their AndroidManifest.xml, and saw that the original APK package name was all lowercase: "com.company.mypackagename" but the one I was building was actually using Camel-Case "com.company.myPackageName". When I tried to install it, ADB should have given an error similar to: "Application ID Does not Match", but instead it just repeatedly gave me a response of: "Success".

    Hopefully this saves someone else some time!