adb卸载程序应使用adb uninstall xxx
。
xxx为包名。
AndroidManifest
中定义package
为com.android.test.myapplication
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.test.myapplication">
</manifest>
按理说应该使用
adb uninstall com.android.test.myapplication
但是报错了,错误如下。
Exception occurred while executing:
java.lang.IllegalArgumentException: Unknown package: com.android.test.myapplication
at com.android.server.pm.Settings.isOrphaned(Settings.java:4438)
at com.android.server.pm.PackageManagerService.isOrphaned(PackageManagerService.java:22500)
at com.android.server.pm.PackageManagerService.deletePackageVersioned(PackageManagerService.java:19396)
at com.android.server.pm.PackageInstallerService.uninstall(PackageInstallerService.java:755)
at com.android.server.pm.PackageManagerShellCommand.runUninstall(PackageManagerShellCommand.java:929)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:134)
at android.os.ShellCommand.exec(ShellCommand.java:96)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:22804)
at android.os.Binder.shellCommand(Binder.java:594)
at android.os.Binder.onTransact(Binder.java:492)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:2648)
at com.android.server.pm.PackageManagerService.onTransact(PackageManagerService.java:3843)
at android.os.Binder.execTransact(Binder.java:697)
实际应使用applicationId
中所定义的包名。 。
gradle中applicationId 定义为:applicationId "com.android.test.myapp"
使用 adb uninstall com.android.test.myapp
才能正常卸载。
通过使用adb shell pm list packages
,查看设备上安装的apk的packages,发现package:com.android.test.myapp
,也同样说明了,安装后packages为applicationId所定义的值。
package:com.android.fmradio
.........
package:com.android.test.myapp
..........
package:com.android.systemui
...........
参考链接:
Android 使用ADB命令安装、卸载软件
网友评论