Я предполагаю, что все приложения установлены через apt-get являются открытым исходным кодом; но для тех, которые доступны таким образом, где я могу получить исходный код для этих приложений, а также обновить их?
У меня есть пара приложений, которыми я регулярно пользуюсь, которые больше не разрабатываются, и я хотел бы добавить новые функции. Куда мне обратиться, чтобы получить права на обновление этих приложений?
В данном случае конкретно я имею в виду пакет hellanzb
myusuf3 27 фев ’11 в 22:52 2011-02-27 22:52
2011-02-27 22:52
5 ответов
Используйте команду apt-get source (не используйте sudo с ним), чтобы загрузить исходный код пакета.
source source causes apt-get to fetch source packages. APT will examine the available packages to decide which source package to fetch. It will then find and download into the current directory the newest available version of that source package while respect the default release, set with the option APT::Default-Release, the -t option or per package with the pkg/release syntax, if possible. Source packages are tracked separately from binary packages via deb-src type lines in the sources.list(5) file. This means that you will need to add such a line for each repository you want to get sources from.
If you don’t do this you will properly get another (newer, older or none) source version than the one you have installed or could install. If the —compile option is specified then the package will be compiled to a binary .deb using dpkg-buildpackage, if —download-only is specified then the source package will not be unpacked. A specific source version can be retrieved by postfixing the source name with an equals and then the version to fetch, similar to the mechanism used for the package files. This enables exact matching of the source package name and version, implicitly enabling the APT::Get::Only-Source option.
ПРИЛОЖЕНИЯ НЕ ПОДДЕРЖИВАЮТСЯ НА ВАШЕМ ANDROID УСТРОЙСТВЕ | САМОЕ ПРОСТОЕ РЕШЕНИЯ ЗАПУСТИТЬ ВСЕ!!
Note that source packages are not tracked like binary packages, they exist only in the current directory and are similar to downloading source tar balls.
Чтобы собрать пакет из исходного кода, сначала установите зависимости сборки:
sudo apt-get build-dep
Тогда используйте dpkg-buildpackage создать .deb файл. Из APT и Dpkg Quick Reference Sheet:
dpkg-buildpackage Создает пакет Debian из дерева исходных текстов Debian. Вы должны быть в главном каталоге дерева исходных текстов, чтобы это работало. Пример использования:
dpkg-buildpackage -rfakeroot -uc -b
куда -rfakeroot поручает ему использовать программу fakeroot для имитации привилегий root (в целях владения), -uc означает «Не криптографически подписывать журнал изменений», и -b расшифровывается как «Сборка только двоичного пакета»
В терминале cd в каталог, содержащий источник пакета (например, ~/code/hellanzb-0.13 ) и выполните следующую команду:
dpkg-buildpackage -rfakeroot -uc -b
Если сборка прошла успешно, будет .deb файл находится в родительском
Установить на ХОНОР ЛЮБОЕ ПРИЛОЖЕНИЕ без Play Market/как поставить гугл плей сервисы на HONOR!
каталог (например, ~/code/hellanzb_0.13-6.1_all.deb ).
Источник: ask-ubuntu.ru
Android показывает ошибку конфликта подписей при установке приложения
Я хочу предоставить обновленную версию для своего приложения, Он загружается с моего сайта не из Google Play. Когда я загружаю обновленную версию, не заменяя старую версию, вместо нее отображается ошибка «Существующий пакет с тем же именем с противоречивой подписью». Есть ли решение для замены приложения без ручной установки старой версии с устройства.
Nik 05 май 2014, в 13:37
Поделиться
Вы написали какой-либо код для обновления выходящего apk, если доступна новая версия?
Sree 05 май 2014, в 11:08
Поделиться:
installation
4 ответа
Да, сообщение об ошибке уже описывает вашу проблему. Ваша проблема в том, что ваше приложение не подписано с той же подписью, что и предыдущая версия.
Поэтому, чтобы предотвратить это сообщение об ошибке, вы должны подписать приложение с той же подписью, что и предыдущая версия.
Более подробную информацию о подписании подписки можно найти в документах разработчиков Android.
miho 05 май 2014, в 09:44
Поделиться
Да, я согласен. Убедитесь, что хранилище ключей, которое вы использовали для запуска приложения, совпадает с хранилищем ключей в обновленной версии.
Prachi 05 май 2014, в 11:13
В обеих версиях я использовал только хранилище ключей по умолчанию, но система, используемая для разработки, отличается, и я не подписывал старую версию.
Nik 05 май 2014, в 11:25
Я не понимаю, что вы подразумеваете под хранилищем ключей по умолчанию, но в любом случае: когда ваше предыдущее приложение не подписано, обновления невозможны, поскольку система не может гарантировать, что новое обновление разработано той же сущностью. Это причина, почему вы всегда должны подписывать свои приложения.
miho 05 май 2014, в 11:28
есть ли способ удалить старую версию автоматически, используя имя пакета во время установки последней версии.
Nik 05 май 2014, в 13:03
Нет, нет пути. И если вы найдете способ сделать то, что вы хотите, возможно, вы обнаружили серьезную уязвимость Android.
miho 07 май 2014, в 15:39
Показать ещё 3 комментария
Если это разработано вами или разработчиком.
После проверки погоды весь код и имена пакетов одинаковы или нет, в файле Manifest ..
Если это не то, что приложение не принадлежит вам или вашему известному разработчику.
Вам необходимо удалить предыдущую версию и установить новую,
Эта ошибка, которую вы получаете Является ли это приложение не подписанным, означает, что когда мы используем приложение UnSigned, оно не может быть заменено со стороны Подписанного приложения. прежде всего сделайте свое приложение под подпиской.
Как сделать приложение самоподписанным здесь
user3540998 05 май 2014, в 09:33
Поделиться
Каждый файл приложения для Android — apk имеет две основные функции:
- имя пакета — (уникальный идентификатор приложения, например com.example.application)
- подпись
Дополнительная информация о втором. Каждый файл apk должен быть подписан с хранилищем ключей разработчика. Если это версия отладки, это может быть debug-keystore. В этом хранилище ключей есть информация о разработчике и другой информации.
Когда вы устанавливаете систему андроида приложения при первом проверке имени пакета — было ли это приложение уже установлено. И если так система проверяет подписи. Подпись установленного приложения и приложения для установки должна быть одинаковой. В противном случае вы получите ошибку, опишите в своем вопросе.
Итак, ответ: нет, вы не можете установить другое приложение с тем же именем пакета, если подписи установленных и устанавливаемых приложений разные. Вы должны удалить предыдущую версию и установить новую версию, если вам нужна новая версия.
Источник: overcoder.net
Загрузка нового apk приложения — ошибка номера версии
При загрузке новой версии приложения в Google Play возникает ошибка такого вида: APK-файл с кодом версии 1 уже существует. Используйте другой код. Вопрос заключается в том, где и как можно заменить этот самый код?
Отслеживать
69.8k 9 9 золотых знаков 65 65 серебряных знаков 122 122 бронзовых знака
задан 7 апр 2016 в 14:59
201 1 1 золотой знак 2 2 серебряных знака 6 6 бронзовых знаков
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Update
в build.gradle(Module: app)
android < . defaultConfig < . versionCode 2 //для Google Play versionName «1.1» //для пользователей >>
в manifest Вашего проекта
Отслеживать
ответ дан 7 апр 2016 в 15:17
5,002 2 2 золотых знака 17 17 серебряных знаков 40 40 бронзовых знаков
т,е чтобы просто заменить код вместо xml version=»1.0″ ставим xml version=»2.0″ после чего создаем apk ?
7 апр 2016 в 15:20
не-не, я указал часть где меняется версия кода.
7 апр 2016 в 15:32
Чтобы Google Play принял новую версию приложения, нужно повысить версию кода android:versionCode . Если ранее android_versionCode=»1″ , то в новой версии он должен быть на 1 больше — android_versionCode=»2″ .
Если Вы пишете приложения в среде разработки Android Studio С применением Gradle системы сборки, то версию кода нужно будет повышать в файле build.gradle уровня приложения, то есть того, что лежит в папке /app . Внутри этого файла Вы легко найдете строчку versionCode .
versionName — Ваша собственная версия приложения, ее можно показывать пользователям. Она может быть двойная, тройная, с буквами.
После этого нужно собрать *.apk через Build-Generate signed APK. .
Источник: ru.stackoverflow.com