Создайте неподписанный файл APK с Android Studio
Я разрабатываю Android-приложение с помощью Android Developer Tool. Теперь я попробовал новую Android-студию, все работает отлично, если подключить мой смартфон к компьютеру и напрямую запустить программу в Android Studio. Но теперь я хочу протестировать программу с помощью других смартфонов, не подключая их к компьютеру.
ОТВЕТЫ
Ответ 1
Я бы порекомендовал вам собрать APK файл с помощью Gradle:
Ваш неподписанный APK теперь находится в
Подробную информацию о том, как использовать Gradle, можно найти в этом руководстве: Сборка с Gradle в Android Studio. Я также написал сообщение в блоге о том, как создать неподписанный APK с Gradle.
Если вы переместили свой проект из другой среды IDE и не хотите перекомпилировать его, вы можете найти файл APK, уже встроенный в среду IDE, из которой вы переместили:
Если вы создали проект с помощью Android Studio, файл APK будет найден в ProjectName/ProjectName/build/apk/.
Импортированный из IntelliJ, местоположение будет ProjectName/out/production/.
Примечание: как отметил Крис Страттон в своем комментарии:
Технически, вам нужен APK, подписанный с помощью ключа отладки. Фактически неподписанный APK будет отклонен устройством.
Ответ 2
В соответствии с Build Unsigned APK с Gradle вы можете просто создать свое приложение с помощью gradle. Для этого:
После этого вы должны найти свой unsigned ‘apk’ в каталоге ProjectName\app\build\outputs\apk
Ответ 3
Самый простой способ, я думаю:
Ответ 4
просто перейдите к BUILD- > Build APK и сделайте
Ответ 5
Шаг 1 Откройте андроидскую студию. Build → Generate Signed APK. теперь нажмите «Сгенерировать подписанный APK».
Шаг 2
Нажмите «Создать новый».
Шаг 3
Заполните данные и нажмите «ОК».
jks key details, Он вернется в предыдущее окно.
Нажмите «Далее» и введите пароль, который вы сохранили в ключе.
Шаг 4
Теперь нажмите «Готово» и дождитесь завершения процесса сборки.
Теперь apk сгенерирован успешно. Нажмите «Показать» в «Проводнике».
Если вам нужна дополнительная информация, пожалуйста, посетите и проверьте демо-версию http://javaant.com/how-to-make-apk-file-in-android-studio/#.VwzedZN96Hs
Ответ 6
Подождите и перейдите к месту, указанному во всплывающем окне. На правой нижней стороне
Ответ 7
Ответ 8
Просто зайдите в свое приложение \app\build\output\apk
и скопируйте оба на телефон и установите app-debug.apk
Ответ 9
С Android Studio 2.2.3 на OSX я просто использовал верхнее меню:
Ответ 10
Ответ 11
Следующая работа для меня:
Следуйте настройке пустым, если вы сделали в build.gradle.
и выберите Gradle Задача из окна редактора. Он покажет список всех ароматов, если вы создали.
Ответ 12
— Создать новый конфиг в signConfigs
— Создать тип сборки в buildTypes
— Перейдите к вариантам сборки и выберите неподписанный стандарт. Построить проект.
Ответ 13
Теперь в Android Studio v1.1.0 должно быть:
Ответ 14
Ответ 15
Вы можете щелкнуть раскрывающийся список рядом с кнопкой запуска на панели инструментов,
все, что вам нужно сделать, теперь выберите вашу конфигурацию из раскрывающегося списка и нажмите кнопку запуска. Это займет некоторое время. Теперь ваш unsigned apk находится в
Ответ 16
После завершения Grade Build Running вы увидите уведомление в правом нижнем углу, например.
Ответ 17
Прежде всего, вы должны добавить это:
После этого вы должны нажать » Построить» в верхней панели Android Studio:
Build > Build Bundle (s)/APK (s)> Создать APK (s)
Ручная подписка APK
Тут вам покажем несколько способов инструментов, при помощи которых можно подписывать приложения Android перед публикацией их в Google App Play.
Подписка APK средствами IDE Android Studio
Вы можете использовать Android Studio для ручного создания подписанных APK, по одному за раз, или для нескольких вариантов сборки сразу. Вместо того, чтобы вручную подписывать APK, вы также можете настроить свои настройки сборки Gradle для автоматической обработки подписей во время процесса сборки. В этом разделе описывается процесс ручной подписи. Подробнее о подписании приложений как части процесса сборки см. В разделе Настройка процесса сборки для автоматической подписки APK.
Чтобы вручную подписать APK для выпуска в Android Studio, выполните следующие действия:
Когда процесс завершится, вы найдете свой подписанный APK в выбранной вами папке назначения. Теперь вы можете распространять подписанный APK через торговую площадку приложения, например, в Google Play Store, или использовать выбранный вами механизм распространения подписанного приложения конечным пользователям.
Чтобы пользователи могли успешно устанавливать обновления для вашего приложения, вам нужно будет подписать APK с тем же сертификатом на протяжении всего срока действия вашего приложения.
Подробнее об этом и других преимуществах подписания всех ваших приложений с помощью одного и того же ключа, по поводу безопасности и редактирования.
Есть сгенерированные ключи подписи или создаем?
Мы уже разбирали тут, как генерировать хранилище ключей с ключом подписи. Если кратко, то вы можете подписать свое приложение из командной строки с помощью инструмента apksigner или настроить Gradle для его подписки во время сборки. В любом случае вам нужно сначала сгенерировать закрытый ключ с помощью keytool. Например командой
Примечание: keytool находится в каталоге bin/ вашего JDK. Чтобы найти ваш JDK из Android Studio, выберите «File»> «Project Structure», а затем «SDK Location», и вы увидите местоположение JDK
В этом примере команды консоль еще запросит ввести пароли для хранилища ключей и ключа подписи и запросит заполнить поля Distinguished Name для вашего ключа. Затем он генерирует хранилище ключей в виде файла с именем my-release-key.jks, сохраняя его в текущем каталоге (вы можете перемещать его по своему усмотрению). Хранилище ключей содержит один ключ, действительный в течение 10 000 дней.
Теперь вы можете создать unsigned APK, т.е. построить конфигурацию release и подписать его вручную или вместо этого настроить Gradle для автоматического подписания APK.
Подписка APK средствами командной строки Android SDK
Инструмент apksigner, доступный в версии 24.0.3 и выше для Android SDK Build Tools, позволяет вам подписывать APK и подтверждать, что подпись APK будет проверена успешно на всех версиях платформы Android, поддерживаемых этими APK. В этом подразделе представлено краткое руководство по использованию инструмента и служит ссылкой для различных параметров командной строки, которые поддерживает инструмент
Примечание 1. если вы подписываете APK с помощью apksigner и вносите дальнейшие изменения в APK, подпись APK становится недействительной. Поэтому перед подписанием APK вы должны использовать такие инструменты, как zipalign.
Примечание 2. Чтобы использовать инструмент apksigner, вы должны иметь версию 24.0.3 или выше установленных инструментов Android SDK Build Tools. Вы можете обновить этот пакет с помощью диспетчера SDK.
1). Открываем командную строку и перемещаемся в корневую директорию —из Android Studio, выбираем View > Tool Windows > Terminal. Затем вызываем команду assembleRelease :
Это создает APK под именем module_name-unsigned.apk в папке project_name/module_name/build/outputs/apk/. APK будет неподписанным(unsigned) и невыровненным(unaligned), который на данный момент — он не может быть установлен до тех пор, пока не будет подписан вашим секретным ключом.
2). Align the unsigned APK using zipalign:
zipalign гарантирует, что все несжатые данные начинаются с конкретного выравнивания байтов относительно начала файла, что может уменьшить объем оперативной памяти, потребляемой приложением.
3). Подписываем APK своим личным ключом с помощью apksigner:
В этом примере выводится подписанный APK на my-app-release.apk после его подписания с закрытым ключом и сертификатом, который хранится в одном файле хранилища ключей: my-release-key.jks.
Инструмент apksigner поддерживает другие параметры подписки, включая подписание файла APK с использованием отдельного закрытого ключа и файлов сертификатов и подписку APK с использованием нескольких подписчиков. Для получения дополнительной информации см. ссылку apksigner.
4). Убеждаемся, что ваш APK подписан:
Пример подписки средствами Android SDK
Если вышеописанное вызывает трудности, то давайте сделаем некоторый простой пример генерации ключа командой keytool, выполнения операции zipalign и подписи командой apksigner.
Сначала строим релиз средствами Cordova и Android SDK
Команда keytool генерации ключа в консоли:
Операция zipalign в консоли:
Обратите внимание, что zipalign мы выполняем по прямому пути версии приложения, которая соответствует версии нашего разрабатываемого приложения.
Операция подписи apksigner:
Обратите внимание, что apksigner мы выполняем по прямому пути версии приложения и указываем путь к сгенерированному ключу, которая соответствует версии нашего разрабатываемого приложения. Далее, после нажатия Enter, консоль запросит поочередно запросить пароль от хранилища ключей и от самого ключа.
Подписка APK средствами командной строки JDK
Выше мы уже знакомились с инструментом keytool для создания хранилища ключей и самих ключей подписи в составе JDK, а в данной секции описано то, как средствами JDK подписывать этим ключом приложение и для этого есть специальный инструмент в составе JDK в той же папке, что и keytool — jarsigner.
Команда подписи с ее параметрами записывается так
Имена параметров нам знакомы по keytool:
После данной команды приложение будет подписано и будет готово к установке на устройства или можно распространять через Google App Play.
Другие инструменты подписи
Пожалуй, сюда можно добавить такие инструменты, как:
Подписывание пакета APK вручную
После сборки приложения для выпуска и до распространения необходимо подписать пакет APK, чтобы его можно было запускать на устройстве Android. Как правило, этот процесс обрабатывается в интегрированной среде разработки, однако существуют ситуации, когда пакет APK нужно подписать вручную с использованием командной строки. В ходе процесса подписывания пакета APK выполняются следующие действия:
Создание закрытого ключа – это действие должно выполняться только один раз. Закрытый ключ необходим для подписывания пакета APK цифровой подписью. После подготовки закрытого ключа это действие можно пропустить для будущих сборок выпуска.
Оптимизация пакета APK – Zipalign представляет собой процесс оптимизации, выполняемый в приложении. Он позволяет Android более эффективно взаимодействовать с пакетом APK во время выполнения. Xamarin.Android проводит проверку во время выполнения и запретит запуск приложения, если пакет APK не был оптимизирован.
Подписывание пакета APK – в этом действии используется служебная программа apksigner из пакета SDK для Android и выполняется подписывание пакета APK с помощью закрытого ключа, созданного ранее. Приложения, разработанные с применением средств сборки пакета SDK для Android, вышедших до v24.0.3, будут использовать приложение jarsigner из пакета JDK. Оба эти средства обсуждаются более подробно ниже.
Важно соблюдать порядок действий, который зависит от средства, применяемого для подписывания пакета APK. При использовании apksigner важно сначала оптимизировать приложение с помощью zipalign, а затем подписать его с помощью apksigner. Если для подписывания пакета APK необходимо использовать jarsigner, то важно сначала подписать пакет APK, а затем запустить zipalign.
Предварительные требования
В этом руководстве будет рассматриваться использование apksigner из средств сборки пакета SDK для Android v24.0.3 или более поздней версии. Предполагается, что пакет APK уже собран.
Для приложений, созданных с помощью более ранней версии средств сборки пакета SDK для Android, следует использовать средство jarsigner, как описано в разделе Подписывание пакета APK с помощью jarsigner.
Создание закрытого хранилища ключей (keystore)
keystore — это база данных сертификатов безопасности, которая создается с помощью программы keytool из пакета SDK для Java. Хранилище ключей крайне важно для публикации приложения Xamarin.Android, так как Android не будет запускать приложения, не имеющие цифровой подписи.
Во время разработки для подписывания приложения Xamarin.Android использует хранилище ключей, что позволяет развернуть приложение непосредственно в эмуляторе на устройствах, настроенных для использования отлаживаемых приложений. Однако это хранилище ключей не распознается как допустимое для распространения приложений.
Поэтому для подписывания приложений необходимо создать и использовать закрытое хранилище ключей. Это действие выполняется только один раз, так как один и тот же ключ будет использоваться для публикации обновлений и для подписывания других приложений.
Очень важно обеспечить безопасность этого хранилища ключей. В случае его потери будет невозможно публиковать изменения для приложения в Google Play. Единственное решение проблемы, связанной с потерянным хранилищем ключей, заключается в создании нового хранилища ключей, повторном подписывании пакета APK новым ключом и отправке нового приложения. Старое приложение потребуется удалить из Google Play. Аналогично, в случае нарушения безопасности нового хранилища ключей или его публичного распространения в широкую доступность могут выйти неофициальные или вредоносные версии приложения.
Создание нового хранилища ключей
Для создания нового хранилища ключей требуется средство командной строки keytool из пакета SDK для Java. Ниже приведен пример использования keytool (замените именем файла хранилища ключей, а — именем ключа в хранилище ключей):
Чтобы получить список ключей, которые хранятся в хранилище ключей, используйте keytool с параметром – list :
Оптимизация пакета APK
Перед подписыванием пакета APK с помощью apksigner сначала необходимо оптимизировать файл с помощью средства zipalign из пакета SDK для Android. zipalign выравнивает ресурсы в пакете APK по 4-байтовым границам. Благодаря выравниванию Android может быстро загружать ресурсы из пакета APK, повышая производительность приложения и потенциально сокращая использование памяти. Чтобы определить, прошел ли пакет APK оптимизацию, Xamarin.Android будет проводить проверку во время выполнения. Если пакет APK не оптимизирован, приложение не запустится.
Следующая команда использует подписанный пакет APK, а ее результатом будет подписанный, оптимизированный пакет APK helloworld.apk, готовый к распространению.
Подписывание пакета APK
Оптимизированный пакет APK необходимо подписать с использованием хранилища ключей. Для этого предназначено средство apksigner, находящееся в каталоге build-tools версии средств сборки пакета SDK. Например, если установлены средства сборки пакета SDK для Android v25.0.3, apksigner можно найти в следующем каталоге:
При выполнении этой команды при необходимости apksigner запросит пароль для хранилища ключей.
Дополнительные сведения об использовании apksigner см. в документации Google.
Согласно проблеме Google 62696222, средство apksigner «отсутствует» в пакете SDK для Android. Решением этой проблемы является установка средств сборки пакета SDK для Android v25.0.3 и использование этой версии apksigner.
Подписывание пакета APK с помощью jarsigner
Сведения в этом разделе применимы, если пакет APK необходимо подписать с помощью программы jarsigner. Для подписывания пакета APK разработчикам рекомендуется использование apksigner.
Эта методика предполагает подписывание APK-файла с помощью jarsigner из пакета SDK для Java. Средство jarsigner входит в состав пакета SDK для Java.
При использовании jarsigner важно сначала подписать пакет APK, а затем использовать средство zipalign.
How to install Unsigned Apk file on Android device : 3 ways
Sometimes, the problem can be easily solved by enabling the ‘Unknown Source‘ from the settings menu. But the solution may not be work all the time or on all the devices.
The reason behind this problem may be the following:
1. Apk signed certificate clash
2. Unacceptable Apk name
What is the difference between signed and unsigned apk?
There is only a minor difference in both the version of the application. The signed app contains an extra folder i.e. ‘META-INF’ which also contains the following,
So, here I will explain you three excellent ways to install unsigned app on your rooted, non-rooted device. The following solution also works on BlueStacks.
How to install unsigned APK on rooted phones?
How to install unsigned apk on Android without root?
Rooting and android device will void your warranty. So, if you do not want to root your device then here is a 100% working solution to sign an unsigned apk file.
How to convert unsigned app to signed app using Eclipse?
1. First of all, download, install and lauch Eclipse on your windows computer. You can also install Eclipse ony our Mac or any other operating system.
3. Then right click on the mouse and then navigate to tools > android signed applications.
4. And then follow the wizard.
5. And then Make a new key-store. Remember that password.
6. Now, you can sign your app.
Построить неподписанный APK файл с Android Studio
Я разрабатываю приложение для android с помощью инструмента разработчика Android. Теперь я попробовал новую Android Studio, все работает нормально, если подключить мой смартфон с ПК и напрямую запустить программу в Android Studio. Но теперь я хочу протестировать программу с другими смартфонами, не подключая их к моему компьютеру.
15 ответов:
Я бы рекомендовал вам построить свой apk-файл с помощью gradle:
ваш неподписанный apk теперь находится в
для получения подробной информации о как использовать Gradle, этот учебник является хорошим, чтобы пойти: здание с Gradle в Android Studio. Я тоже написал блоге о том, как построить беззнаковый apk с gradle.
если вы переместили свой проект из другой IDE и не хотите перекомпилировать, вы можете найти свой apk-файл, который уже был построен в IDE, из которой вы перешли:
если вы создали проект с Android Studio, файл apk будет найден в ProjectName/ProjectName/build/apk/.
импортированный из IntelliJ, расположение будет ProjectName/out/production/.
Примечание: Как отметил Крис Стрэттон в своем комментарии:
по данным построить беззнаковый APK с Gradle вы можете просто построить свое приложение с помощью gradle. Для этого:
после этого вы должны найти свой неподписанный » apk » в каталоге ProjectName\app\build\outputs\apk
самый простой способ, мне кажется:











