Ошибка установки Android UID изменен



Я делал отладку на Android с помощью моего Nexus 4, однако я недавно столкнулся с этой ошибкой здесь. После проведения некоторых исследований по этой ошибке, это, кажется, проблема с приложением не удаляется должным образом. Приложение, которое я отлаживаю, отлично работает на других устройствах Android, а также на эмуляторах, эта ошибка возникает только на моем Nexus 4. Я подключил свое устройство к компьютеру и попытался удалить папки данных/данных, но я все еще получаю ту же проблему. Я тоже проверил настройки-приложения, чтобы проверить это было определенно удалено.



есть ли у кого-нибудь идеи, как решить эту проблему? По мнению некоторых пользователей, мне нужен корневой доступ для правильного удаления данных/данных, это правда? Или есть другой способ обойти это?

630   26  

26 ответов:

иногда вы также должны удалить папки данных. Для меня, у меня был пакет в пользовательском пространстве com.kikin.cts, а также каталог папок в /data/data/com.kikin.cts. Продолжал получать INSTALL_FAILED_UID_CHANGED, но после удаления папки data, ошибка ушла.

для корневых устройств:

выполните следующую команду

adb rm -rf /data/data/<your.package.name>

для некорневого устройства:

  1. изменить ApplicationId приложения. Обратитесь к этому ссылке изменить Ид_приложения.
  2. построить и установить приложение. Приложение будет успешно установлено, потому что оно рассматривается как новое приложение.
  3. теперь удалите это приложение. Что позволит очистить данные.
  4. теперь измените ApplicationId на предыдущий один.
  5. сборка и установка. Магия.. Он будет установлен.

перезагрузите устройство и очистите свой проект. В принципе, удаление сделало бы это для вас в случае, если бы не попытался перезапустить.

вы, вероятно, ввели SharedUserID, который вызывает это.

У меня есть root на моем Nexus 5, но ничего не работало, поэтому мне пришлось запустить заводской сброс из настроек, которые работали.

для меня трюк был сделан, сняв флажок "проверить приложения через USB" в разделе "Параметры разработчика".

в большинстве случаев INSTALL_FAILED_DEXOPT или INSTALL_FAILED_UID_CHANGED означает, что у вас недостаточно места для установки приложения.

удалить некоторые ненужные приложения с вашего устройства или по крайней мере удалить текущую версию приложение.

adb uninstall package-name

в очень редких случаях могут возникнуть проблемы с данными приложения. У вас есть два варианта в зависимости от того, является ли ваше устройство коренится или нет

некорневых

сброс Settings -> Backup and reset -> Factory data reset (по крайней мере для Samsung S5)

Rooted (или эмулятор)

adb shell "rm -rf /data/data/package-name" 

У меня есть другое решение, работающее для меня. Вы можете изменить имя пакета приложения, Так что устройство распознает его как другое приложение и установка завершается успешно. Может быть полезно для тех, кто не имеет корневого доступа, а также не хочет сбрасывать устройство.

это сработало для меня:

adb shell rm -rf /system/app/<package.name>

из оболочки ADB вы можете найти решение двумя способами. 1. сохраните данные и найдите решение и 2. решение без сохранения данных

раствор для 1. выполнить командуadb chown -R UID:UID /data/data/your.package.name через командную строку из пути ADB.

решение для 2. выполнить команду adb rm -r /data/data/your.package.name по тому же пути.

Я испытывал эту проблему в течение последних нескольких дней на моем тестовом устройстве Galaxy Note 3. Я использовал Calabash-Andrdoid и продолжал получать ошибку INSTALL_FAILED_UID_CHANGED, всякий раз, когда метод install_app пытался выполнить. Я боролся с этой проблемой, потому что у меня было два тестовых устройства, испытывающих это. Я пробовал все выше, включая опустошение моего /data/data/ приложения и приложения.тестовые папки. Я даже удалил фоновый материал инструментирования, который Xamarin устанавливает с тех пор это платформа, которую я использовал для разработки своего приложения. Я не мог найти ничего, чтобы вручную удалить с устройства. Когда я попытался сделать свою работу на третьем устройстве и обнаружил, что все работает успешно, я понял, что проблема была с устройствами. В конце концов, единственное, что сработало для меня было выполнить сброс настроек одного из устройств. Надеюсь, это поможет.

спасибо, - Шах

Я подумал, что поделюсь этим, если это кому-то поможет... Я написал новую версию своего приложения в eclipse и попытался запустить его на своем телефоне, несмотря на то, что у меня была немного более старая версия на телефоне, которую я загрузил из Google Play store. Eclipse выскочил диалог с вопросом, был ли я счастлив удалить существующую версию на телефоне, и я согласился. Удаление было неисправным и привело к INSTALL_FAILED_UID_CHANGED.

Я попробовал большинство вещей, предложенных здесь, не повезло. Нет очевидный след APK на моем телефоне или любые файлы данных, которые я мог найти для удаления, но что-то мешало мне загружать APK на телефон из eclipse. Я также не смог загрузить свою предыдущую бета-версию тестирования из Google Play - загрузка продолжалась до 100%, но затем не удалось с сообщением "неизвестная ошибка" и номером (вероятно, -24).

Я не решался переименовать свой пакет, потому что у меня уже есть бета-тестеры и продукты в приложении, настроенные со старым пакетом имя, но я изменил имя пакета в eclipse временно и я смог установить эту новую версию на телефон, а затем загрузить старую версию Google Play. Обе версии сидели счастливо рядом друг с другом на телефоне с тем же именем приложения и значком (но разные имена пакетов за кулисами). Затем я мог бы вручную удалить один или оба, перетащив значок приложения на значок удаления телефона. Ручная деинсталляция удалила конфликт и исправлена дефектная деинсталляция eclipse, поэтому я просто переименовал свой пакет eclipse в исходное имя и продолжил, как и раньше.

Это было гораздо менее болезненно, чем сброс или постоянное переименование. Вероятно, это работает только тогда, когда источником ошибки является конфликт между версией eclipse и версией Google Play, но стоит попробовать, если вы находитесь в подобной ситуации.

ладно, так для моего LG NEXUS 4 rooted вот решение: (

  • убедитесь, что у вас есть где-то ваше рабочее приложение apk подписано или без подписи)

и

  • вы удалили этот файл с вашего телефона (если существует конечно)

скажем так:app-debug-unaligned.apk

теперь в консоли вы пишите:

adb push app-debug-unaligned.apk /sdcard/
adb shell
su
rm -fr /data/local/tmp/app-debug-unaligned.apk
rm -fr /data/data/app-debug-unaligned.apk

теперь выходим из ADB и звоните

adb shell su -c "pm install /sdcard/app-debug-unaligned.apk"

работает?

вот что - то не охвачено существующими ответами. Это происходило со мной на эмуляторе. Если я сброшу пользовательские данные, я получаю INSTALL_FAILED_DEXOPT в первый раз, но INSTALL_FAILED_UID_CHANGED после этого. Я нашел, что rm-r /data/data/com.foo.бар достаточно сбросить в первое состояние.

фактическим виновником в моем случае является имя метода java, которое вызвало сбой dexopt. Обратить самое пристальное внимание на то, что в logcat. Вот что выдало:

I/PackageManager( 1275): Running dexopt on: com.foo.bar
E/dalvikvm( 2857): Invalid name: '__jni_setLocation'
E/dalvikvm( 2857): Trouble with item 14787 @ offset 0x43b68
E/dalvikvm( 2857): Cross-item verify of section type 0005 failed
E/dalvikvm( 2857): ERROR: Byte swap + verify failed
E/dalvikvm( 2857): Optimization failed
W/installd(  941): DexInv: --- END '/data/app/com.foo.bar-1.apk' --- status=0xff00, process failed
E/installd(  941): dexopt in='/data/app/com.foo.bar-1.apk' out='/data/dalvik-cache/data@[email protected]@classes.dex' res=65280
W/PackageManager( 1275): Package couldn't be installed in /data/app/com.foo.bar-1.apk

Я не могу скажите вам, почему dexopt не любит некоторые имена методов, но это была проблема.

просто удалите само приложение (а не папки с данными), а затем переустановите его, и все будет в порядке. Android жалуется, потому что вы, возможно, ранее отладили приложение с другого компьютера.

решение для некорневого устройства. Перейдите в Диспетчер приложений и удалите приложение под названием "Selendroid" и повторите попытку еще раз. Это решение работает для меня.

Я исправлю это, может быть, это будет работать кто-нибудь еще.

Я перезагружаю свой телефон, а затем удаляю еще несколько приложений. И попробуйте еще раз установить, это работа!

возможно, проблема заключается в хранении. Не знаю почему, но теперь это работа. Удачи вам! (Извините за плохой английский)

использовать

adb shell

перейти на Шелл.
Затем запустите следующие команды:

rm-rf/data/data / имя пакета

пожалуйста, повторите имя пакета с вашим собственным, например com.карта.карта

для тех, кто запускает тесты стиля Junit со своего компьютера и получает эту ошибку - в то время как консоль сказала мне, что есть проблема с моим приложение (упаковано в формате ' com.приложение myapp.вещи'), реальная проблема была моя тестовый код пакет, что если вы работаете на устройстве устанавливается как отдельное приложение с именем пакета, как ком.приложение myapp.материал.тест". Удаление тестового кода "приложение" с помощью диспетчера приложений и удаление моего фактического приложения решено проблема для меня. Я публикую этот ответ здесь, чтобы спасти кого-то еще" дух " момент.

та же проблема на устройстве Mediacom, сначала a

$ adb install -r platforms/android/out/android-debug-unaligned.apk
3958 KB/s (22887489 bytes in 5.647s)
     pkg: /data/local/tmp/android-debug-unaligned.apk
     Failure [INSTALL_FAILED_DEXOPT]

тут очень стойкие:

$ adb install -r platforms/android/out/android-debug-unaligned.apk
4949 KB/s (22887489 bytes in 4.515s)
     pkg: /data/local/tmp/android-debug-unaligned.apk
     Failure [INSTALL_FAILED_UID_CHANGED]

выполнение заводского сброса не изменило динамику (я получил обе ошибки, в последовательности).

  • установка одного и того же приложения с другим идентификатором работала
  • установка другого приложения с предыдущим идентификатором не

укоренение не вариант, решение для меня было очистка кэша: теперь оскорбительный идентификатор приложения работает отлично, и мне не пришлось сбрасывать заводские настройки (снова).

надеюсь, что это помогает

Я удалил /data/data/my.package.name и /data/app/my.package.name.apk, проблема все еще сохраняется.

однако я нашел папку /data/user/0/my.package.name, удалите его и проблема решена.

для меня это было немного больше. Просто удаление /data/data/appfolder не помогло.

дополнительная причина заключалась в том, что мои внешние библиотеки не были включены в потому что имя папки lib вместо libs. Это вызвало [INSTALL_FAILED_DEXOPT] во время apk установка следовал по [INSTALL_FAILED_UID_CHANGED].

поэтому изменение имени папки libs сработало для меня в этом случае.

я нашел решение, которое работает на некорневых устройства и на эмуляторе. Хотя вы не можете напрямую удалить папки данных на некорневом устройстве, вы можете использовать для этого:

  1. выполнить adb shell
  2. выполнить pm uninstall <app name> (т. е. com.образец.myapp)
  3. выполнить pm uninstall <test app name> (т. е. com.образец.приложение myapp.тест) - вы можете получить сообщение об ошибке, если тестовое приложение не было установлено ранее.

похоже, что по какой-то причине, когда удаление приложений из пользовательского интерфейса Android это не работает (возможно, он не удаляет папки данных), однако при удалении через pm команда это действительно работает.

попробовал его на "Nexus 5"и на " OnePlus One".

Это очевидно из-за неправильного удаления (вероятно, из-за плохого кабельного соединения).

решение Скачать SDMaid из play-store и удалите файлы трупов (ненужные файлы). Повторно запустите приложение. (Но вам нужно, чтобы ваше устройство было укоренено)

Я столкнулся с подобной проблемой. Резонанс заключается в том, что вы не удалили все компоненты app.My решение есть: удаление/data/data / com.eg.android.AlipayGphone вручную.

работать хорошо для меня.

Я надеюсь, что это полезно для U!

укоренение и сброс настроек не были для меня вариантом, но я смог найти более старую версию моего APK и установить ее (я предполагаю, что это был тот же самый, который не удалось удалить должным образом). После удаления этого снова, я смог установить новые версии.

Comments

    Ничего не найдено.