Как запустить чужой проект Android Studio?
Дали тестовое задание на Junior Android разработчика, я его выполнил. Я выложил свой проект на гит. Возник вопрос, как собрать и запустить чужой проект из консоли без установки AS? Что я должен написать в инструкции по запуску? Не клонировать ведь целый проект и запускать его с уже установленными IDE.. Или же достаточно просто прописать в инструкции по запуску что нужно запускать на смартфоне apk файл и тестировать его? Как по другому запускать чужой проект я не знаю. Помогите советом.
- Вопрос задан более трёх лет назад
- 3514 просмотров
Комментировать
Решения вопроса 1
Java, Kotlin, Android Developer
В большинстве случаев те, кто берёт android проект, знают, как с ним работать.
Чтобы собрать apk без студии, нужно установить android sdk на соответствующую систему и вызвать gradle таск assembleDebug/assembleRelease
Одну правильную мысль предыдущий оратор высказал — выложите apk куда-нибудь и делитесь ссылкой.
Ответ написан более трёх лет назад
Комментировать
Нравится 1 Комментировать
Ответы на вопрос 1
Владимир Коротенко @firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Позиция гугла такая:
Android SDK мы не даем без студии. И даже если ты хитромудрый, то при вызове мы выбросим эксепшен, мол установи студию и будет счастье.
Впрочем обходные пути есть. Но в чем ваша проблема? Выложите апк и все. Если кому то нужно собрать, не переломиться запустит студию, ну или грендл если студия уже установлена
Ответ написан более трёх лет назад
Нравится 1 5 комментариев
Elbek M @Elbek_M Автор вопроса
Спасибо за разъяснение!
Откуда вы этот бред взяли?
Как же мы на ci собираем проекты без студии?
https://developer.android.com/studio/#command-tools
Elbek M, это дезинформация.

Владимир Коротенко @firedragon
illuzor, Ровно сейчас разбирался. Студия ругается на отсутствие папки License и требует скопировать откуда то где было согласие.
В общем в первый раз, будет довольно сложно.
ERROR: Failed to install the following Android SDK packages as some licences have not been accepted.
build-tools;27.0.3 Android SDK Build-Tools 27.0.3
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
Alternatively, to transfer the license agreements from one workstation to another, see d.android.com/r/studio-ui/export-licenses.html
Using Android SDK: C:\Program Files (x86)\Android\android-sdk
Install missing SDK package(s)
Инструкция по установке
Видеоинструкция по интеграции VPS SDK в проект для Android:
Запуск Example Project
Для запуска примера приложения необходим смартфон с поддержкой ARCore.
- Клонировать репозиторий по ссылке
https://github.com/naviar-io/naviar-sdk-android.git
- Открыть проект в Android Studio(также можно клонировать проект при помощи Android Studio: File → New → Project From Version Control и в поле URL указать ссылку из пункта 1)
- Дождаться окончания синхронизации проекта и запустить проект
По умолчанию приложение запускается для работы с реальными данными и с использованием GPS. Чтобы проверить работу приложения на фото надо выполнить следующие шаги:
-
После запуска приложения и предоставления всех разрешений, нужно сделать долгое нажатие по экрану, появится следующее меню
- Autofocus — выбран
- GPS — не выбран
Интеграция в собственный проект
- В build.gradle модуля добавить зависимость. Для этого в блок dependencies добавить следующую строчку
dependencies implementation("io.naviar:vps-sdk:0.7.0") . >
- Выполнить синхронизацию проекта с gradle.
- Добавить VpsArFragment на экран. Это можно сделать в xml или через код
androidx.fragment.app.FragmentContainerView android:id="@+id/vFragmentContainer" android:name="io.naviar.vps_sdk.ui.VpsArFragment" android:layout_width="match_parent" android:layout_height="match_parent" />
supportFragmentManager.beginTransaction() .replace(R.id.vFragmentContainer, VpsArFragment()) .commit()
- Создать конфигурацию для VpsService . Для этого можно вызвать
// конфигурация для локализации внутри зданий val vpsConfig = VpsConfig.getIndoorConfig(locationIds>) // или конфигурации для локализации вне зданий val vpsConfig = VpsConfig.getOutdoorConfig(locationIds>) // или создать свою конфигурацию val vpsConfig = VpsConfig(locationIds>)
| Название параметра | Описание | Значение по умолчанию |
|---|---|---|
| locationIds | Идентификатор(ы) локации(й) для локализации. | не задано |
| intervalLocalizationMS | Интервал между локализациями. Задается в миллисекундах. | 2500 |
| useGps | Использовать GPS при локализации или нет. | false |
| localizationType | Способ локализации. Можно установить локализацию по фото(Photo) или при помощи нейронных сетей(MobileVps). | MobileVps |
| failsCountToResetSession | Количество неудачных попыток для сброса текущей сессии VPS (количество попыток исправить положение с учетом результата предыдущей локализации) | 5 |
| updateWorldDurationMS | Продолжительность обновления позиции модели между локализациями. Задается в миллисекундах. | 500 |
| updateWorldDistanceLimit | Если разница позиций моделей между двумя локализациями будет больше заданного значения, то позиция модели будет установлена немедленно, а иначе будет плавное перемещение модели до нужной позиции. | 2f |
| updateWorldAngleLimit | Если разница поворота моделей между двумя локализациями будет больше заданного значения, то поворот модели будет установлен немедленно, а иначе будет плавный поворот модели до нужного значения. | 10f |
После установить конфигурацию в VpsService
val vpsService = vpsArFragment.vpsService vpsService.setVpsConfig(vpsConfig)
Собрать чужой андроид-проект
Есть андроид-проект с гитхаба. Инструкций по сборке нет.
В корне подпроекта есть файлы
.classpath .project AndroidManifest.xml lint.xml project.properties
Насколько я понимаю, файл .project сигнализирует, что собирать эту штуку надо с помощью Eclipse. Так ли это, или есть «более автоматизированные» способы? И если так, то что скорее всего потребуется, кроме Эклипса? apt-get install android-sdk хватит?

hobbit ★★★★★
21.03.20 19:12:58 MSK

Раз нету build.xml и build.gradle то паршиво, поддержку eclipse для сборки анодирод проектов google дроплул в 2017 году.
Я бы поступил так, взял бы небольшой example проект для андроид, может из официального sdk, главное чтоб он собирался gradle’ом ( gradle clean build ), и перетащил туда сурсы/ресурсы «твоего» проекта. Перед этим конечно нужно этот example проект собрать и убедиться что он работает и ты понимаешь как его собрать и установить, чтоб получить представление о позитивном сценарии.
Aber ★★★★★
( 21.03.20 19:36:03 MSK )
У эклипса есть мёртвый плагин и когда-то был менеджер для устанрвки SDK, они интегрировались. С актуальным софтом ты этот проект не соберёшь уже.
Тебе нужно либо последнюю рабочую конфигурацию эклипса подобрать, либо собирать ручками, это не так и сложно, я когда-то это делал. Вопрос в том, сможешь ли ты мануал найти.
WitcherGeralt ★★
( 21.03.20 20:03:41 MSK )

Напомню, что на современных андроидах этот проект скорее всего даже не установится.
TheKnight ★★★
( 21.03.20 21:57:09 MSK )

Эклипс не обязателен.
Лучше так скачать с сайта гугла SDK Tools примерно 23.0.5 и platform-tools 22 и build tools тех же времен, можно и древнее, это одни из самых новых версий, которые были еще до того как гугл начал страдать фигней. Еще поставить Apache Ant 1.10.1.
android update project -p . -t
тут указать номер нужного API, который узнать в
android list targets
Собрать так
ant debug
тогда в папке bin проекта будет APKшник.
Править исходники можно любым текстовым редактором или поставить тот же Eclipse (хоть современный), а на него плагин ADT 23.0.7, тогда можно будет даже гуи мышкой рисовать.
Все версии примерные, просто лично проверил вот эти. Подробности тут.
Пишу по памяти, мог что-то забыть. Не соберется — вывод в студию. Помню что Java нужна 8, 11 не пойдет, но это не точно.
damix9 ★★★
( 21.03.20 22:25:04 MSK )
Ответ на: комментарий от TheKnight 21.03.20 21:57:09 MSK

Всем спасибо за ответы.
Начнём, наверное, с самого принципиального.
Напомню, что на современных андроидах этот проект скорее всего даже не установится.
Почему? Гугл необратимо ломает совместимость? В чём это выражается? Ну и «современных» — это начиная с какого?
hobbit ★★★★★
( 21.03.20 23:15:45 MSK ) автор топика
Ответ на: комментарий от hobbit 21.03.20 23:15:45 MSK

Да, гугл необратимо ломает совместимость. В том числе, выпиливает некоторые разрешения из доступных сторонним разработчикам.
К сожалению, я не могу тебя навскидку сказать точные версии API и Android, и какие разрешения от этого отвалятся прям по памяти. Но допустим PROCESS_OUTGOING_CALLS скорее всего уже не будет тебе доступен в Android 11. WRITE_SMS в современном API отсутствуют, удалили в 6.0.
Ты приложение собрался ручками ставить на телефоны пользователей? Если через Google Play — то учти, что тебе надо поддерживать еще и target SDK достаточно высоким. Это добавляет усилий в поддержке.
P.S.: не являюсь профессиональными Android разработчиком, это ребята рядом профессионально под Android разрабатывали, а я просто сидел.
TheKnight ★★★
( 22.03.20 01:10:11 MSK )
Последнее исправление: TheKnight 22.03.20 01:10:42 MSK (всего исправлений: 1)
9 октября 2020 г.
Скачай студию, попробуй импортировать проект. Если не импортируется — создай Hello World и переноси в него файлы, периодически запуская компиляцию и глядя, чего не хватает. Там далеко не всё очевидно, но проекты небольшие, за полчаса-час справишься.
Про невозможность установки — херня.
Родительский контроль — тоже херня, вообще говоря.
izzholtik ★★★
( 09.10.20 15:46:16 MSK )
Ответ на: комментарий от izzholtik 09.10.20 15:46:16 MSK

Замучаешься ведь так. Проще уж ant’ом. Или даже позвать утилиты SDK непосредственно.
damix9 ★★★
( 10.10.20 15:43:40 MSK )
Последнее исправление: damix9 10.10.20 15:45:24 MSK (всего исправлений: 1)
Ответ на: комментарий от damix9 10.10.20 15:43:40 MSK
Я хз, работают ли антовые сценарии с современным сдк.
izzholtik ★★★
( 10.10.20 16:08:59 MSK )
Ответ на: комментарий от izzholtik 09.10.20 15:46:16 MSK

Зачем поднял некротему?
А, сорри, это сделал анон с порванной жопой.
EXL ★★★★★
( 10.10.20 16:13:25 MSK )
Последнее исправление: EXL 10.10.20 16:14:09 MSK (всего исправлений: 1)
Ответ на: комментарий от izzholtik 10.10.20 16:08:59 MSK

С современным нет, но здесь как раз нужно несовременное.
damix9 ★★★
( 10.10.20 16:46:41 MSK )
Ответ на: комментарий от EXL 10.10.20 16:13:25 MSK

Что плохого в некропостинге? Людям, которые это будут гуглить, неважно, сколько времени прошло между сообщениями. Да и тема этого года.
Как запустить чужой проект visual studio?
Пишу на c++ windows forms. Отправил проект другу, он запускает у себя на студии, выдает ошибку. В чем может быть причина?
Дополнен 4 года назад
Выдает ошибку: «Один или несколько проектов были неправильно загружены». Правда, все проверил, все файлы на месте.
Голосование за лучший ответ
Какой вопрос — такой и ответ
1) Прочитать ошибку
2) Выяснить ее причину
P.s откуда мы можем знать, какая у вас там ошибка. Вы бы хоть написали ее. Причитается куча может быть: что-то не отправили, чего-то то не хватает, версия не подходит, испортилось по передаче, криворукий автор и т. д
