Sai ошибка apk файл не содержит сертификатов

Как установить файлы apks на Андроид при помощи SAI (Split Apk Installer)

Google Play подталкивает разработчиков к использованию Slit Apks, чтобы уменьшить размер файлов APK и устанавливать только ту архитектуру, которая поддерживается андроид устройством, а не устанавливать вообще.

С тех пор разработчики используют Split Bundles, чтобы уменьшить размер файлов apks, и таким образом многие не могут даже модифицировать игры, но вскоре решение было найдено и проблема решена. На данный момент вы можете установить MODDED Split Apks с помощью инструмента под названием SAI.

SAI — это Split Apks Installer, который вы можете использовать для установки файлов с расширениями .apks и превращать их в апк.

  1. [Скачать Split Apks Installer]
  2. Откройте приложение и нажмите синюю кнопку «Установить APK».
  3. Перейдите к ZIP-файлу, который вы только что загрузили, и выберите файл .apks, который вы только что скачали.
  4. Выберите файл и нажмите синюю кнопку «Выбрать», которую вы видите в правом нижнем углу экрана.
  5. APK начнет устанавливать.
  6. Вы получите всплывающее окно с сообщением, что приложение установлено. Вы можете открыть прямо в нем или перейти на домашний экран, чтобы открыть игру.

Решение неисправностей

Если Вы сталкиваетесь с какими-либо ошибками при установке игры, тогда попробуй следующее:

  • Нажмите на маленькую иконку GEAR, которую вы видите в верхнем левом углу экрана вашего SAI.
  • Теперь включите SIGN Apks
  • Повторите процесс установки.

В операционной системе Andro >

Одной из распространенных ошибок на Андроиде по сей день, остается ошибка при установке приложений, когда вместо инсталляции у вас на экране появляется сообщение «Синтаксическая ошибка». Что это такое? Почему возникает? Как исправить? Непонятно! А вот здесь то мы вам и раскроем все секреты!

Навигация на странице:

Причины появления

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

Вот основные причины возникновения ошибки при синтаксическом анализе пакета:

  1. Файл, который вы пытаетесь скачать, загружен не полностью;
  2. В телефоне установлен запрет на установку приложений из неизвестных источников;
  3. Версия приложения не соответствует версии операционной системы.

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

Сначала нужно определить, в чем же проблема, и почему не устанавливается тот или иной apk файл. Для этого поэтапно проводим все действия, начиная с самых простых.

Разрешаем установку из неизвестных источников

По умолчанию в операционной системе Андроид установка из неизвестных источников запрещена, чтобы пользователь не смог навредить своему смартфону. Дело в том, что сторонние приложения и игры могут содержать вирусы, трояны и прочие зловредные коды.

Вам нужно разрешить установку таких приложений.

    Для этого заходим в «Настройки» аппарата и выбираем пункт «Параметры безопасности».

Здесь находим вкладку «Неизвестные источники» и ставим галочку, чтобы активировать данный пункт!

Все, инсталляция apk файлов, загруженных в смартфон через SD-карту или компьютер, разрешена.

Внимание! Действия, описанные выше, могут навредить вашему устройству. Рекомендуем загружать apk только с проверенных сайтов и обязательно каждый файл проверять через антивирус на компьютере, например, Касперского.

Еще лучше загружать apk на сайт «Вирустотал». Он позволяет осуществлять проверки сразу по 50 популярным антивирусам.

И так, теперь проверяем, исчезла ли синтаксическая ошибка или нет. Нет? Тогда идем дальше!

Перезагрузка файла и проверка целостности

Попробуйте загрузить файл из других источников или используйте другой загрузчик для скачивания данных из интернета. Так как apk-приложения — это, по сути, разновидность архива, иногда они не догружаются до конца, в связи с чем и возникают проблемы.

Если после загрузки приложений из других источников возникает та же проблема, переходим к следующему пункту.

Проверка версии приложения

У каждого apk-файла, как и у приложений в Google Play, имеется своя минимальная версия операционной системы, при наличии которой и будет осуществляться инсталляция. Если версия Андроида ниже, чем рекомендуемая версия устанавливаемого apk, то вполне понятно, почему возникает синтаксическая ошибка.

Для решения этой проблемы есть 3 способа:

  1. Найти версию программы, которая будет соответствовать версии вашего Android;
  2. Обновить ОС на устройстве до максимальной версии, соответствующей приложению;
  3. Искусственно изменить требования версии через специальный инструмент.

Думаю, что в первых двух вариантах все понятно. Мы же специально рассмотрим и третий вариант с использованием отдельной программы, которая позволит нам изменить требуемую версию операционной системы и корректно установить apk файл. Это в основном подходит тем пользователям, у кого установлена старая версия ОС.

Редактирование файла программой APK Editor

Для работы требуется программа APK Editor. Она есть в двух версиях. Нужна Pro версия, так как именно в ней активирована функция редактирования нужных нам параметров. Стоимость на данный момент составляет 159 рублей. Это небольшая цена за такой прекрасный пакет инструментов.

APK Editor Pro — это универсальный и мощный редактор apk-файлов. Позволяет не только менять минимальные версии для приложений, но еще:

  • удалять лишние рекламные объявления;
  • менять фон изображений, макеты, разрешение;
  • русифицировать интерфейс и пункты меню;
  • поменять текст;
  • добавить какие-то свои кнопки и вкладки.

Для простых операций не требуется особых навыков, а вот для сложной модификации приложения уже нужны профессиональные навыки работы с подобными инструментами и знание архитектуры приложений под нашу ОС.

  1. Зайдите в Google Play и скачайте Pro версию на свой смартфон. Откройте программу.
  2. Далее кликните по вкладке «Выберите apk-файл» и укажите путь к приложению, которое не устанавливается на вашем смартфоне.
  3. Нажмите на этом файле и подержите несколько секунд палец, чтобы появилось контекстное меню. В нем выберите пункт «Редактирование ресурсов». Внимание! Здесь может появиться ошибка «Невозможно разобрать apk-файл». Это нормальное явление, которое не влияет на нашу процедуру. Просто проигнорируйте данное оповещение.
  4. Перед вами появится большое количество строчек и подписей на английском языке, но нужно кликнуть по вкладке «Манифест», которая расположена в правом нижнем углу экрана.
  5. Ждете, пока система прогрузит все файлы. Появится большой список строк и различных параметров.
  6. Нужно найти параметр «uses-sdk android:minSdkVersion». Он может быть как в начале списка, так и в середине. Но обычно встречается вначале. Нажмите на него, чтобы появилось меню редактирования. Здесь появится две вкладки, в которых будет написано двухзначное число. Это число и указывает на минимальную версию операционной системы Android, с которой будет работать телефон.

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

Версия операционной системы Код (API) Код версии (название ОС)
Android 5.1 22 LOLLIPOP_MR1
Android 5.0 21 LOLLIPOP
Android 4.4W 20 KITKAT_WATCH
Android 4.4 19 KITKAT
Android 4.3 18 JELLY_BEAN_MR2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
Android 4.1, 4.1.1 16 JELLY_BEAN
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.0.x 11 HONEYCOMB
Android 2.3.4 Android 2.3.3 10 GINGERBREAD_MR1
Android 2.3.2 Android 2.3.1 Android 2.3 9 GINGERBREAD

Как пользоваться этой таблицей? Например, на смартфоне установлена операционная система 4.2.2, а приложение, которое вы загружаете, требует минимальную версию Android — 5.0. Чтобы apk-файл успешно был установлен на смартфоне, в редакторе необходимо изменить параметры на 17 в обеих строчках. И так можно подстроить любое приложение под любую версию операционной системы. Но учтите, что стабильной работы на очень старых Андроидах никто не гарантирует!

Изменили значения? Отлично! Теперь нажимаете кнопку «Сохранить», после чего система обратно переадресует на экран с другими строчками и параметрами. Здесь в верхнем правом углу еще раз нужно кликнуть по вкладке «Сохранить» и дождаться, пока система заново пересоберет файл и сохранит его.

Процесс сборки файла напрямую зависит от объема информации, которая в нем хранится. Чем больше весит apk-файл, тем дольше будет программа компилировать приложение, поэтому ждите до конца и не думайте, что телефон завис!

В конце появится оповещение о том, что apk-файл сохранен, и рядом будет полный путь этого приложения. Можете попробовать установить его из этого же меню, так как будет вкладка «Установить» или можете проследовать через файловый менеджер к папке с сохранением и попробовать инсталлировать приложение оттуда. Если вы все сделали правильно, то установка будет успешной.

Внимание! Файл сохраняется как дубликат вашего apk, поэтому не путайте их! Старый файл так и будет выдавать синтаксическую ошибку, поэтому нужно осуществлять установку нового, созданного в программе APK Editor Pro.

Дополнительные способы решения проблемы

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

  1. Включаем отладку по USB. В некоторых случаях такой подход позволяет решить проблему, но это не панацея, и шанс не особо велик. Для включения этой опции нужно зайти в «Настройки» своего аппарата и кликнуть по вкладке «О телефоне». Прокрутите полосу вниз, пока не найдете пункт «Номер сборки». Кликните по нему 7 раз, чтобы активировать режим разработчика. Теперь переходите обратно в «Настройки» и прокручиваете еще раз вниз, пока не дойдете по пункта «Меню разработчика». В нем находите пункт «Отладка по USB» и активируете.
  2. Отключение антивирусов. Иногда установка не осуществляется из-за антивируса, который установлен у вас в смартфоне. Порою сигнатуры, которые подаются антивирусом, ложные, и файл блокируется просто так. Но это единичные случаи. Если действительно уверены, что данный apk-файл — безопасный, отключайте антивирус и попробуйте инсталлировать приложение.

Внимание! Пункты меню в Android могут отличаться, и в некоторых версиях «Отладка по USB» может находиться в других каталогах или вкладках, вызываться другими действиями, но во всех версиях Андроида она присутствует!

То, о чем молчат другие источники

Еще один небольшой совет. Если все описанные способы не помогли, скорее всего, проблема в самом приложении, которое вы пытаетесь установить. Быть может, разработчик «собрал» файл с битыми файлами или ошибся в коде, из-за чего и возникают подобные проблемы.

Обязательно поищите в интернете, удалось ли кому-то из пользователей установить эту программу на свой смартфон или нет. Скорее всего, вас таких много!

Заключение

Мы перечислили основные способы устранения синтаксической ошибки на смартфоне под управлением Андроид, и в 99% случаев один из них точно поможет решить проблему. Но при этом советуем загружать приложения только из Google Play или на сайтах, у которых хорошая репутация (можно понять по отзывам пользователей).

Если же проблема так и не разрешилась, напишите в комментариях свою модель телефона, версию Android и название приложения, которое вы решили установить!

Проект, который я пытался запустить, настроен на уровень minSDK 7. Я использовал вышеприведенное сообщение об ошибке при запуске виртуального устройства Android 5554. (Другие устройства работают хорошо). Он работает так медленно, и слишком много времени, чтобы запустить домашний экран, даже не запускается. В конце он дает эту ошибку:

Не удалось установить * .apk на эмулятор устройства-5554: EOF

Я несколько раз перезапускал свой компьютер и Eclipse, а также чистые проекты. Я также пробовал это Почему Android-эмулятор настолько медленный? Как мы можем ускорить разработку эмулятора Android? Чтобы оно было исправлено. Вчера он работал очень хорошо. Теперь это так сладко.

Любое предложение или помощь? спасибо

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

  1. Запустите его снова. (Просто попробуйте повторить его).
  2. Project-> Clean (очистить проект и любые проекты, на которые он опирается).
  3. Щелкните правой кнопкой мыши проект в проводнике пакетов, затем закройте его. Затем закройте Eclipse. Затем снова откройте их.
  4. То же, что и предыдущий шаг плюс Project-> Clean.
  5. Перезагрузите AVD.
  6. Удалите AVD. Затем зайдите в папку, в которой находится AVD в папке Android-Sdk, и удалите что-либо с именем AVD (файл плюс папка). Возможно, вам придется перезагрузить компьютер, чтобы удалить его. Создайте новый AVD.

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

Возможно, что нарисованы следующие сообщения DeviceMonitor] Попытки подключения: 1 DeviceMonitor] Попытки подключения: 2

Решение:

  1. Запустите эмулятор (отдельно) и дождитесь полной загрузки.
  2. Откройте блокировку клавиатуры.
  3. Перейдите в Eclipse и запустите приложение.

Причина проблемы: эмулятор Android не загрузил все его библиотеки, которые обрабатывают установку нового приложения, и из-за этого вы запускаете java.io.IOException: EOF

Это вызывало у меня проблему.

Вы можете попробовать следующее:

Это сработало для меня. Я попробовал это на эмуляторе в затмении. Это займет некоторое время, прежде чем приложение будет запущено. Для меня это заняло 33 секунды. Подождите, пока сообщение в консоли не сообщит «Успех!».

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

По моим сведениям, есть два пути решения проблемы.

Удалите .apk, который снова регенерируется после компиляции, и снова протестируйте эмулятор.

Удалите эмулятор и создайте новый эмулятор помимо своего приложения.

Я думаю, что это работает … если нет, то, пожалуйста, проверьте свой logCat, который покажет вам фактическую ошибку и попытается ее решить ….

Надеюсь, это вам поможет ………

Я получал эту проблему из-за проблем с кодированием. Чтобы исправить это, вы можете (используя eclipse 3.6. STS)

  • Щелкните правой кнопкой мыши по проекту, выберите свойства, выберите «Ресурс» (первый вариант на экране свойств)
  • В разделе «Текстовое кодирование файлов» выберите «Другие» -> UTF-8
  • Нажмите кнопку «Применить» и продолжайте работу «Хорошо».

.apk загружается отлично.

Попробуйте window-> show view-> devices-> view menu-> Сбросить adb и снова запустить приложение.

По-моему, вы должны удалить этот AVD и создать новый для API-7. Это будет нормально работать, если не сообщите мне, я пришлю вам еще несколько решений.

  1. Удалите apk из эмулятора.
  2. Попробуйте снова запустить приложение из Eclipse.
  3. Проверьте версию Минимальной версии Android SDK и попробуйте запустить ее в созданном эмулятором AVD Manager.

Он будет работать определенно …

Просто закройте эмулятор eclipse и avd и перезапустите его. Он отлично работает

Я столкнулся с той же проблемой, но я попытался изменить тайм-аут соединения ADB. Я думаю, что по умолчанию это 5000 мс, и я поменял мой на 10000 мс, чтобы избавиться от этой проблемы. Если вы находитесь в Eclipse, вы можете сделать это, перейдя через Window -> Preferences, а затем в DDMS под Android.

Ни один из них не помог мне, вместо этого я подключил свой телефон через задние USB-концентраторы (раньше я использовал USB-концентраторы), и это помогло мне!

В моем случае я использовал эмулятор размера табуляции (7 «) для тестирования приложения. Но он дал мне« Не удалось установить xxxxx.apk на эмулятор устройства-5554! «И запуск отменен.

Единственным работающим решением для меня был установлен бит размера бит эмулятора (1512 МБ) и размер кучи VM до 36 .

После этого он работал как шарм.

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

  • Не запускать эмулятор Android
  • Щелкните правой кнопкой мыши Project> Run As> Android-приложение

И затем эмулятор Android автоматически запускается

Решение заключается в том, что вам нужно изменить значение тайм-аута как минимум на 15000 мс (миллисекунды), так как милли меньше секунд, оно будет в экземпляре .. нет необходимости перезапускать. Мы должны дать некоторое время, чтобы эмулятор загрузил файлы для полного запуска. Это зависит от наших системных конфигураций. Перейдите в windows->perspectives->android->DDMS->timeout до 15000.

Это сработает … измените время, если оно не работает. Увеличьте размер кучи и попытайтесь управлять минимальным уровнем Api.

Я решил проблему, перезапустив Eclipse, затем Project -> build all

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

В отличии от iOS и других закрытых систем, разработчики Android предусмотрели возможность установки разнообразных приложений самостоятельно, без участия Google Play Store и других магазинов контента. Имея на руках .apk файл вы сможете самостоятельно установить платное приложение, при этом не заплатив за него ни копейки.

«Зачем прибегать к самостоятельной установке с помощью .apk файлов?» — спросите вы, а затем, что не все приложения представлены в Google Play Store и к тому же большая часть из них платная и стоит денег. Все приложения для Android имеют расширения .apk — по сути это своеобразный архив, содержимое которого можно просмотреть любым архиватором.

С чего начать?

Первое действие, которое вам необходимо выполнить — это разрешить установку приложений из неизвестных источников, переходим Настройки/Settings -> Приложения/Application Settings и ставим галочку напротив пункта Неизвестные источники/Unknown Sources и нажимаем OK.

1. Установка приложений с помощью файлового менеджера

После этого несложного действия можно скопировать .apk файл на SD карточку вашего телефона. Далее, для установки приложения, вы можете воспользоваться любым файловым менеджером, которые распознают и понимают apk файлы. Для этих целей подойдут ASTRO File Manager [8.90 Мб] или ES File Explorer [4.75 Мб].

Запустите файловый менеджер, найдите apk файл, тапните по нему и установите приложение с помощью стандартного установщика Android.

2. Установка приложений с помощью менеджера приложений

Кроме того, для упрощения процедуры установки приложений для Android существуют специальные программы — менеджеры приложений. Одна из таких программ — SlideME Mobentoo App Installer [4.63 Мб].

Этот популярный менеджер приложений для Android самостоятельно просканирует SD карту вашего смартфона на предмет наличия apk файлов и поможет вам быстро, в один клик, установить требуемое приложение. Не правда ли удобно?

3. Установка приложений с помощью компьютера и USB

Однако самый удобный способ установки приложений для Android с помощью подключения смартфона к компьютеру по USB кабелю. Для этого, вам потребуется программа InstallAPK [0.8 МБ] и драйверы USB [3.13 Мб]. Установите ее на компьютер, не забудьте про драйверы, подключите Ваш смартфон по USB кабелю и дважды щелкните по apk файлу.

InstallAPK самостоятельно идентифицирует apk файл и запустит установку приложения на вашем Android телефоне. Вам нужно будет только согласиться с установкой приложения и нажать кнопку «Установить».

4. Другие способы установки приложений для Android

В случае, если вы не хотите устанавливать никаких дополнительных программ, то установить приложение из apk файлов можно старым, дедовским способом. Запустите стандартный браузер Android и введите в адресной строке браузера следующую ссылку и установка запустится автоматически:

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

Заключение

В данной статье мы постарались описать все известные нам способы установки приложения для Android из apk файлов. В случае, если вы знаете другие способы установки программ — напишите нам о них в комментариях и мы обязательно включим данные способы в эту статью. Оставайтесь с нами.

Apk должен быть подписан с теми же сертификатами, что и предыдущая версия

Некоторое время назад я загрузил свое приложение в Google Play (когда он был назван Android Market).

Сегодня я обновил приложение, но я удалил предыдущее хранилище ключей и создал новый.
При загрузке говорится, что APK должен быть подписан с теми же сертификатами, что и предыдущая версия:

Вы загрузили APK, который подписан другим сертификатом для ваших предыдущих APK. Вы должны использовать тот же сертификат.

Ваши существующие APK подписаны с сертификатом (-ами) с отпечатками пальцев:
[SHA1: 89: 2F: 11: FE: CE: D6: CC: DF: 65: E7: 76: 3E: DD: A7: 96: 4F: 84: DD: BA: 33]
И сертификат (ы), используемый для подписания APK, который вы загрузили, имеет отпечатки пальцев:
[SHA1: 20: 26: F4: C1: DF: 0F: 2B: D9: 46: 03: FF: AB: 07: B1: 28: 7B: 9C: 75: 44: CC]

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

Что я могу сделать, чтобы подписать мое приложение с новым сертификатом?

Ничего. Прочтите документацию: публикация обновлений на Android Маркете

Перед загрузкой обновленного приложения убедитесь, что вы увеличили атрибуты android: versionCode и android: versionName в элементе файла манифеста. Кроме того, имя пакета должно быть одинаковым, а .apk должен быть подписан с тем же закрытым ключом. Если имя пакета и сертификат подписи не соответствуют требованиям существующей версии, Market рассмотрит это новое приложение и не будет предлагать его пользователям в качестве обновления.

Вы по ошибке подписали ключ отладки?

Google Play не позволяет публиковать приложение, подписанное с вашим хранилищем отладки. Если вы попытаетесь загрузить такой APK, Google Play завершится с сообщением «Вы загрузили APK, который был подписан в режиме отладки. Вам нужно подписать APK в режиме деблокирования».

Однако, если вы попытаетесь загрузить обновление, подписанное с хранилищем отладки, вы не увидите это сообщение; В Google Play отобразится сообщение, указанное в вопросе, ссылаясь на отпечатки SHA1.

Итак, во-первых, проверьте, по ошибке ли вы подписали приложение с вашим отладочным ключом.

Как проверить, какие ключи подписки были использованы?

Соберите информацию из APK

Вы можете проверить, с какими сертификатами был подписан оригинальный APK и APK обновления, с помощью этих команд, используя Java keytool :

Это показывает подробную информацию о том, как APK был подписан, например:

Важные части, которые следует отметить здесь – для каждого APK – это значение отпечатка SHA1, значение идентификатора владельца и даты « Действительный от / до дат».

Если эта команда -jarfile не работает (для параметра -jarfile требуется Java 7), вы можете получить более основную информацию с помощью команды jarsigner :

Это, к сожалению, не показывает отпечаток SHA1, но показывает идентификатор владельца X.509 вместе с датами истечения срока действия сертификата. Например:

Вы можете игнорировать любое сообщение «CertPath not validated», а также предупреждения о цепочках сертификатов или временных меток; В этом случае они не актуальны.

Сравните значения владельца, SHA1 и Expiry между APK

Если значением Owner / X.509 является CN=Android Debug, O=Android, C=US , то вы подписали APK с вашим отладочным ключом , а не с исходным ключом релиза

Если значение отпечатка SHA1 отличается от исходного и обновленного APK, тогда вы не использовали один и тот же ключ подписи для обоих APK

Если значения идентификатора Owner / X.509 отличаются друг от друга, или даты истечения срока действия сертификата отличаются между двумя APK, тогда вы не использовали один и тот же ключ подписи для обоих APK

Обратите внимание, что даже если значения Owner / X.509 идентичны между двумя сертификатами, это не означает, что сертификаты идентичны – если что-то еще не соответствует – например, значения отпечатка пальца – тогда сертификаты отличаются.

Поиск исходного хранилища ключей, проверка резервных копий

Если у двух APK есть разные данные сертификата, вы должны найти оригинальное хранилище ключей, то есть файл с первым значением отпечатка SHA1, которое вам сказал Google Play (или keytool ).

Поиск по всем файлам хранилища ключей, которые вы можете найти на своем компьютере, и в любых резервных копиях, которые у вас есть, до тех пор, пока вы не получите тот, у кого есть правильный отпечаток SHA1:

Просто нажмите Enter, если будет предложено ввести пароль – вам необязательно вводить его, если вы просто хотите быстро проверить значение SHA1.

Я не могу найти исходное хранилище ключей где угодно

Если вы не можете найти оригинальное хранилище ключей, вы никогда не сможете публиковать обновления для этого конкретного приложения.

Android упоминает это явно на странице « Подписание вашего приложения» :

Предупреждение. Храните хранилище ключей и секретный ключ в безопасном и безопасном месте и убедитесь, что у вас есть надежное резервное копирование. Если вы опубликуете приложение в Google Play, а затем потеряете ключ, с которым вы подписали приложение, вы не сможете публиковать какие-либо обновления для своего приложения, так как вы должны всегда подписывать все версии вашего приложения с тем же ключом.

После первого выпуска APK все последующие релизы должны быть подписаны с помощью одного и того же ключа.

Могу ли я извлечь исходный ключ подписи из оригинального APK?

Нет, это невозможно. APK содержит только общедоступную информацию, а не информацию личного ключа.

Могу ли я перейти на новый ключ подписи?

Нет. Даже если вы найдете оригинал, вы не можете подписывать APK с ключом A, а затем подписывать следующее обновление с помощью обоих ключей A и B, а затем подписывать следующее обновление после этого только с помощью клавиши B.

Подписание APK (или любого файла JAR) с несколькими ключами технически возможно, но Google Play больше не принимает APK с несколькими сигнатурами.

Попытка сделать это приведет к сообщению «Ваш APK был подписан с несколькими сертификатами. Пожалуйста, только подписывайте его одним сертификатом и загружайте его снова».

Что я могу сделать?

Вам нужно будет создать приложение с новым идентификатором приложения (например, изменить с «com.example.myapp» на «com.example.myapp2») и создать новый список в Google Play.

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

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

Опять же, убедитесь, что у вас есть надежное резервное копирование хранилища ключей и паролей, которые вы используете для этой версии.

Ничего – Google ясно говорит, что приложение идентифицировано ключами, которые его подписывают. Следовательно, если вы потеряли ключи, вам нужно создать новое приложение.

Если у вас есть предыдущий файл apk с вами (резервное копирование), используйте jarSigner для извлечения сертификата из этого apk, затем используйте этот ключ или используйте keytool для клонирования этого сертификата, возможно, это поможет … Полезные ссылки: jarsigner docs и keytool docs ,

Здесь я получаю ответ на этот вопрос. После долгого поиска, наконец, я могу взломать ключ и пароль для этого. Я забыл свой ключ и псевдоним также файл jks, но, к счастью, я знаю кучу пароля, что я вложил в него. Но найти правильные комбинации для этого было для меня самой сложной задачей.

Решение – скачайте это – плагин Keytool IUI версии 2.4.1

Появится окно с псевдонимом. Если вы правильно указали файл jks. Щелкните правой кнопкой мыши по псевдониму и нажмите «Просмотреть цепочку сертификатов». Он покажет ключ SHA1. Соответствует этому ключу с помощью ключа, который вы получаете Пока вы загружали apk в магазин приложений Google …

Если он соответствует, то вы находитесь с правильным файлом jks и псевдонимом.

Теперь повезло, у меня есть куча пароля для соответствия.

Теперь перейдите к этому scrren, поместите тот же путь jks .. и пароль (среди вашего пароля) поместите любой путь в «Файл сертификата»,

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

Сегодня я столкнулся с одной и той же проблемой, к сожалению, у меня было два псевдонима в файле хранилища ключей.

Я решил проблему путем изменения запятой в точку (1,5 на 1,5). См. Пример:

источники:

http://web-shpargalka.ru/apk-ne-udalos-vypolnit-ustanovku.php

http://www.ohandroid.com/apk-5.html

вы подписали с ключом отладки по ошибке?

Google Play не позволяет публиковать приложение, подписанное хранилищем ключей отладки. Если вы попытаетесь загрузить такой APK, Google Play потерпит неудачу с сообщением «вы загрузили APK, который был подписан в режиме отладки. Вам нужно подписать APK в режиме выпуска.»

однако, если вы попытаетесь загрузить обновление который подписан с хранилищем ключей отладки, вы будете не видите это сообщение; Google Play отобразит сообщение, показанное в вопросе, со ссылкой на отпечатки пальцев SHA1.

Итак, во-первых, проверьте, подписали ли вы приложение с ключом отладки по ошибке.


Как проверить, какие ключи подписи были использованы?

соберите информацию из APK

вы можете проверить, с какими сертификатами были подписаны исходный APK и update APK, используя эти команды, используя Java keytool:

keytool -list -printcert -jarfile original.apk
keytool -list -printcert -jarfile update.apk

это показывает вам подробную информацию о том, как был подписан APK, например:

Owner: CN=My App, O=My Company, L=Somewhere, C=DE
Issuer: CN=My App, O=My Company, L=Somewhere, C=DE
Serial number: 4790b086
Valid from: Mon Nov 11 15:01:28 GMT 2013 until: Fri Mar 29 16:01:28 BST 2041
Certificate fingerprints:
  MD5:  A3:2E:67:AF:74:3A:BD:DD:A2:A9:0D:CA:6C:D4:AF:20
  SHA1: A6:E7:CE:64:17:45:0F:B4:C7:FC:76:43:90:04:DC:A7:84:EF:33:E9
  SHA256: FB:6C:59:9E:B4:58:E3:62:AD:81:42:...:09:FC:BC:FE:E7:40:53:C3:D8:14:4F
         Signature algorithm name: SHA256withRSA
         Version: 3

важные части, чтобы отметить здесь-для каждого APK-являются в SHA1 значение отпечатков пальцев,владелец значение идентификатора, и действующий от/до даты.


если это keytool команда не работает (тег -jarfile опция требует Java 7), Вы можете получить более подробную информацию через :

jarsigner -verify -verbose:summary -certs original.apk
jarsigner -verify -verbose:summary -certs update.apk

к сожалению, это не показывает отпечаток SHA1, но показывает личность владельца X. 509 вместе с датами истечения срока действия сертификата. Например:

sm  4642892 Thu Apr 17 10:57:44 CEST 2014 classes.dex (and 412 more)

    X.509, CN=My App, O=My Company, L=Somewhere, C=DE
    [certificate is valid from 11/11/13 12:12 to 29/03/41 12:12]
    [CertPath not validated: Path does not chain with any of the trust anchors]

вы можете игнорировать любое сообщение «CertPath не проверено», а также предупреждения о цепочках сертификатов или временных метках; они не актуальны в этом случае.

сравните владельца, SHA1 и значения истечения срока действия между APKs

  • если владелец/Х. 509 значение идентификатора CN=Android Debug, O=Android, C=US, то вы подписали APK с вашим ключ debug, не оригинальный ключ релиз

  • если в SHA1 значение отпечатка пальца отличается от исходного и обновления APKs, то вы сделали не используйте один и тот же ключ подписи для обоих APKs

  • если владелец/Х. 509 значения идентификаторов различны, или даты истечения срока действия сертификата отличаются между двумя APKs, тогда вы сделали не используйте один и тот же ключ подписи для обоих APKs

обратите внимание, что даже если значения Owner/X. 509 идентичны между двумя сертификатами, это не означает, что сертификаты идентичны — если что — то еще не соответствует — например, значения отпечатков пальцев-тогда сертификаты разные.


Поиск оригинальное хранилище ключей, проверьте резервные копии

если два APKs имеют различную информацию сертификата, то вы должны найдите исходное хранилище ключей, т. е. файл с первым значением отпечатка SHA1, которое Google Play (или keytool) сказали Вы.

поиск по всем файлам хранилища ключей вы можете найти на вашем компьютере, и в любых резервных копий у вас есть, пока у вас есть один с правильным отпечатком SHA1:

keytool -list -keystore my-release.keystore

просто пресс Enter при запросе пароля — вам не обязательно вводить его, если вы просто хотите быстро проверить значение SHA1.


Я не могу найти оригинальное хранилище в любом месте

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

Android упоминает об этом явно на Подписание Заявления страницы:

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

после первого выпуска APK все последующие выпуски должны быть подписаны с точно таким же ключом.


могу ли я извлечь оригинальный ключ подписи из оригинального APK?

нет. Это невозможно. APK содержит только общедоступную информацию, а не информацию о вашем частном ключе.


можно ли перейти на новый ключ подписи?

нет. Даже если вы найдете оригинал, вы не можете подписать APK с ключом, то знак следующего обновления с ключами A и B, то знак следующего обновления После что с ключ только Б.

подписание APK (или любого файла JAR) с несколькими ключами-это технически возможно, но Google Play больше не принимает APKs с несколькими подписями.

попытка сделать это приведет к сообщению » ваш APK был подписан с несколькими сертификатами. Пожалуйста, подпишите его только одним сертификатом и загрузите его снова.»


что я могу сделать?

вам придется создать приложение с новым идентификатором приложения (например, изменить с » com.образец.myapp «to» com.образец.myapp2″) и создать новый список в Google Play.

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

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

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

[Question] ‘APK file doesn’t contain any certificates’ error

Greetings. I never heard of YouTube Vanced before, so I definitely want to try it out on my phone. Since I am using a custom ROM, I already had installed Magisk as system app in the first place. I have downloaded the latest version of Vanced (15.05.54) for Root/Legacy variant, successfully deployed Smali Patcher module in Magisk and installed SAI app from Play Store.

But when I try to install the .apks file in SAI, I came across an error about the app not being installed because of certificates. Here’s what the error said:

Rooted installed error: Device: samsung SM-N910C | Not MIUI | Android 9 | Using ZipApkSource ApkSource implementation | SAI 3.9

APK file doesn’t contain any certificates

Command: pm install-commit 1305494973 Exit Code: 4 Out: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl1305494973.tmp/70.apk: /data/app/vmdl1305494973.tmp/70.apk failed verification of META-INF/CERT.SF: Failed to verify signature: no verified SignerInfos]

Err:

I even resorted to non-root method using microG and the .apk of Vanced, but it still didn’t work. Is there something that I did wrong or do I missed an important step?

Archived post. New comments cannot be posted and votes cannot be cast.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username
Email Address
Password

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

in Android Studio I generated a signed APK with keystore and so on. While installing the APK onto a device it fails with ‘App could not be installed’ and in Android Monitor I saw the following line:

Package com.my.app has no certificates at entry AndroidManifest.xml; ignoring!

Does anybody know what’s wrong?

Dmitry Ryadnenko's user avatar

asked Jun 6, 2017 at 9:37

oga's user avatar

5

Try to signed your APK with version 1. Version 2 signed APK only
compatible from 7.0 so it will not working on below 7.0 devices or try
to generate v1 and v2 version APK.

[ Note: When you generate signed apk for above 7.0 devices and below 7.0 devices then please check v1 and v2 both option. ]

Here is the reference link for more about V2 version and here is the link for overview.

Try this out and Your issue will resolved.

Community's user avatar

answered Jun 6, 2017 at 10:26

Andy Developer's user avatar

Andy DeveloperAndy Developer

3,0711 gold badge19 silver badges39 bronze badges

0

ˇИнструкция по установке apks

без ROOT ROOT

  1. Скачать SAI Ⅳ | SAI Google Play
  2. Установить SAI, открываем
    (по умолчанию стандартный Rootless)
    Не обязательно, только если проблемы возникают
  3. Дальше:
    • Скачать apks файл
    • в SAI Выбираем — > Вкладка «Установка«, «Установить APK«
    • Всплывает выбор Файлпикера: рекомендую использовать «Встроенный файлпикер» (это файловый менеджер приложения SAI)
    • Переходим по пути куда скачан apks, Выбираем его
    • Началась чтение apks — >. Ждем.
    • После установщик начнёт установку

В последних версиях появилась функция настройки «Режим PRO»

Данный режим позволяет выбрать части split apk перед установкой.

Прикрепленное изображение

Прикрепленное изображение

    Rootless используется встроенный в систему Установочник (стандартный)

Прикрепленное изображение

Прикрепленное изображение

Перед установкой нужно разблокировать возможности Для разработчиков и отключить «Оптимизация MIUI»
(при запуске SAI, программа об этом сообщает)

На кастомных не всегда обязательное действие

Прикрепленное изображение

Проверено на Xiaomi Redmi Note 7 ( лично)

Установка apks * не возможна из-за системы Flyme.
Установщик Flyme не даёт ставится сплитам apks , так как он все равно имеет приоритет над SAI.

На кастомных прошивках установка может работать стандартно, но если есть ROOT, не будет лишним использовать Rooted установщик.

  1. Скачать из Google play
  2. Настроить SAI с использованием Shizuku установщика (подробнее)
  3. Настроить SAI с использованием ROOT установки. ( Только для рутированных устройств )

Сообщение отредактировал mahovmm47 — 23.05.20, 19:06

Прикрепленное изображение

Прикрепленное изображение

Сообщение отредактировал Макс.hackdog — 18.06.20, 03:22

фа соль, Google придумали такую фичу 😀 Скажем дружно, спасибо Google.

Добавлено 16.07.2020, 15:59:

koctik-2017, Так а всё что ниже Android 5, можно установить/скачать apk формат

Прикрепленное изображение

Если у приложения минимальный SDK ниже 5-го андроида и оно бесплатное: https://apk.support/apk-downloader
В поле ввода вставляешь ссылку на приложение в маркете, в Android выбираешь минимально поддерживаемую версию, в Device:
1) Samsung phones — Samsung Galaxy A6, чтобы выдало монолитный apk для armeabi-v7a-архитектуры
2) Xiaomi phones — Redmi Note 7, чтобы выдало монолитный apk для arm64-архитектуры
3) Asus phones — для x86-архитектуры
Хотя аппараты можешь свои указывать, если надо. Эти лично я указываю, другие не смотрел.
Также этот сервис можно использовать и с приложениями, у которых минимальный SDK выше 5-го андроида. Качаешь получившиеся сплиты как архив, можешь даже под разные устройства насобирать конфигурации, и собираешь всю эту кашу через SAP или AntiSplit-G2. Только подпись изменяется.

Если у приложения минимальный SDK ниже 5-го и оно платное (купленное): Aurora Store
(upd: для игр и приложений с поддержкой 5-го андроида и выше иногда тоже можно достать монолитный apk, главное профиль имитации подобрать правильно)

Устанавливаешь, заходишь через гугл-аккаунт, в настройках пункт Установка > отключить Автоматическая установка и Удалять APK после установки.
Потом Имитация > Подмена информации об устройстве. Выбирай аппараты с api 25 или ниже, под какие они архитектуры снизу указано будет. Приложение скажет, что в него нужно перезайти, чтобы принять изменения. Если после этого все равно качается апк не той архитектуры (или не монолитный), нужно перелогиниться в сам гугл-аккаунт.
Кстати, вот дополнительные профили имитации, вдруг пригодятся: тык (распаковать только файлы с форматом .properties, их переместить в папку Aurora).
Дальше на странице приложения нажимаешь на три точки на верхней панели > Загрузить вручную, если приложение уже установлено и тебе нужно достать только apk обновленной версии. Если не установлено, просто по большой синей кнопке тыкай.

Ответы на распространенные вопросы о подписании приложений в Google Play

Приложения для Android имеют криптографическую подпись разработчика. С ее помощью менеджер пакетов на устройстве пользователя может проверить, что каждое обновление приложения происходит из одного и того же источника, и что оно не было подделано. Google Play также применяет эту проверку подписи, когда вы загружаете свой APK-файл на консоль Google Play, так что даже если бы у кого-то были ваши учетные данные для входа, было бы невозможно отправить вредоносное обновление, не имея также доступа к вашему закрытому ключу.

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

В настоящее время у разработчиков есть привлекательная альтернатива для управления ключами самостоятельно: подписание приложения на Google Play, где ключ загрузки (тот, который вы используете, чтобы загрузить свои артефакты в Google Play) и ключ для подписи приложения (который используется для подписи APK-файлов, распространяющихся на устройства) могут быть разными, и второй ключ хранится на Google инфраструктуре.

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

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

Этот совет основан на вопросах, которые наша команда по связям с разработчиками слышала на конференциях, в онлайн-форумах и наших чатах 1:1.

Давайте начнем с самой убедительной причины для перехода на подписание приложений с помощью Google Play:

Без подписи приложения в Google Play: благодаря защите безопасности, встроенной в Android, без ключа вы или Google ничего не можете сделать для продолжения обновления вашего приложения. Ваш единственный вариант — это создать новый список с новым именем пакета и начать с нуля.

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

Если бы я назвал одну причину, которая говорит за принятие подписи приложения, то это была бы та, что выше. Но прежде чем мы пойдем дальше и поговорим о конкретных сценариях, которые этот метод может помочь исправить (есть и другие!), давайте сначала сделаем паузу, чтобы ответить на мета-вопрос:

Первым приоритетом Google Play является создание безопасной и надежной платформы для миллиардов пользователей и миллионов разработчиков.

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

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

Например, ряд приложений, находящихся в настоящее время в Play Store, до сих пор не приняли более безопасную схему подписи v2. После регистрации в приложении подписи от Google Play приложения автоматически получают преимущества новых механизмов защиты и будущих улучшений, без необходимости работы разработчика.

И наконец, разделение формата публикации (с использованием пакетов приложений для Android) и формата обслуживания (разделенные APK) открывает преимущества как для разработчиков, так и для пользователей: от повышения безопасности до оптимизации, снижения сложности и фрагментации. Однако для этого Play должен иметь возможность подписывать обслуживающие артефакты.

Некоторые примеры функций, доступных прямо сейчас, — это автоматическая оптимизация размера для доставки приложений, а также новые настраиваемые параметры доставки модулей в вашем приложении.

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

Несмотря на то, что мы продолжаем совершенствовать наш стек обслуживания, мы не изменяем и не распространяем код вашего приложения без вашего ведома и одобрения, и новые оптимизации, которые выполняет Play, доступны для вашего контроля в bundletool с открытым исходным кодом. Далее в этом часто FAQ мы обсудим некоторые метаданные (те, которые не влияют на работу вашего приложения), которые вы можете увидеть между артефактами, загруженными из Play и созданными локально.

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

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

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

Рассмотрите включение подписи приложения сейчас и как можно скорее переключитесь на использование отдельного ключа загрузки, что снизит вероятность компрометирования ключа подписи приложения.

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

Обратите внимание, что текущий процесс обновления ключа не использует преимущества функции ротации ключа, введенной в Android 9 (Pie) и выше. В настоящее время мы изучаем поддержку ротации ключей с помощью подписи приложения версии 3 для устройств на этих версиях ОС и сообщим об этом сообществу разработчиков, как только оно будет готово, в отдельном объявлении.

Без подписи приложения в Google Play: нет никакой концепции отдельного “ключа загрузки”, поэтому, если ваш ключ подписи выпуска утечет, вы можете оказаться в большой беде: кто-то может создать вредоносные или несанкционированные версии вашего приложения, которые будут неразличимы (и обновляемы!) от вашего оригинального APK.

Конечно, защита учетной записи Google применяется к доступу к консоли Google Play (и мы рекомендуем разработчикам включить 2-ступенчатую проверку), поэтому злоумышленнику все равно придется найти способ обмануть пользователя, чтобы он загрузил такой измененный APK. Тем не менее безопасность вашего приложения ослаблена.

Обратитесь к вопросу 3 о скомпрометированном ключе подписи приложения, чтобы узнать, какие исправления доступны, а также как обновить ключ для новых установок.

С подписью приложения в Google Play: если ваш ключ загрузки отделен от ключа подписи приложения (рекомендованный вариант), и просочился только первый, то данные ваших пользователей будут в безопасности — одного ключа загрузки недостаточно, чтобы подменить APK, подписанные ключом подписи приложения. Просто запросите новый ключ загрузки.

Если вы продолжили использовать ключ подписи приложения для загрузки в Play, когда вы впервые включили подпись приложения, и он просочился, вы находитесь в немного худшей ситуации, но подпись приложения все еще может исправить эту проблему. Следуйте советам о том, как обновить свой ключ для новых установок.

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

Если вы предвидите ситуацию, в которой вам потребуется постоянный доступ к ключу подписи вашего приложения, вам следует сделать следующее при включении подписи приложения:

· Не выбирайте опцию, в которой Google Play создает ключ подписи приложения за вас. Вместо этого создайте свой ключ подписи локально на вашем компьютере.

· Надежно перенесите свой ключ в Google Play и не удаляйте его с вашего компьютера.

· Храните ключ в надежном месте, чтобы он не просочился к третьим лицам.

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

Эти шаги описаны в документации. В инструкции о том, как ”выбрать существующее приложение”, показано, как зашифровать свой ключ подписи, чтобы загрузить его на консоль Google Play из Android Studio или командной строки.

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

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

Если вы включаете подпись приложения для нового приложения и выбираете опцию создания нового ключа в консоли Google Play, ключ никогда не передается и генерируется непосредственно на защищенном сервере Google.

Если вам нужно передать существующий ключ подписи (необязательно для новых приложений и обязательно для существующих приложений), вы всегда делаете это в зашифрованном виде. Независимо от того, экспортируете ли вы ключ из Android Studio или из командной строки, вы будете использовать инструмент шифрования закрытого ключа Play (PEPK) локально на вашем компьютере перед передачей ключа.

В случае, если вам нужно знать детали используемого шифрования, PEPK использует асимметричное шифрование эллиптической кривой P256 с симметричным шифрованием AES. Если вам нужно получить более подробную информацию, вы можете загрузить инструмент PEPK и его исходный код во время процесса регистрации подписи приложения.

Не стесняйтесь просматривать или компилировать его самостоятельно, чтобы он мог быть запущен в вашей собственной безопасной среде, гарантируя, что незашифрованный ключ никогда не будет раскрыт.

Используйте только версии PEPK, загруженные с консоли Google Play, никогда не загружайте его или его источник с непроверенных сторонних веб-сайтов.

Когда вы используете подпись приложения в Google Play, ваши ключи хранятся в той же инфраструктуре, где и Google хранит свои собственные.

Доступ к ключам регулируется строгими ACL и аудиторскими следами с защитой от несанкционированного доступа для всех операций.

Все артефакты, созданные и подписанные ключом разработчика, становятся доступными в консоли Google Play для проверки/аттестации.

Кроме того, чтобы предотвратить потерю ключей, мы очень часто делаем резервные копии нашего основного хранилища. Эти резервные копии строго зашифрованы, и мы регулярно тестируем восстановление из этих резервных копий.

Если вы хотите узнать о технической инфраструктуре Google, ознакомьтесь с информационными документами Google Cloud Security.

Если вы хотите использовать сервисы или API, которые требуют регистрации с хэшем публичного сертификата вашего приложения, вы можете просмотреть или загрузить “отпечатки пальцев” публичного сертификата из раздела “App signing“ консоли Google Play:

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

Большинство сервисов позволяют включить несколько сертификатов для приложения, поэтому вы можете продолжить тестирование с локально построенными APK, а также APK, генерируемыми Google Play.

Как уже говорилось ранее, Play не будет изменять функциональность вашего приложения без вашего ведома и одобрения. Однако он вставляет небольшое количество метаданных, которые помогают проверить источник и целостность распространения. Эти метаданные бывают двух видов:

• Для всех приложений, загруженных в Google Play, Play добавлял метаданные безопасности после блока подписи, чтобы включить такие функции, как авторизованный обмен приложениями P2P. Мы объявили об этом первоначально в своем блоге в 2017 году.

• Для приложений, загруженных в виде пакетов приложений, мы улучшим безопасность, введя так называемый штамп источника. Эти исходные метаданные вставляются в манифест приложения с помощью bundletool. Когда APK генерируется на сервере Play, он также подписывается с помощью ключа Google в дополнение к вашему ключу подписи приложения.

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

Вы можете локально использовать bundletool с открытым исходным кодом для генерации APK из пакетов точно так же, как это делает Play на сервере. Метаданные исходного штампа, добавленные bundletool, не будут подписаны ключом Google. Другие исходные подписи будут возможны, когда ApkSigner будет обновлен со следующим выпуском Android.

Есть несколько вариантов, доступных для вас:

• В целях тестирования вы можете использовать внутреннюю ссылку на общий доступ к приложению для любой исторической версии вашего приложения из проводника пакетов приложений консоли Google Play. Нажатие на ссылку на устройстве приведет к установке APK, которые Play Store установит в prod для этого устройства.

• Вы также можете загрузить подписанные APK-файлы для конкретных устройств из проводника пакетов приложений консоли Google Play.

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

Для новых приложений вы можете использовать отдельные ключи подписи для каждого канала распространения, а Google будет генерировать ключ, используемый Google Play для вас. Это самый безопасный способ для приложений, распространяемых в Play, так как ключ никогда не покидает серверы Google, что сводит вероятность того, что кто-то перехватит ключ, почти к нулю.

Кроме того, для тех, кто не хочет управлять несколькими ключами, но все еще использует преимущества безопасности подписи приложений в Google Play, мы скоро предоставим возможность загружать подписанные универсальные APK из проводника пакетов приложений и распространять их в других магазинах.

Для существующих приложений: если вы уже используете один ключ для разных магазинов, при желании вы можете продолжать это делать. При включении входа в приложение в Google Play вам будет предложено загрузить существующий ключ.

При необходимости вы можете рассмотреть функцию обновления ключа, упомянутую ранее, чтобы со временем отказаться от совместного использования ключа, используемого Google Play, с другими каналами распространения.

Есть одно предостережение, которое приходит вместе с вышеприведенным советом: пожалуйста, обратите внимание, что если вы решите использовать отдельные ключи подписи для разных магазинов, ваши пользователи не смогут перекрестно обновлять приложение между различными каналами распространения. Например, когда кто-то изначально установил приложение через другой магазин, а затем пытается обновить его через Play. Они должны будут удалить и установить приложение снова.

Нет, вы не должны делать все сразу.

Вы можете выбрать подписание приложений от Google Play и продолжить публикацию APK. Когда вы будете готовы, вы можете начать публиковать пакеты приложений для Android.

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

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

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

Перевод: Лебедев Даниил.

Еще больше полезной и нужной информации вы найдете в нашем Телеграм-канале по ссылке:

[Question] ‘APK file doesn’t contain any certificates’ error

Greetings. I never heard of YouTube Vanced before, so I definitely want to try it out on my phone. Since I am using a custom ROM, I already had installed Magisk as system app in the first place. I have downloaded the latest version of Vanced (15.05.54) for Root/Legacy variant, successfully deployed Smali Patcher module in Magisk and installed SAI app from Play Store.

But when I try to install the .apks file in SAI, I came across an error about the app not being installed because of certificates. Here’s what the error said:

Rooted installed error: Device: samsung SM-N910C | Not MIUI | Android 9 | Using ZipApkSource ApkSource implementation | SAI 3.9

APK file doesn’t contain any certificates

Command: pm install-commit 1305494973 Exit Code: 4 Out: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Failed to collect certificates from /data/app/vmdl1305494973.tmp/70.apk: /data/app/vmdl1305494973.tmp/70.apk failed verification of META-INF/CERT.SF: Failed to verify signature: no verified SignerInfos]

I even resorted to non-root method using microG and the .apk of Vanced, but it still didn’t work. Is there something that I did wrong or do I missed an important step?

Apk файл не содержит сертификатов что делать

Как устанавливать APKS файлы на Андроид? Подробная видео и текстовая инструкции

Думаю что ни для кого не секрет, что многие крутые мобильные игры выходят в раннем доступе, в закрытых бетах и прочих пробных запусках. При этом достать проект в цифровом магазине приложений (Google Play, App Store и так далее) чаще всего нельзя. Тут на помощь и приходят АПК и похожие форматы.

Видеоверсия

Существует несколько различных типов файлов, давайте рассмотрим их подробнее:

  • APK — это формат файла для Андроид, который используют как игры, так и приложения
  • APKS — это объединение сразу нескольких файлов APK в один. Установить можно множеством бесплатных приложений, самые популярные это SAI или Lucky Patcher
  • XAPK и APKM — это те же АПК-файлы, но как правило со встроенным кешом (который обычно закачивается при первом запуске игры). Такие форматы разработаны популярными сайтами, где и можно скачать эти самые файлы. Устанавливаются они тоже через специальные приложения

Сегодня я расскажу вам как установить файл APKS, ведь именно с ним возникает множество проблем у новичков. Для установки я буду использовать приложение SAI которое без проблем можно скачать в GooglePlay. В процессе даже расскажу с чем вы можете столкнуться, если у вас смартфон от Xiaomi.

Инструкция:

Скачайте приложение Split APKs Installer, оно же SAI, и установите.

Запустите приложение и во вкладке «Установка» нажмите кнопку «Установить APK». Далее выбираем каким диспетчером файлов будем открывать наш APKS, выбирайте любой.

Найдите ваш скачанный файл APKS или несколько файлов APK, выделите их все и нажмите выбрать. Сразу после этого приложение предложит установить ваш APKS или несколько APK-файлов.

Дождитесь установки файла и запустите игру. Всё просто? Правда?

Что может пойти не так?

Если у вас смартфон работает на прошивке MIUI, то приложение в процессе установки может выдать ошибку. В этом случае необходимо включить режим разработчика, в разных версиях прошивки это делается по разному, но чаще всего всё сводится к нескольким тапам по названию версии MIUI.

После того как режим разработчика включен, зайдите в расширенные настройки -> Для разработчиков, опуститесь в самый низ и выключите оптимизацию MIUI (важно, что при выключении этой функции с телефона слетят все разрешения, выданные ранее для приложений, поэтому придется их включать еще раз. Например, доступ к контактам в WhatsApp и т.д.) Сразу после выключения этой функции проблем с установкой больше возникнуть не должно.

Еще пару моментов
  • Приложение работает как с Root доступом, так и без него.
  • Иногда после установки SAI, сервисы Google Play начинают сбоить. Если у вас такое происходит, нужно найти Сервисы Google в настройках. Отключить все разрешения для них, после этого заново включить. Проблема должна исчезнуть.

Вот вроде бы и все что нужно знать об установке файлов c расширением APKS на Андроид. Теперь зная это, вы сможете участвовать во многих закрытых бетах и играть в классные игры раньше своих друзей. Кстати, брать эти игры можно в нашем Телеграм-сообществе. Там мы регулярно выкладываем APK файлы на различные бета-тесты крутых и ожидаемых игр. Поэтому подпишитесь, чтобы не пропускать такие моменты.

Ответы на распространенные вопросы о подписании приложений в Google Play

Приложения для Android имеют криптографическую подпись разработчика. С ее помощью менеджер пакетов на устройстве пользователя может проверить, что каждое обновление приложения происходит из одного и того же источника, и что оно не было подделано. Google Play также применяет эту проверку подписи, когда вы загружаете свой APK-файл на консоль Google Play, так что даже если бы у кого-то были ваши учетные данные для входа, было бы невозможно отправить вредоносное обновление, не имея также доступа к вашему закрытому ключу.

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

В настоящее время у разработчиков есть привлекательная альтернатива для управления ключами самостоятельно: подписание приложения на Google Play, где ключ загрузки (тот, который вы используете, чтобы загрузить свои артефакты в Google Play) и ключ для подписи приложения (который используется для подписи APK-файлов, распространяющихся на устройства) могут быть разными, и второй ключ хранится на Google инфраструктуре.

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

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

Этот совет основан на вопросах, которые наша команда по связям с разработчиками слышала на конференциях, в онлайн-форумах и наших чатах 1:1.

Давайте начнем с самой убедительной причины для перехода на подписание приложений с помощью Google Play:

Без подписи приложения в Google Play: благодаря защите безопасности, встроенной в Android, без ключа вы или Google ничего не можете сделать для продолжения обновления вашего приложения. Ваш единственный вариант — это создать новый список с новым именем пакета и начать с нуля.

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

Если бы я назвал одну причину, которая говорит за принятие подписи приложения, то это была бы та, что выше. Но прежде чем мы пойдем дальше и поговорим о конкретных сценариях, которые этот метод может помочь исправить (есть и другие!), давайте сначала сделаем паузу, чтобы ответить на мета-вопрос:

Первым приоритетом Google Play является создание безопасной и надежной платформы для миллиардов пользователей и миллионов разработчиков.

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

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

Например, ряд приложений, находящихся в настоящее время в Play Store, до сих пор не приняли более безопасную схему подписи v2. После регистрации в приложении подписи от Google Play приложения автоматически получают преимущества новых механизмов защиты и будущих улучшений, без необходимости работы разработчика.

И наконец, разделение формата публикации (с использованием пакетов приложений для Android) и формата обслуживания (разделенные APK) открывает преимущества как для разработчиков, так и для пользователей: от повышения безопасности до оптимизации, снижения сложности и фрагментации. Однако для этого Play должен иметь возможность подписывать обслуживающие артефакты.

Некоторые примеры функций, доступных прямо сейчас, — это автоматическая оптимизация размера для доставки приложений, а также новые настраиваемые параметры доставки модулей в вашем приложении.

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

Несмотря на то, что мы продолжаем совершенствовать наш стек обслуживания, мы не изменяем и не распространяем код вашего приложения без вашего ведома и одобрения, и новые оптимизации, которые выполняет Play, доступны для вашего контроля в bundletool с открытым исходным кодом. Далее в этом часто FAQ мы обсудим некоторые метаданные (те, которые не влияют на работу вашего приложения), которые вы можете увидеть между артефактами, загруженными из Play и созданными локально.

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

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

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

Рассмотрите включение подписи приложения сейчас и как можно скорее переключитесь на использование отдельного ключа загрузки, что снизит вероятность компрометирования ключа подписи приложения.

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

Обратите внимание, что текущий процесс обновления ключа не использует преимущества функции ротации ключа, введенной в Android 9 (Pie) и выше. В настоящее время мы изучаем поддержку ротации ключей с помощью подписи приложения версии 3 для устройств на этих версиях ОС и сообщим об этом сообществу разработчиков, как только оно будет готово, в отдельном объявлении.

Без подписи приложения в Google Play: нет никакой концепции отдельного “ключа загрузки”, поэтому, если ваш ключ подписи выпуска утечет, вы можете оказаться в большой беде: кто-то может создать вредоносные или несанкционированные версии вашего приложения, которые будут неразличимы (и обновляемы!) от вашего оригинального APK.

Конечно, защита учетной записи Google применяется к доступу к консоли Google Play (и мы рекомендуем разработчикам включить 2-ступенчатую проверку), поэтому злоумышленнику все равно придется найти способ обмануть пользователя, чтобы он загрузил такой измененный APK. Тем не менее безопасность вашего приложения ослаблена.

Обратитесь к вопросу 3 о скомпрометированном ключе подписи приложения, чтобы узнать, какие исправления доступны, а также как обновить ключ для новых установок.

С подписью приложения в Google Play: если ваш ключ загрузки отделен от ключа подписи приложения (рекомендованный вариант), и просочился только первый, то данные ваших пользователей будут в безопасности — одного ключа загрузки недостаточно, чтобы подменить APK, подписанные ключом подписи приложения. Просто запросите новый ключ загрузки.

Если вы продолжили использовать ключ подписи приложения для загрузки в Play, когда вы впервые включили подпись приложения, и он просочился, вы находитесь в немного худшей ситуации, но подпись приложения все еще может исправить эту проблему. Следуйте советам о том, как обновить свой ключ для новых установок.

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

Если вы предвидите ситуацию, в которой вам потребуется постоянный доступ к ключу подписи вашего приложения, вам следует сделать следующее при включении подписи приложения:

· Не выбирайте опцию, в которой Google Play создает ключ подписи приложения за вас. Вместо этого создайте свой ключ подписи локально на вашем компьютере.

· Надежно перенесите свой ключ в Google Play и не удаляйте его с вашего компьютера.

· Храните ключ в надежном месте, чтобы он не просочился к третьим лицам.

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

Эти шаги описаны в документации. В инструкции о том, как ”выбрать существующее приложение”, показано, как зашифровать свой ключ подписи, чтобы загрузить его на консоль Google Play из Android Studio или командной строки.

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

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

Если вы включаете подпись приложения для нового приложения и выбираете опцию создания нового ключа в консоли Google Play, ключ никогда не передается и генерируется непосредственно на защищенном сервере Google.

Если вам нужно передать существующий ключ подписи (необязательно для новых приложений и обязательно для существующих приложений), вы всегда делаете это в зашифрованном виде. Независимо от того, экспортируете ли вы ключ из Android Studio или из командной строки, вы будете использовать инструмент шифрования закрытого ключа Play (PEPK) локально на вашем компьютере перед передачей ключа.

В случае, если вам нужно знать детали используемого шифрования, PEPK использует асимметричное шифрование эллиптической кривой P256 с симметричным шифрованием AES. Если вам нужно получить более подробную информацию, вы можете загрузить инструмент PEPK и его исходный код во время процесса регистрации подписи приложения.

Не стесняйтесь просматривать или компилировать его самостоятельно, чтобы он мог быть запущен в вашей собственной безопасной среде, гарантируя, что незашифрованный ключ никогда не будет раскрыт.

Используйте только версии PEPK, загруженные с консоли Google Play, никогда не загружайте его или его источник с непроверенных сторонних веб-сайтов.

Когда вы используете подпись приложения в Google Play, ваши ключи хранятся в той же инфраструктуре, где и Google хранит свои собственные.

Доступ к ключам регулируется строгими ACL и аудиторскими следами с защитой от несанкционированного доступа для всех операций.

Все артефакты, созданные и подписанные ключом разработчика, становятся доступными в консоли Google Play для проверки/аттестации.

Кроме того, чтобы предотвратить потерю ключей, мы очень часто делаем резервные копии нашего основного хранилища. Эти резервные копии строго зашифрованы, и мы регулярно тестируем восстановление из этих резервных копий.

Если вы хотите узнать о технической инфраструктуре Google, ознакомьтесь с информационными документами Google Cloud Security.

Если вы хотите использовать сервисы или API, которые требуют регистрации с хэшем публичного сертификата вашего приложения, вы можете просмотреть или загрузить “отпечатки пальцев” публичного сертификата из раздела “App signing“ консоли Google Play:

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

Большинство сервисов позволяют включить несколько сертификатов для приложения, поэтому вы можете продолжить тестирование с локально построенными APK, а также APK, генерируемыми Google Play.

Как уже говорилось ранее, Play не будет изменять функциональность вашего приложения без вашего ведома и одобрения. Однако он вставляет небольшое количество метаданных, которые помогают проверить источник и целостность распространения. Эти метаданные бывают двух видов:

• Для всех приложений, загруженных в Google Play, Play добавлял метаданные безопасности после блока подписи, чтобы включить такие функции, как авторизованный обмен приложениями P2P. Мы объявили об этом первоначально в своем блоге в 2017 году.

• Для приложений, загруженных в виде пакетов приложений, мы улучшим безопасность, введя так называемый штамп источника. Эти исходные метаданные вставляются в манифест приложения с помощью bundletool. Когда APK генерируется на сервере Play, он также подписывается с помощью ключа Google в дополнение к вашему ключу подписи приложения.

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

Вы можете локально использовать bundletool с открытым исходным кодом для генерации APK из пакетов точно так же, как это делает Play на сервере. Метаданные исходного штампа, добавленные bundletool, не будут подписаны ключом Google. Другие исходные подписи будут возможны, когда ApkSigner будет обновлен со следующим выпуском Android.

Есть несколько вариантов, доступных для вас:

• В целях тестирования вы можете использовать внутреннюю ссылку на общий доступ к приложению для любой исторической версии вашего приложения из проводника пакетов приложений консоли Google Play. Нажатие на ссылку на устройстве приведет к установке APK, которые Play Store установит в prod для этого устройства.

• Вы также можете загрузить подписанные APK-файлы для конкретных устройств из проводника пакетов приложений консоли Google Play.

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

Для новых приложений вы можете использовать отдельные ключи подписи для каждого канала распространения, а Google будет генерировать ключ, используемый Google Play для вас. Это самый безопасный способ для приложений, распространяемых в Play, так как ключ никогда не покидает серверы Google, что сводит вероятность того, что кто-то перехватит ключ, почти к нулю.

Кроме того, для тех, кто не хочет управлять несколькими ключами, но все еще использует преимущества безопасности подписи приложений в Google Play, мы скоро предоставим возможность загружать подписанные универсальные APK из проводника пакетов приложений и распространять их в других магазинах.

Для существующих приложений: если вы уже используете один ключ для разных магазинов, при желании вы можете продолжать это делать. При включении входа в приложение в Google Play вам будет предложено загрузить существующий ключ.

При необходимости вы можете рассмотреть функцию обновления ключа, упомянутую ранее, чтобы со временем отказаться от совместного использования ключа, используемого Google Play, с другими каналами распространения.

Есть одно предостережение, которое приходит вместе с вышеприведенным советом: пожалуйста, обратите внимание, что если вы решите использовать отдельные ключи подписи для разных магазинов, ваши пользователи не смогут перекрестно обновлять приложение между различными каналами распространения. Например, когда кто-то изначально установил приложение через другой магазин, а затем пытается обновить его через Play. Они должны будут удалить и установить приложение снова.

Нет, вы не должны делать все сразу.

Вы можете выбрать подписание приложений от Google Play и продолжить публикацию APK. Когда вы будете готовы, вы можете начать публиковать пакеты приложений для Android.

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

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

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

Перевод: Лебедев Даниил.

Еще больше полезной и нужной информации вы найдете в нашем Телеграм-канале по ссылке:

Apk файл не содержит сертификатов что делать

 Rubycon

Сегодня я столкнулся же проблема, к сожалению, у меня было два псевдонима в мой файл keystore.Введите описание изображения здесь

Решение Скачать — программы keytool ВМИ версия 2.4.1 плагин Введите описание изображения здесь

теперь и у меня есть куча паролей на матч .. Введите описание изображения здесь

Можно ли установить неподписанный .apk файл?

Такой вопрос, можно ли установить неподписанный .apk файл, чтобы протестировать на своём телефоне до релиза в маркете? Или нужно, чтобы он обязательно был подписан?

Я пробовал установить не подписанный, но мне пишет «Приложение не установлено».

  1. На девайсе уже стоит прога с таким же пакетом, но подписанная другим ключом (обычно возникает такая коллизия, когда разработка ведется на нескольких компах и на каждом из компов генерируется свой debug ключ). Чтобы такого не возникало, имеет смысл расшаривать один и тот же debug ключ между всеми компами/участниками.
  2. Если android:versionCode в манифесте ниже, чем тот, который уже стоит на девайсе, — это тоже потенциальная проблема. Установщик, правда, обычно только предупреждает о несоответствии версий приложения.
  3. Если minSdk в манифесте указан выше, чем тот, который стоит в аппарате, система также может отказать в установке.
  4. Если <uses-feature> тег в манифесте указывает на требуемые аппаратные возможности, которых нет в девайсе, — это тоже повод для отказа в установке.
  5. Если используются NDK библиотеки, несовпадающие с целевой платформой, также возможны проблемы. Целевых платформ пока что 4: armeabi , armeabi-v7 , mips и x86 — 90% аппаратов это платформа armeabi — процессоры ARM v.6 — откройте APK и загляните в каталог lib — он должен быть либо пустой, либо должен содержать подкаталоги с названиями целевой платформы.
  6. Возможна версия, что используется нестандартный установщик. В последнее время их развелось как грязи. Имеет смысл всегда пользоваться стоковым установщиком пакетов.

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

  • Sai 2 ошибка the program detected an incoherence
  • Sai 2 ошибка some files and folders for program are lacked
  • Sagoma h7 ошибка 25
  • Safeum ошибка пожалуйста проверьте свои данные
  • Safeguard опель вектра ошибка