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

272

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

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

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

klange
источник
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, подписанный с помощью ключа отладки. АПК, который фактически не подписан, будет отклонен устройством.

bpoiss
источник
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

Marcin
источник
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, просто для удобства.

schott12521
источник
появляется сообщение «Мы предоставим пользовательский интерфейс для настройки параметров проекта позже. До этого, пожалуйста, вручную отредактируйте файл (файлы) 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
Build -> Build APK     //unsigned app


Build -> Generate Signed APK  //Signed app
Шива Пракаш
источник
11

AndroidStudio 3.4


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

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

Фан Ван Линь
источник
10

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

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

WhiteWolfza
источник
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». Чтобы проверить, если он не подписан, попробуйте установить его на устройство - у вас не получится.

Sharky
источник
Это не работает. Вам нужно определить 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
John_J
источник
Я использую 1.2.1.1, но ваш подход не работает. Я должен создать сборку Gradle!
программист
0

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

user5649834
источник
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.

canerkaseler
источник
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
Камар
источник