首页 > 解决方案 > ADB 安装 apk 但不显示在包下

问题描述

我正在尝试卸载我的应用程序的旧版本,然后通过 ADB 在 Lollipop Android 设备上重新安装新版本。这些是我目前的步骤:

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

我的旧应用程序的原始卸载成功,该应用程序从 Android 5.5 设备上消失了。

安装升级后的应用程序的新尝试返回:

    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

但是当我运行包列表时,我的新 APK 包不存在。

adb shell pm list packages

当我尝试运行它时:

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

我得到:

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

所以很明显它没有正确安装,因为它没有显示在包中并且无法运行 - 即使它显示成功。解决此问题的最佳方法是什么?任何帮助表示赞赏!

标签: androidapkadb

解决方案


终于找到问题了!!!我在这里发帖是因为我花了太多时间试图弄清楚这一点,因为它没有给我任何错误消息。

我能够从部署团队获得原始 APK 的副本并分析他们的 AndroidManifest.xml,并看到原始 APK 包名称都是小写的:“com.company.mypackagename”但我正在构建的那个实际上是使用驼峰式“com.company.myPackageName”。当我尝试安装它时,ADB 应该给出类似于“应用程序 ID 不匹配”的错误,但它只是反复给我一个响应:“成功”。

希望这可以节省其他人一些时间!


推荐阅读