урок 123
- създаване на ключове и да подпише заявлението
Темата на този урок не е пряко свързано с програмиране. И в момента това е възможно да се кодират, без това знание. Но за цялостното развитие, мисля, че тя все още си струва да се говори. Това знание ще бъде полезна за вас, например, когато се подава молба до Google-картата, или когато качите вашите създаването на пазара.
приложения подпис
Като цяло, частен / публичен ключ и удостоверението са въвлечени в процеса на подписване и проверка. Ако се интересувате, можете да Google тези понятия и да проверите детайлите. Аз, за да не се усложни урока, просто ще го наричат всички ключа. За да се разбере темата на урока ще бъде достатъчно.
Създали сте заявление и искате да го тествате върху действителното си устройство или емулатор. За да инсталирате и стартирате приложението, то трябва да бъде подписан. Ако все още не са публикували на своя магазин за приложения, най-вече, за това, че е необходимо да се подпише заявлението, можете да чуете за първи път. И само не забравяйте, че с някой от подписите не са заети. Създаване на проекти, kodili всичко, което трябва, да запазят и пуснат и всичко работи добре. Това се случи, защото самата Eclipse създаден ключ, и той е подписал заявлението, че ключът към вас в началото не трябва да мисля за това. И когато се инсталира приложението, то вече е било подписано. И ако се опитате да инсталирате неподписани приложение, можете да получите съобщение за грешка.
По този начин, молбата следва да бъде подписано и Eclipse любезно го поема върху себе си. Той ги подписва отстраняване на грешки ключ. валидността му, преди да е имало само една година. Android проверява валидността на ключов само при инсталиране. Т.е. Ако сте инсталирали приложението и лицензния ключ е изтекла, вие все още ще бъде в състояние да използват инсталираното приложение. Но, за да инсталирате или обновите заявление, подписано от изтичането на ключова няма да работи. Системата ще генерира грешка.
debug.keystore файл разширение за ключове. Това може да се преведе като ключов магазина. Това е вярно, един такъв файл може да съдържа няколко ключа. С цел да се обжалва пред по-специално в рамките на ключ хранилището под псевдонима (псевдоним, можете да го разгледа като ключов име).
Нека да видим какви възможности има в debug.keystore магазин. Използвайте командата списък. С настройките на хранилище за ключове и ние се отбележи storepass името на файла за съхранение и парола, за да хранилището:
keytool -list -keystore debug.keystore -storepass андроид
Нека да създадете свой собствен ключ. За това ние използваме genkey отбор и това е един куп опции.
keytool -genkey -keystore mykeys.keystore -storepass spassword -alias mykey1 -keypass kpassword1 -dname "CN = Дмитрий Виноградов O = C = StartAndroid RU" -validity 10000
Тя изглежда ужасно, но това всъщност е лесно. Просто трябва да се разбере следното:
съхранение - файл и е защитен с парола
в ключа за запис е псевдоним и парола
също така съдържа ключова информация за собственика и разполага с ограничен срок на действие
Именно тези по-горе параметри са указани в сценария.
Наименованието на магазина на файла - това хранилище
storepass - парола за достъп до хранилището
псевдоним - ключът към създаване на псевдоним
KeyPass - паролата за ключа
dname - информация за собственика на ключа
валидност - срока на валидност на ключа (в дни)
dname посочено в определен формат. Имам само името, организацията и страната.
След като стартирате тази команда за създаване на ключодържателя mykeys.keystore с горните параметри. Ако този магазин не съществува, тя е създадена.
Сега нека отново използвате командата списък, както и поглед към новосъздадения ключ
keytool -list -keystore mykeys.keystore -storepass spassword
Виждаме, че по всякакъв начин, точно както сме създали - един ключ псевдоним mykey1.
Има също така може да се постави втори ключ. Но сега можем да пишем сценария за генериране на ключа по някакъв съкратен вид. Ние няма да посочи парола за хранилището и ключа и информация за собственика.
keytool -genkey -keystore mykeys.keystore -alias mykey2 -validity 10000
и програмата ще ни питат за липсващите данни. На първо място, паролата на трезора, след това данните за собственика на ключа (I попълнени всички задължителни стойности), а след това паролата за новосъздадения ключ, както и потвърждение на паролата.
Функционално, няма разлика, но с този метод не е нужно да се знае dname входен параметър формат (всички комунални услуги се пита) и външни лица не се виждат пароли, които сте въвели.
Сега две ключови магазин. Извършване на списък и да се уверите.
keytool -list -keystore mykeys.keystore
Моля, имайте предвид, че не съм въведете паролата от хранилището (например, за да не се "осветява" него). Ползата ще ме питат:
Очевидно е, че той е бил помолен за въвеждане на парола и свод сега са два ключа.
списък Command все още може да изпълнява с параметър ст. Тази опция добавя съдържанието на информацията.
Сега за всеки ключ може да се види не само псевдонима и датата на създаване, но също така и по отношение на собственика Infa, датата на изтичане, и така нататък.
V параметър може да се използва с genkey екип. След създаването на ключа ще покаже някаква информация за това в конзолата.
Така че ние сме направили с keytool. Ние знаем как да се създаде хранилище с ключовете и да го погледнеш Стария на съществуващите. Остава да разберете как да се регистрирате ключ приложение. За да направите това, използвайте друг инструмент - jarsigner.
подпис сценарий изглежда така:
jarsigner -keystore mykeys.keystore -storepass spassword -keypass kpassword1 Package1.apk mykey1
Имената на параметрите са ни познати от keytool: съхранение (хранилище), парола (storepass) към него и парола (KeyPass) към ключа. И последните две параметри - името на APK файла, който искате да подпишете и псевдоним на посочения ключов магазин, който искате да използвате за подпис.
Приложението ще бъде подписан и системата ще го вземе за монтаж.
За забавление, нека се опитаме да инсталирате неподписани APK. За да създадете, е необходимо да щракнете с десния бутон на проекта в Eclipse и изберете инструментите за Android> Export неподписани пакет от документи. На следващо място, укажете пътя, където да спаси APK-файла. Eclipse създава заявление от проекта и да го съхранява в посочената директория. След това, тя показва съобщение, че трябва да се регистрирате и сгъстяване преди публикуването на приложение (програма zipalign) на.
Опитайте се да инсталирате приложение на емулатора използване ADB. Получават недостатъчност грешка [INSTALL_PARSE_FAILED_NO_CERTIFICATES]:
Системата разпознава, че заявлението не е подписано.
Ако първото хвърляне в APK емулатор и да стартирате диспечера на файловете там, получавам следното съобщение по време на инсталацията:
Eclipse предоставя помощник, който ви дава възможност да изпълни всички стъпки по-горе, за да се инсталира подготовката на приложения. За да направите това по проект в Eclipse, щракнете с десния бутон и изберете Android инструменти> Export Подписано пакет от документи.
Wizard само в случай, ще се изясни проекта
След това трябва да изберете: да използва съществуващ хранилище или да създадете нов. Ако използвате съществуващ, а след това изберете и въведете паролата за този хранилище.
Щракнете върху Напред и съветника пита кои от съществуващите ключове за използване, или дава възможност да се създаде нова.
Изборът на съществуващ ключ, въведете паролата, за да го
Остава да се уточни пътя и името на файла, където Eclipse ще спаси готовите подписан и компресия приложения. В същото време, той веднага показва валидност на сертификата.
Кликнете върху Край, и се пригответе приложение, което можете да публикувате на пазара.
Ако нямате представа все още, съветникът ще ви помогне да го създаде, така че не трябва да се забъркваш с около конзолата и keytool.
В този случай, можете да укажете, че искате да създадете хранилището
След това трябва да създадете ключ
Тук можете да зададете псевдоним, парола, дата на валидност (в години) и Стария собственик.
Е, това остава да посочи пътя към създаден файл
Идеята е, че можех да ви покажа този помощник, който ще направи всичко за вас, но аз мисля, че не би разбрал значението на всички свои екрани и области. И това не е добра практика - да се използва това, което не разбирам. Така че аз боядисани в детайли механизма на ключове и подписване на заявлението, така че можете да си представите, как процеса и вземане на съветника.
В следващия урок:
- ние разбираме, че такова заявление пакет
Присъединете се към нас в телеграмата: