Пользователи этого apk файла не смогут установить новые apk файлы добавленные в выпуск
Одной из ключевых особенностей Android, которые выгодно отличали её от iOS, всегда была возможность устанавливать приложения из сторонних источников. Пользователи были в праве не покупать нужный софт в Google Play , а скачивать взломанные версии в виде APK-файлов. Именно поэтому Android в своё время стал пристанищем для тех, кто считал, что платные приложения не имеют права на жизнь. Тем не менее, постепенно сама Google стала приходить к тому, что такой подход больше не может быть определяющим в развитии Android и стала вводить всё новые и новые ограничения.
Google установила запрет на загрузку APK-файлов приложений на смартфоны под управлением Android. Данное ограничение распространяется только на устройства, чьи пользователи активировали так называемую дополнительную защиту своего аккаунта.
строить версии
теперь вы можете использовать параметры меню сборки для создания версии вашего приложения для распространения.
сборка генерирует APK для каждого варианта сборки: app/build/apk/ (или app/build/outputs/apk ) каталог содержит пакеты с именем app--.АПК; например, приложение-полный релиз.apk и app-demo-debug.АПК.
вывод
сборка генерирует APK для каждого варианта сборки в app/build folder : the app/build/outputs/apk/ directory содержит пакеты с именем app--.АПК; например, app-полный выпуск.apk и app-demo-debug.apk.
вежливость идет к Обзор Системы Сборки
Если вы импортировали в проект из Eclipse и новом Android Studio и Каталог
существует (возможно, здесь есть старые двоичные файлы) С последним обновлением Android Studio фактическое текущий apk хранящийся в
добавьте это в файл модуля gradle. Его нет в проекте по умолчанию. Тогда u обязательно найдет APK в / build / outputs / apk/
Я использую Android Studio 3.0 canary 6.
клик Build->Build APK(s) .
после сборки apk перейдите по ссылке:
для Gradle смотрите здесь:https://docs.gradle.org/current/dsl/org.gradle.api.tasks.SourceSetOutput.html. "например: плагин Java будет использовать эти dirs при вычислении путей к классам и для jarring контента; идея и Eclipse Плагины поместят эти папки на соответствующий путь к классам."
поэтому его зависит от сборки плагина в конфигурациях, если вы не определяете их явно в файле конфигурации.
нажмите маленький значок шестеренки в представлении проекта и убедитесь, что установлен флажок "Показать исключенные файлы". В противном случае IDE скроет output и несколько других важных каталогов в разделе $project/$module/build/ .
app--> app.iml файл и найдите в нем строку ниже: -
--> после удаление в этой строке вы можете увидеть выходную папку его просто добавление дополнительной информации к вышеуказанным ответам в соответствии с моим опытом :)
Для Android Studio 2.0
здесь UserName-имя пользователя вашего компьютера и MyAppName-это ваше имя приложения для android
начиная с Android Studio 3.0 / Gradle Build Tools 3.0.0, артефакты APK теперь можно найти в foo/bar/build/outputs/apk/flavorName/buildType Что касается названия вашего проекта, foo , и имя вашего модуля, bar . Теперь для каждого apk файл сортируется, организованный сначала по вкусу (относительно размеров вкуса), а затем по типу сборки.
- открыть журнал событий
- найти строку: модуль "приложение":найти или проанализировать APK.
- нажмите на ссылку найти, чтобы открыть папку с файлом apk!
В конце концов: "все встроенные APKs сохраняются в project-name / module-name / build / outputs / apk/ создайте свой проект LINK
подсказка: если вы не можете увидеть приложение-debug.apk в папке отладки, вы должны нажать на BUILD --> Rebuild Project в Android Studio.
Сохраняется ли файл .apk после того, как android установит приложение из Marketplace?
Есть ли стандартное место, где Android будет хранить такие файлы?
Предустановленные приложения находятся в папке /system/app . Установленные пользователем приложения находятся в /data/app . Я думаю, вы не сможете получить доступ, если у вас нет рутированного телефона. У меня нет рутированного телефона, но попробуйте этот код:
В нем перечислены файлы apks в моем корневом htc magic и в эму.
Вы можете использовать диспетчер пакетов ( pm ) поверх adb shell для вывода списка пакетов:
И показать, где находится файл .apk :
И adb pull , чтобы скачать apk.
Установить с торговой площадки
Сохранять ли apk после установки - это поведение торговой площадки. Google play не сохраняет apk после установки. Другие сторонние торговые площадки могут вести себя иначе.
Установить из инструмента разработки / отладки (adb, eclipse, android studio)
Когда мы устанавливаем apk из инструмента отладки, напрямую вызываем adb install или из студии eclipse / android, apk будет перенесен ( adb push ) в общедоступный каталог для чтения и записи, обычно /data/local/tmp/ . После этого инструмент будет использовать команду pm для установки, он удалит временный apk в /data/local/tmp/ после успешной установки.
Мы можем получить эту информацию из отладочных данных, как показано ниже.
Как система хранит apk
Конечно, система должна где-то хранить все apks. В системе есть три места для хранения файлов apks, основанных на различных типах apks:
для стандартного приложения
Обычно они поставляются в комплекте с устройством, включая основное приложение для работы системы и службу Google. Вы можете найти их в каталогах /system/app и /system/priv-app .
установленное пользователем приложение
Большинство apks попадают в эту категорию. Эти файлы apks обычно устанавливаются с торговой площадки пользователями или adb install без опции -s . Вы можете найти их в каталоге /data/app для корневого устройства.
приложение на SD-карте
Если apk разрешает установку на SD-карте с android:installLocation="auto" в манифесте, приложение можно переместить на SD-карту из меню системного диспетчера приложений. Эти файлы apks обычно находятся в защищенной папке SD-карты /mnt/sdcard/asec .
Другой способ принудительно указать место установки на SD-карту - использовать команду adb install -s apk-to-install.apk .
Обратите внимание, что файлы для предустановленного приложения больше не находятся в одном файле .apk . В каталоге /system/app или /system/priv-app для последней версии Android есть папка, содержащая файлы для каждого предустановленного приложения.
Если вы ищете путь к конкретному приложению, быстрое и грязное решение - просто выполнить grep с отчетом об ошибке:
Я не знаю, будет ли это исчерпывающий список, поэтому сначала может помочь запустить приложение.
Вы можете тянуть приложения с помощью ADB. Думаю, они находятся в / data / App /.
Обратите внимание, что вы должны рутировать свой телефон, чтобы загружать приложения, защищенные от копирования.
Если вы рутированы, скачайте приложение Root Explorer. Лучший файловый менеджер для root-пользователей. В любом случае, System / app имеет все apks по умолчанию, которые поставляются с телефоном, а data / apk содержит все apks установленных вами приложений. Просто нажмите и удерживайте нужный apk (в корневом проводнике), перейдите в папку / sdcard и просто вставьте.
Используйте это, чтобы перечислить все .apks в / data / app /
- данные / приложение
- система / приложение
- система / приват-приложение
- mnt / asec (при установке в sdcard)
Вы можете вытащить .apks из любого из них:
Файлы .apk могут находиться в каталоге / data / app /. Используя ES File Explorer , мы можем получить доступ к этим файлам .APK.
Если вы используете eclipse goto DDMS, а затем в проводнике файлов, вы увидите папку System / Apps и там есть файлы apks
Когда я установил свое приложение на эмулятор, он показал мой файл .apk в
data / app Затем я использовал ls data / app //, чтобы узнать, существует оно или нет
После установки приложения просто используйте команду ls vie shell и проверьте желаемый каталог, но это зависит от того, какое приложение вы пытаетесь установить. Я использовал этот метод для установки Укажите, если что-то не так.
Еще один способ получить apk , которые вы не можете найти на устройстве с рутированным доступом, - это набор инструментов ROM .
Сделайте резервную копию с помощью диспетчера приложений, затем перейдите на страницу storage/emulated/appmanager и установите флажок Резервное копирование системного приложения или Резервное копирование пользовательского приложения .
Чтобы найти apk , загрузите и установите приложение Bluetooth App Sender из магазина Play. После завершения установки откройте приложение Bluetooth App Sender. Он покажет все приложения (.apk) , установленные на вашем устройстве, после чего вы можете легко перенести приложение на свой компьютер через Bluetooth.
Если вы просто хотите получить APK-файл того, что вы ранее установили, сделайте следующее:
Вам не нужно рутировать телефон, использовать adb или писать что-либо.
Стандартного расположения нет, однако вы можете использовать PackageManager, чтобы узнать о пакетах, и класс ApplicationInfo, который вы можете получить оттуда, содержит различную информацию о конкретном пакете: путь к его .apk, путь к его каталогу данных, путь в .apk, предназначенный только для ресурсов (для приложений с прямой блокировкой) и т. д. Обратите внимание, что у вас может быть или не быть разрешения на чтение этих каталогов в зависимости от ваших отношений с другим приложением; однако все приложения могут читать ресурс .apk (который также является настоящим .apk для приложения без переадресации).
Если вы просто ковыряетесь в оболочке, в настоящее время приложения без предварительной блокировки находятся в /data/app/.apk. Пользователь оболочки может читать определенный .apk, но не может перечислить каталог. В будущем выпуске соглашение об именах будет немного изменено, поэтому не рассчитывайте, что оно останется прежним, но если вы получите путь к .apk из диспетчера пакетов, вы можете использовать его в оболочке.
Предустановленные приложения обычно находятся в / system / app, а приложения, установленные пользователем, - в / data / app.
Вы можете использовать «adb pull», но вам нужно знать полный путь к файлу APK. В эмуляторе вы можете получить список каталогов, используя "adb shell" + "ls". Но на устройстве Android вы не сможете сделать это в папке «/ data» по соображениям безопасности. Итак, как узнать полный путь к файлу APK?
Вы можете получить полный список всех установленных приложений, написав программу, которая запрашивает PackageManager. Фрагмент короткого кода ниже:
Вы также можете найти приложения, которые предоставят такую информацию. Их очень много. Попробуйте это (AppSender).
В / data / app, но для защиты от копирования я не думаю, что вы можете получить к нему доступ.
В отличие от того, что написано в выбранном ответе, вам не нужен root-доступ, и можно получить APK-файлы установленных приложений, как я это сделал в своем приложении ( здесь ). Пример:
Затем для каждого из элементов списка вы можете получить доступ к packageInfo.applicationInfo.sourceDir , который является полным путем к APK установленного приложения.
Я пришел к этому посту, потому что хотел переустановить какое-то приложение, которое мне очень понравилось. Если это ваш случай, просто зайдите в Google Play и найдите Мои приложения, вкладку Все, и вы найдете способ переустановить какое-то приложение, которое вам понравилось. Я столкнулся с проблемой, которую я не мог найти с помощью поиска в одном приложении, но оно было в Моих приложениях, поэтому я мог переустановить его на своем новом мобильном телефоне;)
Все пользователи Android-устройств наверняка слышали, что устанавливать программы на них можно не только из магазина Google Play Market или фирменных магазинов производителей, если таковые есть. Есть возможность использовать локальный файл с расширением APK, чтобы получить нужную программу.
Однако зачастую возможность установки по умолчанию из соображений безопасности заблокирована. В этой статье мы поговорим о том, что собой представляет файл APK, зачем его устанавливать и как это сделать. Поехали.
Что такое файл APK?
Android Package Kit (сокращенно APK) — это формат файла пакета, используемый операционной системой Android для распространения и установки мобильных приложений. Точно так же, как системы под управлением Windows (PC) используют exe-файл для установки программного обеспечения, APK делает то же самое для Android. По аналогии в Linux это deb-пакет для дистрибутивов на основе Debian или rpm для всех остальных.
Этот файл загружается из Google Play, но это происходит в фоне, потому пользователи даже не подозревают, что имеют дело с пакетом APK. Однако всё работает именно так.
Зачем устанавливать файл APK, если есть Google Play?
В этом формате часто выпускают новые сборки Android, которые позволяют раньше других получить доступ к новым функциям и возможностям. Также подобным образом может быть установлена программа, имеющая региональные ограничения. Наконец, это пригодится тем, кто не хочет ждать обновления «по воздуху», которое может занимать недели.
Кроме того, это позволяет откатиться на более старую версию, если вдруг приложение не понравилось. В Google Play этого уже не сделаешь. Наконец, можно таким образом установит программу, которой попросту нет в магазине.
Не исключён вариант, что смартфон или планшет не имеют Google Play по умолчанию, потому сам магазин тоже придётся подключать с помощью файла APK. Это характерно для китайских устройств. В этом случае, а также в случае отсутствия интернета на самом девайсе, это будет единственным вариантом для установки приложений.
Как установить файл APK со смартфона или планшета?
Для начала нужно проверить, позволяет ли это система. Нужно перейти в Настройки > Безопасность > Установка из неизвестных источников. На Samsung Galaxy с Android 9 это находится здесь: Настройки > Биометрия и безопасность > Установка неизвестных приложений.
После этого нужно скачать необходимый файл из интернета и запустить его на выполнение, после чего согласиться на установку и чуть подождать. Через несколько секунд, максимум пару минут, система отрапортует об успешной установке.
Однако есть немало вариантов, когда система не запускает установку, даже если она разрешена ля неизвестных источников.
Возможные варианты таковы:
- Программа требует root-доступа к системе (решение — предоставить доступ, если нет проблем с безопасностью);
- Антивирус или другие программы блокируют установку (решение — временно отключить их, если есть такая возможность. Это могут быть система защиты Google, программы родительского контроля и так далее);
- Вредоносная программы блокирует установку (решение — использовать антивирусный сканер или откатиться на заводские настройки системы);
- Ошибки в манифесте установщика APK в системе (решение — попробовать сторонний установщик);
- Программа использует нативные библиотеки, которые скомпилированы под другую процессорную архитектуру — например, Arm7 вместо x86 (решение — поикать сборку под свой процессор);
- Повреждение файла APK, особенно если его переносят с флешки, карты памяти или внешнего носителя (решение — проверить флешку или карту памяти на ошибки, а также проверить APK-файл).
Если нужно разблокировать «Play Защиту», которая мешает установке, то зайдите в Настройки > Google > Безопасность > Google Play Защита и отключите её там. Это можно сделать в окне Google Play Защита, где надо отключить пункт «Проверять угрозы безопасности».
Если же система «ругается» на запрет со стороны администратора, то идём в Настройки > Безопасность > Администраторы. На Samsung с Android 9 Pie — Настройки > Биометрия и безопасность > Другие параметры безопасности > Администраторы устройства. Там отключаем пункт «Деактивировать администратора устройства» или «Выключить», который будет активным.
Как установить файлы с компьютера?
Технически это мало отличается от предыдущего пункта. Нужно лишь скачать приложение на ПК, после чего подключить смартфон кабелем и разрешить передачу данных на нём. После этого можно загружать файл APK на устройство. Далее же нужно действовать точно так же как и в пункте 3. В случае возникновения проблем — см. предыдущий раздел.
Отметим, что лучшим неофициальным магазином является APK Mirror. Из других источников качать программы не рекомендуется.
Примечание:
это читается из VERSION.md файл, содержащий текущую версию приложения.
Он также может быть запущен с --version аргумент только для обновления текущей версии в config.xml без установки версий сборки.
для тех из вас, кто использует Android Studio, у меня была эта проблема после обновления с Eclipse до Android Studio и неправильной настройки файлов gradle.
убедитесь, что код версии в сборке.gradle в defaultConfig<> является правильным.
Я столкнулся с этой проблемой, потому что в моей конфигурации cordova.xml предыдущая версия была 0.0.51, а новая версия-0.0.6. Но в консоли playstore эти номера были преобразованы в 51 и 6 для номера APK. Нельзя "обновить" с 51 до 6. Поэтому я изменил xml на 0.0.60, что сделало номер APK 60, и вуаля, я могу обновить с 51 до 60.
Я начал использовать новую Android Studio и не могу найти APK приложения в IDE, где он фактически находится?
чтобы помочь людям, которые могут искать ответ на этот же вопрос, важно знать, какие проекты вы используете в Studio.
ш
тип проекта по умолчанию при создании нового проекта и рекомендуемый в целом-Gradle.
для нового проекта под названием "Foo" структура под главной папкой будет
где внутренняя папка" Foo " является основным модулем (эта структура позволяет вы создадите больше модулей позже в той же структуре без изменений).
в этой настройке местоположение сгенерированного APK будет находиться под
обратите внимание, что каждый модуль может генерировать свой собственный выход, поэтому истинный выход больше
редактировать В новейшей версии Android Studio путь к местоположению для сгенерированного вывода -
IntelliJ
если вы являетесь пользователем IntelliJ перед переключением в Studio и импортированием вашего проекта IntelliJ напрямую, ничего не изменилось. Расположение выходных данных будет одинаковым в разделе:
Примечание: это станет устаревшим иногда вокруг 1.0
затмение
если вы импортируете проект Android Eclipse напрямую,не делай этого! Как только у вас есть зависимости в вашем проекте (jars или проекты библиотеки), это не будет работать и ваш проект не будет правильно настроена. Если у вас нет зависимостей, то apk будет находиться в том же месте, что и в Eclipse:
однако я не могу подчеркнуть важность не делаешь это.
Я Android Studio 0.6 и apk был создан в
Он включает все библиотеки, чтобы я мог поделиться им.
обновление Android Studio 0.8.3 Бета. Apk теперь в
обновление Android Studio 0.8.6-2.0. Apk теперь в
на самом деле нет причин копать пути; IDE передает его вам (по крайней мере, с версией 1.5.1).
на выберите Build APK :
появится диалоговое окно:
если вы используете более новую версию Android Studio, он может выглядеть так:
нажатием Show in Explorer или locate ссылке, вы будет представлен файловый проводник, расположенный где-то рядом, где Android Studio поместила файл APK:
но в качестве 3, Когда вы нажимаете locate , это ставит вас на release папка, чтобы получить ваш .
в моем случае я использую Android Studio 1.0.2, я получаю файл APK от:
Если кто-то пропустит свой APK и не сможет найти его в местах, указанных в других ответах (я нашел этот вопрос, так как я тоже не мог его найти), это может быть просто в этой папке (моя была)
у меня также был там этот файл:
Я не совсем уверен, является ли apk на самом деле полномасштабным apk, который должен быть сгенерирован, но я пробовал его на различных устройствах (не только целевое устройство, но и те, которые поддерживали только минимальный SDK) и это сработало.
надеюсь, это поможет кому-то.
Это Project_Location / app / build / outputs / apk для проекта Gradle
найти apk используя следующие действия:-
- перейти к папке проекта.
- открыть папку проекта.
- открыть build папка.
- открыть .
- открыть .
- теперь вы видите, что ваши apk .
надеюсь, что это поможет некоторым телом.
таким образом, apk в Android studio генерируется внутри на app модуль.
правильный путь к apk будет \app\build\outputs\apk . Я использую Android Studio версии 1.4.1. Так что apk можно найти в app/build/apk/ или \app\build\outputs\apk база на версии Android studio, которую вы используете. Обратитесь к приведенному ниже изображению
также найти более подробную ссылку на эти ссылки.
Я использую Android Studio и gradle. Он создал build / apk/ файл только при запуске проекта. Для запуска проекта нажмите кнопку Alt+u, u
Android Studio: 0.5.3 Gradle в: 0.9.+
вы можете найти APK в:
в новой Android Studio подписанный apk помещается непосредственно в папку модуля, для которого построен apk.
например: для проекта ProjectA, содержащего 2 модуля Mod1 и Mod2, файлы apk будут найдены в
/путь-к-Projectа/в mod1/файле mod1.apk
/путь-к-Projectа/в mod2/в mod2.apk
создайте свой проект и получить apk с your_project\app\build\apk
на .apk файл находится по адресу [your project]\out\production\[your project name]
расположение apk в Android Studio:
по состоянию на версия 0.8.6 Android Studio создание файла APK (подписанного и, я считаю, неподписанного тоже) будет помещено внутрь имя проекта / устройство / сборка / выходы / apk
например, я делаю что-то для Google Glass, и мой подписанный APK попадает в / пользователи / MyName / AndroidStudioProjects/HelloGlass/стекло/сборка/выходы / apk
Я получил .APK файлы в parent_folder/out/production/имяпроекта / имяпроекта.apk
вы можете найти свой файл apk следующим образом:
система сборки Android-это инструментарий, который вы используете для сборки, тестирования, запуска и пакет приложений. Система сборки может работать как интегрированный инструмент из меню Android Studio и независимо от командной строки. Вы можете использовать функции системы сборки для:
- настройка, Настройка и расширение процесса сборки.
- создать несколько APKs для вашего приложения с различными с помощью тот же проект и модули.
процесс сборки включает в себя множество инструментов и процессов, которые генерируют промежуточные файлы на пути к созданию .apk . Если вы разрабатываете в Android Studio, полный процесс сборки выполняется каждый раз, когда вы запускаете задачу сборки Gradle для своего проекта или модулей.
процесс сборки очень гибкий, поэтому полезно, однако, понять, что происходит под капотом, так как большая часть процесс сборки настраивается и расширяется. На следующей диаграмме показаны различные инструменты и процессы, участвующие в сборке:
Что такое электронный ключ на Android
Дополнительная защита, о которой идёт речь, – это встроенный электронный ключ безопасности, который при желании может активировать у себя любой пользователь. Как это делать, я подробно описывал вот тут . По сути, он представляет собой улучшенную версию двухфакторной аутентификации. Она тоже задействует смартфон для подтверждения авторизации, однако требует не ввода одноразового пароля из SMS, а подтверждения входа нажатием на кнопку, которая появляется на экране смартфона, при условии, что он и устройство, с которого вы входите в аккаунт, располагаются в непосредственной близи друг от друга. Такая защита работает по Bluetooth (реже по NFC) и препятствует перехвату кодов безопасности.
Если этот ключ включён на вашем устройстве, значит, устанавливать APK-файлы приложений вы уже не сможете. В противном случае, подобное ограничение действовать не будет.
Важно понимать, что встроенный электронный ключ безопасности нужно включать вручную, тогда как сам он включиться автоматически не может никак. Поэтому, если вы не знаете, настроен он у вас или нет, то не переживайте, потому что ответ на этот вопрос будет отрицательным. Впрочем, при желании вы можете убедиться в этом, перейдя по этой ссылке . Если Google будет предлагать вам настроить электронный ключ безопасности, значит, он отключён, а если сообщит о том, что устройство находится под защитой, значит, включён.
У меня есть Android APK в магазине Google Play с целевым SDK 23.
Я выпустил новую версию (тот же целевой SDK) и Google показывает мне эту ошибку:
Если я продолжу (я узнал трудный путь), то ни один из текущих пользователей не может обновиться до этой версии. Мне пришлось восстановить код, увеличить номер сборки и перестроить APK для "отката" до полезной версии.
однако я не могу понять, почему google показывает мне эту ошибку. Обратите внимание, на "0 Поддерживаемые устройства Android " - это красная селедка-это известная проблема в Google Play за последние 24 часа - если вы публикуете APK, отображается реальное количество устройств.
пожалуйста, дайте мне некоторые выводы о том, что разница или что вызывает эту ошибку:
не обновляемый APK ПРЕДУПРЕЖДАЮЩИЙ Ни один из пользователей этого APK не сможет обновиться до любого из новых APKs, добавленных в этом выпуске. СОВЕТ Убедитесь, что все ваши новые файлы будут добавлены в этот освобождать.
я смог решить эту проблему: -
проблема была с versioncode-я уверен, что вы не определили какой-либо код версии в вашем приложении, и он генерируется этой формулой:
но иногда автоматически генерируемое значение versioncode последнего выпуска становится меньше, чем предыдущий выпуск (в вашем случае 10403
что вам нужно сделать, это:-
в свой конфиг.xml в тег добавить код версии, как показано ниже: -
104280 будет работать для вас, поскольку он больше, чем более старая версия.
теперь опубликуйте его без каких-либо ошибок.
Я использую VS-TACO и столкнулся с этой проблемой.
чтобы немного прояснить ответ Санни, который исправил проблему для меня. Видимо, где-то по пути android-versionCode был рассчитан по этой формуле:
но теперь он рассчитывается с помощью версии Sanny показывает:
Так, например, если ваша версия была 1.3.1 android-versionCode была рассчитана как "103010"
Теперь вы измените версию на 1.3.2 и он рассчитывается по-новому, поэтому версия "10302" меньше, чем "103010".
поэтому, чтобы обойти эту проблему (я думаю, навсегда, если версия android продолжает вычисляться по-новому), вы можете добавить тег версии в свою конфигурацию.XML-код:
или вы можете перейти в Visual Studio и использовать визуальный редактор для config.xml, перейдите в раздел "Android"и измените значение" код версии:".
я столкнулся с аналогичной проблемой, но смог решить ее с помощью следующего скрипта узла, используемого как часть моего конвейера непрерывного развертывания.
Читайте также: