Як підписати apk гру або додаток на андроїд правильно
Оскільки сам гугл питання "як підписати APK файл?", Знаю що знайти дійсно робочу і в усьому зрозумілу інструкцію не так вже й легко. Саме тому я вирішив сам написати матеріал про те як варто правильно підписувати свою програму або гру на Андроїд.
Як відомо зараз без цифрового підпису, ваш твір не вдасться розмістити в Market'е, а це вже серйозно. Помітив дуже багато молодих розробники на Андроїд, так би мовити новачки і зовсім забувають підписати свій додаток і намагаються з ним щось потім робити і все задаються питанням чому у них не вдається виконати ту чи іншу дію з їх APK файлом.
Отож, не будемо тягти гуму і почнемо відразу з того якомога підписати ваш апк файл і чим власне користуватися для досягнення бажаного результату.
Цей спосіб найправильніший з усіх перерахованих, тому ми його і опишемо в цьому матеріалі. Ми зробимо свої власні ключі зі своїми даними і сертифікати і ними підпишемо створене вами додаток.
Для початку зробимо сертифікат і ключ для підпису. Встановіть OpenSSL. Під час установки, інсталятор у вигляді вибору запропонує скопіювати компоненти в папку Windows, виберіть у папку Bin, яка буде на місці куди ви встановите весь OpenSSL.
Тепер відкрийте від імені системного адміністратора (це дуже важливо!) Командний рядок. Після чого перейдіть в командному рядку в папку bin, яка знаходиться в папці, куди ви встановили OpenSSL (Наприклад, C: \ OpenSSL \ Bin \ або C: \ Program Files \ OpenSSL \ Bin \). Якщо ви не знаєте, перехід до іншої папки виконується командою cd. Тобто для того щоб перейти в потрібну папку вам варто виконати команду такого плану:
Після того як ви в папці Bin, можна приступати безпосередньо до створення сертифіката і ключа.
Крок 1 (Виконуємо генерацію ключа довжиною 1024 біта)
openssl genrsa -out key.pem 1024
Крок 2 (На основі ключа створюємо запит до сертифікату)
openssl req -new -key key.pem -out request.pem
На цьому етапі вам буде необхідно ввести ваші дані, які будуть ідентифікувати вас в сертифікаті.
Крок 3 (Генеруємо закритий ключ за сертифікатом)
openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem
Крок 4 (Виконуємо генерацію відкритого ключа)
openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt
На цьому етапі, створення необхідних нам файлів для підпису ваших ігор і додатків закінчено. за допомогою створеного ключа і сертифіката ви можете підписувати як угодне кількість ігор і додатків на Android.
А тепер власне, давайте приступимо до підпису додатка. Розпакуйте викачаний по посиланню вище архів з SingApk. Перемістіть з папки Bin, де ми створювали сертифікат і ключ 2 файли: certificate.pem і key.pk8 в папку, куди ви розпакували SingApk. Windows повинен відібрати діалог заміни файлів - замінюйте.
Тепер для того щоб підписати apk файл унікальною цифровим підписом, яку ви зробили самі, просто мишкою перетягніть ваш apk файл на sign_APK.bat. Для того щоб не тягнути файл з одного вікна в інше (це не зручно) перемістіть ваш apk файл в папку з SingApk. Після виконання, в папці з SingApk з'явиться файл apk_signed.apk. який і буде вашим підписаним додатком або грою.