77

私はいくつかのサンプルアプリを書いています。
これらのアプリをデバッグした後、デバイスのアプリケーション管理にアンインストール ボタンが表示されません。
adb uninstall を実行すると、常にFailure without any reason.
In DDMS I saw that my apk is stored in と表示され/data/app/com.k2g.leaveDemo-1.apkます。
何が欠けているのかわかりません。
これらのアプリを取り除くには、常にデバイスをリセットする必要があります:(

何かに署名する必要がありますか?
デバッグモードで何かをする必要がありますか?
それともバージョン依存?

サムスン S2 を使用しています。

4

23 に答える 23

54

はい、モバイル デバイス管理はそれ自体の問題をもたらしますが、「失敗」は dos2unix の問題だと思います。私の Linux マシンでは、CR 文字がパッケージ名の一部であるとアンインストールが判断するため、adb が DOS 改行を追加して「失敗」を引き起こします。また、package-1.apk ファイル名の末尾から「-1.apk」を削除します。

adb root
adb shell
pm list packages
pm uninstall com.android.chrome

私の場合、私は永続的な「セーフモード」になっている電話を持っているので、 /system/app/ の下のアプリだけが実行される可能性があります。そのため、それらをインストールして .apk ファイルをコピーし、一括アンインストールして /system/app/ にコピーし、/cache を消去して再起動します。安全なmdoeでも、より多くのアプリを実行できるようになりました。

# adb root
# pm list packages -3 > /root/bulkuninstall.txt
# vi /root/bulkuninstall.txt  and check ^M characters at end of each line.   
   If ^M, then must run dos2unix /root/bulkuninstall.txt.  
   Remove '-1.apk' using vi search and replace:  
        :%s/-1\.apk//g 
   Or sed...

# cp /data/app/* /storage/sdcard1/APKs/
# for f in `cat /root/bulkuninstall.txt`; do echo $f; pm uninstall $f; done;
# 
# echo Now remount system and copy the APK files to /system/app/
# mount | grep system
# mount -o remount,rw /dev/block/(use block device from previous step)  /system 
# cp /storage/sdcard1/APKs/* /system/app/
# reboot

ワイプキャッシュの電源をオンにします。

于 2013-03-11T04:53:34.653 に答える
38

これは正確な答えではありませんが、インストールする更新された .apk があるためにアプリをアンインストールする場合は、次の方法を試してください。

adb install -r yourapp.apk

この-rオプションは、アプリを再インストールするよう adb に指示します

于 2014-02-07T17:37:06.593 に答える
20

Android 内部アプリの場合は、次のことが必要になる場合があります。

  • adb シェル
  • マウント -o rw、再マウント -t yaffs2 /dev/block/mtdblock3 /system
  • rm /システム/アプリ/あなたのアプリ
  • rm /データ/データ/your_app
  • /data/system/packages.xml のすべてのエントリを削除します
  • /data/system/packages.list のすべてのエントリを削除します
  • AndroidManifest.xml を編集して android:sharedUserId="android.uid.shared" を削除します

これは自己責任で行ってください;-|、最初にエミュレータで試してください...

于 2013-06-21T16:56:41.473 に答える
15

ADB を実行し、次のコマンドを使用します。

adb shell pm uninstall -k --user 0 <package name>

そして、あなたはこのリターンを得るはずです:

successful
于 2019-08-11T22:33:54.107 に答える
10

オーケー私は同じ状況にあり、結果なしでこれらすべてを試しました..そして最後の答えは近かった..私はそれを次のようにして得ました:

パッケージの正しい名前を取得するには、次のようにします。

adb shell pm list packages | grep "name of your app here"

アプリの正しい名前が表示されるはずです..これでうまくいきます:

adb uninstall com.your-real-app-name

最後に、コマンドの実行が再び機能します。

ionic run android
于 2016-07-14T15:45:15.003 に答える
9

次のような非表示のデバイス管理者を含むアプリがあるようです: http://www.symantec.com/security_response/writeup.jsp?docid=2013-060411-4146-99

最初にデバイス管理を無効にする場合にのみ、そのようなアプリをアンインストールできます。https://play.google.com/store/apps/details?id=com.trendmicro.mtrt.hiddenDAcleanerを使用して無効にするか、受信者を呼び出すアプリにインテントを送信して独自に行うことができます。デバイス管理者を無効にします。

于 2013-06-24T09:53:09.160 に答える
9

私はそれadb shell pm uninstall <package>が一貫して機能することを発見しadb uninstall <package>ました。

于 2015-02-26T19:30:42.337 に答える
3

アプリケーションマニフェストを開き、最初にアプリケーションのパッケージを確認します。

その後、デバイスがデバッガーモードに設定されていることを確認してください。

ADBがデバイスと対話できるかどうかを確認します。

adbデバイス

デバイスがリストされている場合は、次を実行します。

adbアンインストールPACKAGE_WRITTEN_IN_MANIFEST

于 2012-11-23T19:52:30.600 に答える
3

電話の管理者であるアプリをアンインストールしようとしている可能性があります。

アンインストールできるようにするには、[設定] > [セキュリティ] > [電話管理者] に移動します。アプリが表示されている場合は、チェックを外して動作を確認してください。

その後、アプリ設定エリアまたはadbを使用してアンインストールできるはずです。

于 2016-05-05T13:14:27.240 に答える
2

アプリを手動で削除する必要があります。設定 - >アプリケーション管理 - >実行中のアプリケーションに移動し、それをタップすると、そこからアプリを削除、停止できます。

于 2012-11-23T19:46:22.770 に答える
1

私の場合、最初にアプリをデバッグ モードでコンパイルし、後で Google 署名付きアプリをインストールしようとすると、この問題が発生することがよくあります。

これは、両方のアプリのパッケージ名は同じですが、署名が異なるためです。Android lollypop にアップグレードしたので、設定\アプリからアプリをアンインストールすると、このエラーが発生することさえあります。この問題が発生した場合は、アプリが他のユーザー プロファイルにインストールされているかどうかを確認し、すべてのユーザー アカウントでアプリをアンインストールしてください。

于 2015-10-02T20:45:26.890 に答える
1

adb によるアンインストールに問題がある場合は、次のツールをお勧めします。

https://github.com/patrickfav/uber-adb-tools

ワイルドカードを使用でき、複数のデバイスをサポートし、バニラ ADB よりもエラー処理が優れています (ただし、もちろんバックグラウンドで使用されます)。お使いのプラットフォームで動作します。

コンソールショーケース

完全な免責事項: 私は開発者です

于 2016-09-22T07:34:05.243 に答える
0

パッケージ名ではなく、apk の名前を持っている: 最初にパッケージ名を知っておく必要があります。このテープの場合:

adbシェルpmリストパッケージ

パッケージ名を取得したら (注意してください。パッケージ名は com.intel.... のようになり、 package:com.intel... ではありません)、テープ:

adb shell pm uninstall -k "package_name"

そしてビンゴ!

于 2016-07-08T15:24:49.387 に答える
0

アプリケーション名を含む完全なパッケージ名を入力してください。

com.domain.app
于 2015-06-06T13:43:49.593 に答える
0

パッケージ名を大文字と小文字を間違えて入力するのと同じくらい簡単なことかもしれません...

私は同じ問題を抱えていました-実際のパッケージ名に大文字が含まれているのに、パッケージ名をすべて小文字で入力していたことが判明しました。

adb uninstall -k <packageName - eg. com.test.app>

(明示的にアンインストールする場合は、アプリのデータとキャッシュ ディレクトリを保持する -k は必要ないでしょう。)

于 2016-07-23T08:43:44.930 に答える
-1

adb shell uninstall com.package.app/ を使用するとエラーが発生しました

/を削除して(adb shell uninstall com.package.app)、動作します

于 2015-07-02T21:52:25.857 に答える