Создание неподписанного APK-файла с помощью Android Studio


272

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

ADT создает файл .apk в "projectname / bin" каждый раз, когда вы компилируете программу. На мой взгляд, в данный момент Android Studio этого не делает.

Итак, мой вопрос: возможно ли создать неподписанный файл .apk в Android Studio?


10
Технически, вам нужен apk, подписанный ключом отладки. Apk, который на самом деле не подписан, будет отклонен устройством.
Крис Страттон

К вашему сведению, мы всегда должны предпочитать экспортировать подписанные приложения в ответ @Nirmal Dhara. Это намного безопаснее.
Mukund

2
@ChrisStratton Всегда ли будет отказано?
Sreekanth Karumanaghat

Ответы:


326

Я бы порекомендовал вам собрать APK-файл с помощью Gradle:

  • Нажмите раскрывающееся меню на панели инструментов вверху (откройте диалоговое окно «Редактировать настройки запуска / отладки»)
  • Выберите «Редактировать конфигурации»
  • Нажмите "+"
  • Выберите «Gradle»
  • Выберите свой модуль в качестве проекта Gradle
  • В Задачи: введите assemble
  • Нажмите Run

Ваш неподписанный APK теперь находится в

ProjectName\app\build\outputs\apk

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

Если вы переместили свой проект из другой среды IDE и не хотите перекомпилировать , вы можете найти файл APK, уже встроенный в среду, из которой вы переместили:

  • Если вы создали проект с помощью Android Studio, файл APK будет найден в ProjectName/ProjectName/build/apk/...

  • Импортировал проект из eclipse: файл должен находиться в том же каталоге. Перейти к Project- Show in Explorer. Там вы должны найти папку bin, в которой находится ваш APK-файл.

  • Импортировано из IntelliJ, местоположение будет ProjectName/out/production/...

Примечание: как отметил Крис Страттон в своем комментарии:

Технически, вам нужен APK, подписанный с помощью ключа отладки. АПК, который фактически не подписан, будет отклонен устройством.


1
Да, я импортировал проект из затмения. Но в моем случае папка bin не затрагивается Android Studio. С небольшим поиском я нашел это сам. В моем случае .apk был расположен в "имя проекта / out / production / projectname /"
klange

Это должно быть только в том случае, если вы перешли с IntelliJ
bpoiss

9
Я создаю проект непосредственно с помощью Studio, но ни в одной из папок проекта нет папки с именем «bin». А в папке «build» есть только две папки, а именно «res» и «source», и нет папки «bin». Можете ли вы предложить мне что-то сейчас?
Химаншу Аггарвал

25
Click the dropdown menu in the toolbar at the topЭто так вообще. Какое выпадающее меню? Какая панель инструментов?
три

3
@dthree, вы можете нажать «Выполнить» в верхней строке меню и выбрать «Редактировать конфигурации» из выпадающего списка
Gema Megantara

226

Согласно Build Unsigned APK с Gradle, вы можете просто создать свое приложение с Gradle. Для этого:

  1. нажмите на выпадающее меню на панели инструментов вверху (обычно со значком андроида и названием вашего приложения)
  2. Выбрать Edit configurations
  3. нажмите плюс в левом верхнем углу или нажмите alt+insert
  4. Выбрать Gradle
  5. выберите свой модуль как Gradle project
  6. в Tasks:войтиassemble
  7. Нажмите OK
  8. Нажмите кнопку PLAY

После этого вы должны найти свой неподписанный «apk» в каталоге ProjectName\app\build\outputs\apk


1
+ отредактируйте build.gradle с помощью android {lintOptions {checkReleaseBuilds false abortOnError false}} [....]} и это работает! спасибо
Штеффи

Спасибо, Марцин ... Это сработало .. Заметил, что я не смог найти папку "output / apk" в Android Studio ... Он появился только в файловой системе ..
Govind

Задача «сборка» не найдена в корневом проекте «bin».
nVentimiglia

2-е голосование. Это должен быть правильный ответ. У меня была эта проблема на чистой установке Android Studio с импортом проекта. Вы должны пройти эту ручную настройку, чтобы получить любые файлы apk из сборки.
rickfoosusa

Он работает в 1.5.1, но на самом деле создает все apks проекта, даже если был выбран один модуль.
Sandrstar

94

Я думаю, самый простой способ:

  • Откройте вкладку Gradle на правой стороне
  • Дважды щелкните YourProject /: приложение / сборка (или сборка отладки)
  • Вы найдете apk здесь
    ... / YourProject / app / build / output / apk / app-debug.apk

Скриншот


1
Спасибо, намного проще, чем принятый ответ, и позволяет не
собирать

42

просто зайдите в BUILD-> Build APK и все готово


8
+1. ОЧЕНЬ простой метод. Кстати, вы можете найти сгенерированный APK наAndroidStudioProjects/<APP NAME>/app/build/outputs/apk/debug/app-debug.apk
Spikatrix

так просто, спасибо большое, это сработало, ценю это.
Zeyad

23

Шаг 1 Откройте андроид студию. Построить -> Создать подписанный APK…. Теперь нажмите «Создать подписанный APK».

введите описание изображения здесь

Шаг 2

введите описание изображения здесь

Нажмите Создать новый.

Шаг 3

Заполните детали и нажмите ОК. введите описание изображения здесь

JKS ключевые детали, он вернется к предыдущему окну.

введите описание изображения здесь

Нажмите Далее, и дайте пароль, который вы сохранили в ключе.

Шаг 4

введите описание изображения здесь

Теперь нажмите Finish и подождите, чтобы завершить процесс сборки.

введите описание изображения здесь

Теперь APK сгенерирован успешно. Нажмите Показать в проводнике.

введите описание изображения здесь

Если вам нужна дополнительная информация, пожалуйста, посетите и проверьте живую демонстрацию http://javaant.com/how-to-make-apk-file-in-android-studio/#.VwzedZN96Hs


3
Вопрос просит неподписанный apk
ravelinx

18

В Android Studio:

  1. Сложение

  2. Построить APK (s)

  3. Подождите и перейдите к месту, указанному во всплывающем окне. На правой нижней стороне

введите описание изображения здесь


14

Да, можно создать неподписанный .apk с Android Studio!

Выделите Project в вашем обозревателе пакетов или столбце проекта, а затем File- Project Structure- Artifacts- +- Android Application- From module 'your app'и затем вы можете изменить местоположение и некоторые другие параметры. Я включаю сборку на make, просто для удобства.


появляется сообщение «Мы предоставим пользовательский интерфейс для настройки параметров проекта позже. До этого, пожалуйста, вручную отредактируйте файл (файлы) build.gradle». Что теперь мне делать?
Химаншу Аггарвал

8
а что если у меня там нет никаких "артефактов"?
белка

Нажмите знак плюса в левом верхнем углу, и вы можете перейти к приложению Android
CACuzcatlan

jetbrains.com/idea/webhelp/artifacts.html в чем смысл использования артефактов? Я думал, что это сгенерировать неподписанный apk debug apk и т. Д., Но кажется, что вы можете просто перейти в папку build / apk, чтобы получить неподписанный apk, если вы запускаете сборочный выпуск из меню gradle (по крайней мере, в intellij IDE). Я только что настроил артефакт, но мне сложно понять, что с ним делать. Может кто-нибудь помочь прояснить разницу и использовать или указать мне в правильном направлении?
cjayem13

@ cjayem13 Некоторые проекты не используют Gradle.
Марк Плано-Лесай

11

В Android Studio 2.2.3 на OSX я просто использовал верхнее меню:

Build > Build APK

Открыл Finder с .apkфайлом. Это не будет генерировать подписанный APK. Вы можете выбрать Generate Signed APKиз того же меню, если это необходимо.


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


11

AndroidStudio 3.4


После Grade Build Runningзавершения вы увидите уведомление в правом нижнем углу, как.

Нажмите на, locateи вы увидите ваш отлаживаемый APK


10

Просто зайдите в Ваше приложение \ app \ build \ output \ apk

и скопировать как на телефон и установить app-debug.apk


1
действительно ли необходимо копировать оба файла?
Вахид Гадири

4

Следующая работа для меня:

Оставьте следующие настройки пустыми, если вы сделали это в build.gradle.

signingConfigs {
        release {
            storePassword ""
            keyAlias ""
            keyPassword ""
        }
    }

и выберите Gradle Task из окна вашего редактора. Он покажет список всех ароматов, если вы создали.

введите описание изображения здесь


3

--- Создать новый конфиг в signatureConfigs

unsigned {
        //do not sign
    }

--- Создать тип сборки в buildTypes

unsigned {
        versionNameSuffix '-unsigned'
    }

--- Перейти на сборку вариантов и выбрать без знака стандарта. Построить проект.

--- Перейдите к «output / apk» и найдите «XXX-unsigned.apk». Чтобы проверить, если он не подписан, попробуйте установить его на устройство - у вас не получится.


Это не работает. Вам нужно определить signinigConfig немного по-другому (взято из stackoverflow.com/a/18121401/624109 )signingConfigs{ unsigned{ storePassword = "" keyAlias = "" keyPassword = "" } }
Muzikant

1

Теперь в Android Studio v1.1.0 должно быть:

  1. выберите Run>Run <your app>
  2. найти файл .apk в <your app>\build\outputs\apk

Я использую 1.2.1.1, но ваш подход не работает. Я должен создать сборку Gradle!
программист

0

Студия Android также создает файл apk при каждой компиляции программы, просто перейдите в папку рабочей области и найдите app-> build-> output->, после чего вы сможете увидеть файл apk.


0

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

  1. Выберите «Редактировать конфигурации»
  2. Нажмите "+"
  3. Выберите «Gradle»
  4. Выберите свой модуль в качестве проекта Gradle
  5. В Задачи: введите соберите

Теперь нажмите ОК,

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

Project\app\build\outputs\apk

0

Я решаю это!

Прежде всего, вы должны добавить это:

defaultConfig { 
 multiDexEnabled true
}

dependencies {
 implementation 'com.android.support:multidex:1.0.3'
}

После этого вы должны нажать « Построить» в верхней панели Android Studio:

Build > Build Bundle (s) / APK (s)> Build APK (s)

Наконец, у вас есть файл app-debug.apk в:

app> build> output > apk> debug> app-debug.apk

Примечание. Файлы apk, debug, app-debug.apk автоматически создаются в выходном файле Android Studio.


0

Шаги для создания неподписанного APK

Примечание. Технически вам нужен APK, подписанный ключом отладки. АПК, который фактически не подписан, будет отклонен устройством. Таким образом, Unsigned APK выдаст ошибку, если вы установите устройство.


я получил сообщение об ошибке: «Не удалось установить рабочий каталог процесса в« C: \ Users \ marad \ .gradle \ daemon \ 5.2.1 \ My Application »: не удалось установить текущий каталог (errno 2)»
ass-king какой-то вопрос

0

Для неподписанного APK: просто установите signatureConfig null. Это даст вам appName-debug-unsigned.apk

debug {
     signingConfig null
}

И построить из меню Build. наслаждаться

Для подписанного APK:

signingConfigs {
        def keyProps = new Properties()
        keyProps.load(rootProject.file('keystore.properties').newDataInputStream())
        internal {
            storeFile file(keyProps.getProperty('CERTIFICATE_PATH'))
            storePassword keyProps.getProperty('STORE_PASSWORD')
            keyAlias keyProps.getProperty('KEY_ALIAS')
            keyPassword keyProps.getProperty('KEY_PASSWORD')
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.internal
            minifyEnabled false
        }
        release {
            signingConfig signingConfigs.internal
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

файл keystore.properties

CERTIFICATE_PATH=./../keystore.jks
STORE_PASSWORD=password
KEY_PASSWORD=password
KEY_ALIAS=key0
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.