Sayt bo'limlari
Muharrir tanlovi:
- Matritsalar ustida amallarning ayrim xossalari
- "Skyrim": Oqsoqollar o'rami
- Chap menyuni oching cayo coco
- Nima uchun bizga radioaloqa va radiostansiyalar kerak?
- Kendall va Spearman darajali korrelyatsiya koeffitsientlari Kendall darajali korrelyatsiya koeffitsienti misoli
- Dasturlash funktsiyalari
- Bolalar portfeli - bepul shablonlarni yuklab olish
- Kompyuter viruslarining turlari va ular nima uchun xavfli
- Samsung Galaxy A3 zavod sozlamalarini tiklash
- BIOS: Diskdan yuklash
Reklama
Google Play'da ilovaga imzo qo'yish xususiyatidan qanday foydalanish kerak. Google Play-ga joylashtirish uchun gibrid mobil ilovangizga qanday imzo qo'yish kerak Apk faylini qanday imzolash kerak |
Ilovaga kirish xususiyati tufayli Google Play Google ilovangizning imzolash kalitini boshqarishi, shuningdek, ushbu kalitni himoya qilishi va tarqatish uchun APK fayllaringizni imzolash uchun foydalanishi mumkin. Ushbu saqlash usuli kalit yo'qolgan yoki buzilgan taqdirda sizni himoya qiladi. Muhim! Android App Bundles (tavsiya etilgan ilovalarni nashr qilish formati) dan foydalanish uchun Ilovalar toʻplamini Play Console-ga yuklashdan oldin Google Play ilovalarni imzolash dasturida roʻyxatdan oʻtishingiz kerak. Roʻyxatdan oʻtish akkaunt egalari va xizmat koʻrsatish shartlarini qabul qilgan global ishlab chiqarishni boshqarish ruxsatiga ega foydalanuvchilar uchun ochiq. Google Play ilovasini imzolash dasturida bir vaqtning o'zida faqat bitta ilovani ro'yxatdan o'tkazishingiz mumkin. Ish tamoyillariGoogle Play ilovasini imzolash funksiyasidan foydalanganda kalitlaringiz Google kalitlarini saqlaydigan bir xil infratuzilmada saqlanadi va maxsus kalitlarni boshqarish xizmati tomonidan himoyalanadi. Batafsil ma'lumot Google texnik infratuzilmasini Google Cloud Security hujjatlarida topish mumkin. Android ilovalari shaxsiy kalit bilan imzolanadi. Har bir bunday kalit umumiy sertifikat bilan bog'langan bo'lib, uning yordamida qurilmalar va xizmatlar ilovalar va ularning yangilanishlari xavfsizligini tekshirishi mumkin. Faqat imzosi imzoga mos keladigan yangilanishlar qurilmalarga o'rnatiladi o'rnatilgan dastur. Google ilovaga imzo kalitini boshqarishiga ruxsat berilsa, bu jarayon xavfsizroq bo‘ladi. Eslatma. Google Play ilovasini imzolash xususiyatidan foydalanish ixtiyoriy. Siz App Bundles-dan foydalanmasdan APK-larni yuklab olishingiz va o'z kalitlaringizni boshqarishingiz mumkin. Biroq, agar siz kalit do'koniga kirish huquqini yo'qotib qo'ysangiz yoki u buzilgan bo'lsa, ilovangizni yangilay olmaysiz va uni boshqa paket nomi bilan qayta nashr qilishingiz kerak bo'ladi. Kalitlar, ob'ektlar va asboblarning tavsiflari
Ilovani Google Play’da imzolashdan oldin yoki keyin asl ilova imzolash kaliti bilan imzolangan APK fayllarini yuklab olishingiz mumkin. Agar siz Android App Bundles-ga o'tayotgan bo'lsangiz, ularni sinov versiyalarida sinab ko'rishingiz va ishlab chiqarish versiyalarida mavjud APK'lardan foydalanishingiz mumkin. Bu qanday ishlaydi:
Google Play ilovasini ro'yxatdan o'tkazish dasturiga qanday ro'yxatdan o'tish mumkinYangi ilovalar1-qadam: Yuklab olish kalitini yarating
2-qadam: Chiqarishni tayyorlang
Eslatma. Davom etish uchun siz Foydalanish shartlarini qabul qilishingiz va Ilovani imzolash dasturida ro‘yxatdan o‘tishingiz kerak. 3-qadam: Ilovani imzolash kalitini API provayderlarida ro‘yxatdan o‘tkazingAgar ilovangiz API dan foydalansa, autentifikatsiya qilish uchun Google ilovangizni imzolash uchun foydalanadigan kalit sertifikatini roʻyxatdan oʻtkazishingiz kerak boʻladi. Sertifikatni topish uchun:
1-qadam: Google Play ilovasini imzolash dasturida roʻyxatdan oʻting
2-qadam: Asl kalitni Google-ga yuboring va yuklab olish kalitini yarating
4-qadam: Yuklab olish kalitingiz bilan keyingi ilova yangilanishini imzolangChiqarilgan ilova yangilanishlari yuklab olish kaliti bilan imzolanishi kerak. Yuklab olish kalitini qanday yaratish va asosiy do'konlarni yangilashSiz Google Play ilovasini imzolash dasturiga roʻyxatdan oʻtganingizda yuklab olish kalitini yaratishingiz mumkin yoki uni keyinroq yaratishingiz mumkin Chiqarish boshqaruvi > Ariza imzolari. Yuklab olish kalitini yaratish uchun quyidagi amallarni bajaring:
Sertifikatni chiqarish jarayonida soʻralsa, uni Google’da roʻyxatdan oʻtkazish uchun uni yuklab oling. Agar siz yuklab olish kalitidan foydalansangiz:
Yuklab olish kalitini yaratganingizdan so'ng, agar kerak bo'lsa, quyidagi joylarni tekshiring va yangilang:
Yangi ilovalarni o'rnatish uchun imzo kalitini qanday yangilash kerakBa'zi hollarda siz ilovani imzolash kalitini yangilashni so'rashingiz mumkin. Yangi kalit ilovaning yangi o'rnatishlari va yangilanishlarini imzolash uchun ishlatiladi, eskirgan esa foydalanuvchilar tomonidan allaqachon o'rnatilgan imzolangan versiyalarni yangilash uchun ishlatiladi. Imzolash kaliti har bir ilova uchun faqat bir marta yangilanishi mumkin. Agar bir nechta ilovalarni bir xil jarayonda ishga tushirish uchun bitta imzo kalitidan foydalansangiz, kalitni yangilab bo‘lmaydi. Quyidagi hollarda ilovani imzolash kalitini yangilashni talab qilishingiz kerak:
Eslatma. Play Console’da ilovaga imzo qo‘yish kalitini yangilash so‘rovi Android P va keyingi versiyalarida kalitlarni almashtirish bilan bog‘liq emas. Ushbu kalitni almashtirish hozirda Google Play tomonidan qo'llab-quvvatlanmaydi. Kalitlarni yangilash haqida muhim eslatmalarKalit yangilanishini talab qilishdan oldin, bu qanday o'zgarishlarga olib kelishini tushunish muhimdir.
Kalit yo'qolgan yoki buzilgan bo'lsa nima qilish kerakAgar kirish huquqini yo'qotgan bo'lsangiz shaxsiy kalit yuklab olingan yoki u buzilgan va hisobingiz egasidan so'rang. Yordam xizmatiga murojaat qilganda, hisob egasi upload_certificate.pem faylini biriktirishi kerak. Qo'llab-quvvatlash jamoasi yangi yuklab olish kalitini ro'yxatdan o'tkazganida, siz olasiz elektron pochta, va keyin siz kalit do'konlaringizni yangilashingiz va kalitingizni API provayderlarida ro'yxatdan o'tkazishingiz mumkin. Muhim! Yuklab olish kalitini asl holatiga qaytarish ilovaga kirish kalitiga ta'sir qilmaydi, Google Play foydalanuvchilarga ularni yuborishdan oldin APK fayllarni imzolash uchun foydalanadi. Ushbu ma'lumot foydali bo'ldimi? Ushbu maqolani qanday yaxshilash mumkin? Oldingi bo'limda tasvirlangan keytool yordam dasturi jarsigner vositasining parametrlaridan biri bo'lgan raqamli sertifikatni yaratadi. Yana bir parametr - imzolanishi kerak bo'lgan Android paketi. Android paketini yaratish uchun Eclipse uchun ADT modulidagi Imzosiz ilovalar paketini eksport qilish yordam dasturidan foydalanishingiz kerak. Ushbu yordamchi dasturga qo'ng'iroq qilish uchun siz Eclipse-da Android loyihasini sichqonchaning o'ng tugmasi bilan bosishingiz kerak, tanlang kontekst menyusi Android asboblari va keyin Imzosiz ilovalar paketini eksport qilish-ni tanlang. Ishga tushgandan so'ng, ushbu yordamchi dastur disk raskadrovka sertifikati bilan imzolanmagan .apk faylini yaratadi. Buni sinab ko'rish uchun Android loyihalaringizdan birida Imzosiz ilovalar paketini eksport qilish yordam dasturini ishga tushiring va yaratilgan .apk faylini biror joyda saqlang. IN bu misolda biz avval yaratilgan kalit do'koni papkasidan foydalanamiz va C:\android\release\myappraw.apk nomli .apk faylini yaratamiz. Endi bizda .apk fayli va kalit do'koni mavjud, biz .apk faylini imzolash uchun jarsigner vositasini ishga tushirishimiz mumkin (14.2-ga qarang). Bunday holda, kalit do'koni fayli va .apk fayli uchun to'liq yo'llar ko'rsatilishi kerak. .apk faylini imzolash uchun jarsigner yordam dasturiga kalit doʻkonining joylashuvi, kalit doʻkonining paroli, parol yuboriladi. maxfiy kalit, .apk fayliga yo'l va kalit do'koni elementining taxalluslari. Keyin Jarsigner kalit do'konidagi raqamli sertifikat yordamida .apk fayliga imzo qo'yadi. Jarsigner yordam dasturini ishga tushirish uchun siz asboblar oynasini ochishingiz kerak (2-bobga qarang) yoki buyruq satri oynasini yoki terminal oynasini ochishingiz va katalogdagi bin papkasini ochishingiz kerak. JDK (agar ushbu jild o'zgaruvchida ko'rsatilmagan bo'lsa PATH muhitlari). Xavfsizlik nuqtai nazaridan, parollarni buyruq argumentlari sifatida o'tkazmaslik yaxshiroqdir, bu holda jarsigner ish vaqtida parollarni so'raydi. Shaklda. 14.3-rasmda jarsigner yordam dasturini chaqirish misoli keltirilgan. Siz buni rasmda payqagan bo'lishingiz mumkin. 14.3 jarsigner yordam dasturi faqat bitta parolni so'raydi. Buning sababi, agar do'kon va kalit o'tish bir xil bo'lsa, kalit o'tish so'ralmaydi. To'g'rirog'i, e 14.2 da jarsigner buyrug'i faqat -keypass parolini -storepass parolidan farq qilganda ko'rsatishi kerak. Yuqorida aytib o'tilganidek, zararli dasturchilar ilovangizni o'z versiyalari bilan almashtirishlariga yo'l qo'ymaslik uchun Android ilovangiz raqamli imzolangan bo'lishini talab qiladi. Buning uchun Android ilova yangilanishlarini asl ilova bilan bir xil imzo bilan imzolashni talab qiladi. Agar ilova boshqa imzo bilan imzolangan bo'lsa, Android ularni boshqa ilovalar deb hisoblaydi. Shuning uchun, yana bir bor eslatib o'tamiz: kalit do'koni faylini ehtiyotkorlik bilan ishlating, shunda u keyinchalik ilova yangilanishini chiqarishingiz kerak bo'lganda foydalanish mumkin bo'ladi. Shunday qilib, siz ko'p kunlar (va ehtimol tunlar) ishladingiz va bu sizning birinchi gibridingiz mobil ilova tayyor. Bu juda barqaror, aksariyat muhim xatolar yopilgan. Kichkina qolganlari bor, lekin mukammallik yomon ekanligini eslab, siz arizani nashr etishga qat'iy qaror qabul qilasiz. Buning zaruriy sharti - imzolangan APK faylining mavjudligi. Qanday imzolash kerak apk fayli, siz ushbu maqoladan bilib olasiz. Kichkina dam olishMening uy hayvonlari haqidagi loyiham chiqarilish arafasida bo'lganida, men ilovani qanday tez va og'riqsiz chop etish haqida ma'lumot izlay boshladim. Topilgan ko'rsatmalarning aksariyati oddiy ko'rinardi. Men dastur ishlab chiqilgan Ionic ramka mualliflarining ko'rsatmalarini tanladim. Hamma narsa birinchi marta amalga oshmadi; bir nechta o'ziga xosliklar mavjud. Imzolash jarayoni ushbu maqolada tasvirlangan, muhim nuqtalar ayniqsa ta'kidlangan.Dastlabki ma'lumotlarO'ylaymanki, sizda Apache Cordova yordamida gibrid mobil ilovalarni ishlab chiqish uchun hamma narsa sozlangan. O'rnatish kerak:
BorAvval siz ilovangizning relizlar majmuasini yaratishingiz kerak. Ammo bundan oldin, keling, barcha keraksiz plaginlar o'chirilganligiga ishonch hosil qilaylik. Misol uchun, bizga disk raskadrovka ma'lumotlarini konsolga chiqaradigan plagin kerak emas. Keling, uni o'chirib tashlaymiz:$ cordova plagin rm cordova-plagin-konsol $ cordova build -- Android-ni chiqarish Platformalar/android/build/outputs/apk Faylni imzolash uchun sizga sertifikat kerak. Keling, uni yordamchi dastur yordamida yarataylik kalit vositasi JDK ga kiritilgan: $ keytool -genkey -v -keystore lcf.keystore -alias lcf -keyalg RSA -keysize 2048 -validity 10000 -alias parametrining qiymatini eslab qolish yoki yaxshiroq yozib olish kerak. Yuqoridagi misolda u lcf ga teng (Loyal Client Free ilova nomining birinchi harflari asosida). Men bu erda batafsil ma'lumot bermayman, agar sizni qiziqtirsa, sharhlarda yozing, men sizga batafsilroq aytib beraman. -keystore hello-world.keystore -alias hello-world -keystore weather-app.keystore -taxallus ob-havo ilovasi -keystore todo.keystore -alias todo * Har safar yangilanishlar chiqarilganda ilovaga imzo chekishingiz kerak Qulaylik kalit vositasi qator savollar beradi. Ulardan jami 8 ta bo'ladi. Savollar va taxminiy javoblar haqida oldindan tasavvurga ega bo'lish uchun ularning barchasi quyida, spoyler ostida berilgan. Keytool savollari va ularga namuna javoblar 1. Kalit do'koni parolini kiriting: 2. Yangi parolni qayta kiriting: 3. Ismingiz va familiyangiz nima? 4. Tashkiliy birligingiz qanday nomlanadi? 5. Tashkilotingiz qanday nomlanadi? 6. Shaharingiz yoki tumaningiz nomi nima? 7. Shtatingiz yoki viloyatingiz qanday nomlanadi? 8. Ushbu birlik uchun ikki harfli mamlakat kodi qanday? : y Hammasi to'g'ri yoki yo'qligini tasdiqlang yoki yana kirish uchun Enter tugmasini bosing. Oxirida kalitni muvaffaqiyatli ishlab chiqarishni ko'rsatadigan xabar paydo bo'ladi. Sizdan shaxsiy kalit uchun parol o'rnatish so'raladi (agar siz uni sertifikat bilan bir xil qoldirishni istasangiz, Enter tugmasini bosing): 2 048 bitli RSA kalit juftligi va o'z-o'zidan imzolangan sertifikat (SHA256withRSA) uchun 10 000 kunlik amal qilish muddati: CN=Ivan Petrov, OU=IT, O=2developers, L=Moskva, ST=MO, C=RU Enter kaliti yaratilmoqda uchun parol Muhim Yaratilgan fayl xavfsiz joyda saqlanishi kerak. Agar siz shaxsiy ombordan foydalanayotgan bo'lsangiz, u holda fayl bilan birga topshirilishi mumkin manba kodlari ilovalar. Umuman olganda, sertifikatlarni alohida saqlash yaxshiroqdir. Sertifikatni yo'qotib qo'ysangiz, ilova yangilanishlarini chiqara olmaysiz. Ikki qadam qoldi va siz tarqatish uchun tayyor APK faylga ega bo'lasiz. Keling, imzolashga o'tamiz. Apk faylingizni imzolash uchun yordamchi dasturdan foydalaning jarsigner, bu ham JDK ga kiritilgan. $ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore lcf.keystore android-release-unsigned.apk lcf Va nihoyat, apk faylini optimallashtirish uchun biz yordamchi dasturdan foydalanamiz zipalign: $ zipalign -v 4 android-release-unsigned.apk LoyalClientFree.apk Muhim. Qulaylik zipalign u Android SDK Tools tarkibiga kiradi va uni bu yerda topish mumkin: XulosaEndi sizda tarqatishga tayyor apk fayli bor, uni Google Play-ga yuklash mumkin. Tavsifni to'ldiring, arizangiz reytingini aniqlang va "Nashr etish" tugmasini bosing.Ba'zida Android-dagi ba'zi ilovalar qaysidir ma'noda foydalanuvchiga mos kelmaydi. Masalan, intruziv reklama. Va shunday bo'ladiki, dastur hamma uchun yaxshi, lekin undagi tarjima yo egri yoki umuman yo'q. Yoki, masalan, dastur sinov, lekin olish to'liq versiya hech qanday imkoniyat yo'q. Vaziyatni qanday o'zgartirish mumkin? KirishUshbu maqolada biz APK paketini ilova yordamida qanday qismlarga ajratish, uning ichki tuzilishini ko'rib chiqish, bayt kodini qismlarga ajratish va dekompilyatsiya qilish, shuningdek, bizga u yoki bu foyda keltirishi mumkin bo'lgan ilovalarga bir nechta o'zgartirishlar kiritishga harakat qilamiz. Bularning barchasini o'zingiz qilish uchun sizga Android ilovalari yozilgan Java tili va Android-ning hamma joyida qo'llaniladigan XML tili haqida hech bo'lmaganda asosiy bilim kerak bo'ladi - ilovaning o'zi va unga kirish huquqlarini tavsiflashdan tortib, satrlarni saqlashgacha. ekranda aks etadi. Shuningdek, sizga maxsus konsol dasturiy ta'minotidan foydalanish qobiliyati kerak bo'ladi. Xo'sh, barcha Android dasturlari tarqatilgan APK to'plami nima? Ilovani dekompilyatsiya qilishUshbu maqolada biz faqat qismlarga ajratilgan dastur kodi bilan ishladik, lekin agar katta ilovalarga jiddiyroq o'zgarishlar kiritilsa, smali kodini tushunish ancha qiyin bo'ladi. Yaxshiyamki, biz dex kodini Java kodiga dekompilyatsiya qilishimiz mumkin, garchi u asl bo'lmasa ham, qayta kompilyatsiya qilinmagan bo'lsa ham, dastur mantig'ini o'qish va tushunish ancha oson. Buning uchun bizga ikkita vosita kerak bo'ladi:
Ulardan shunday foydalanish kerak. Birinchidan, biz argument sifatida apk paketiga yo'lni belgilab, dex2jar-ni ishga tushiramiz: % dex2jar.sh mail.apk Natijada, Java kodini ko'rish uchun jd-gui da ochilishi mumkin bo'lgan joriy katalogda mail.jar Java paketi paydo bo'ladi. APK paketlarini tartibga solish va ularni qabul qilishPlastik sumka Android ilovalari, aslida, oddiy ZIP fayl bo'lib, tarkibni ko'rish va uni chiqarib olish uchun maxsus vositalar talab qilinmaydi. Arxivatorga ega bo'lish kifoya - Windows uchun 7zip yoki Linuxda konsolni ochish. Ammo bu o'rash haqida. Ichida nima bor? Umuman olganda, bizda quyidagi tuzilma mavjud:
Ro'yxatda keltirilgan fayllar va kataloglar, agar hammasi bo'lmasa, ehtimol, APK'larning ko'pchiligida. Biroq, eslatib o'tishga arziydigan yana bir nechta oddiy bo'lmagan fayllar/kataloglar mavjud:
Ushbu katalogdan C/C++ da yozilgan o'yin mexanizmini joylashtirgan o'yin ishlab chiqaruvchilari, shuningdek, yuqori unumli dasturlarni yaratuvchilar (masalan, Gugl xrom). Biz qurilmani aniqladik. Lekin sizni qiziqtirgan ilovaning paket faylini qanday olish mumkin? APK fayllarini qurilmadan ildizsiz olishning iloji bo'lmagani uchun (ular /data/app katalogida joylashgan) va ildiz otish har doim ham tavsiya etilmaydi, ilova faylini kompyuteringizga olishning kamida uchta usuli mavjud:
Qaysi birini ishlatish ta'mga bog'liq; foydalanishni afzal ko'ramiz individual ilovalar, shuning uchun biz Real APK Leecher-dan foydalanishni tasvirlab beramiz, ayniqsa u Java-da yozilgan va shunga mos ravishda Windows yoki Nix-da ishlaydi. Dasturni ishga tushirgandan so'ng siz uchta maydonni to'ldirishingiz kerak: Elektron pochta, Parol va Device ID - va tilni tanlang. Birinchi ikkitasi qurilmada foydalanadigan Google hisobingizning elektron pochta manzili va parolidir. Uchinchisi, qurilma identifikatori bo'lib, uni teruvchiga kodni kiritish orqali olish mumkin # #8255## va keyin Device ID qatorini toping. To'ldirishda siz android- prefiksisiz identifikatorni kiritishingiz kifoya. To'ldirgandan va saqlagandan so'ng, ko'pincha "Serverga ulanishda xato" xabari paydo bo'ladi. Uning Google Play bilan hech qanday aloqasi yo'q, shuning uchun uni e'tiborsiz qoldirib, sizni qiziqtirgan paketlarni qidiring. Ko'rish va o'zgartirishAytaylik, siz o'zingizni qiziqtirgan paketni topdingiz, uni yuklab oldingiz, uni ochdingiz... va ba'zi XML faylini ko'rmoqchi bo'lganingizda, fayl matn emasligini bilib hayron qoldingiz. Uni qanday dekompilyatsiya qilish va umuman paketlar bilan qanday ishlash kerak? SDK ni o'rnatish haqiqatan ham kerakmi? Yo'q, SDK ni o'rnatish umuman shart emas. Aslida, APK paketlarini chiqarish, o'zgartirish va paketlash uchun barcha qadamlar quyidagi vositalarni talab qiladi:
Siz ushbu vositalarning barchasini alohida ishlatishingiz mumkin, ammo bu noqulay, shuning uchun ular asosida yaratilgan yuqori darajadagi dasturlardan foydalanish yaxshiroqdir. Agar siz Linux yoki Mac OS X da ishlasangiz, apktool deb nomlangan vosita mavjud. Bu sizga resurslarni asl ko'rinishida (jumladan, ikkilik XML va arsc fayllarini) ochishga, o'zgartirilgan resurslar bilan paketni qayta tiklashga imkon beradi, lekin u paketlarni qanday imzolashni bilmaydi, shuning uchun imzolovchi yordam dasturini qo'lda ishga tushirishingiz kerak bo'ladi. Yordamchi dastur Java-da yozilganiga qaramay, uning o'rnatilishi juda nostandart. Avval jar faylining o'zini olishingiz kerak: $ cd /tmp $ wget http://bit.ly/WC3OCz $ tar -xjf apktool1.5.1.tar.bz2 $ wget http://bit.ly/WRjEc7 $ tar -xjf apktool-install-linux-r05-ibot.tar.bz2 $ mv apktool.jar ~/bin $ mv apktool-install-linux-r05-ibot/* ~/bin $ eksport PATH=~/bin:$PATH Agar siz Windows-da ishlasangiz, buning uchun Virtuous Ten Studio deb nomlangan ajoyib vosita mavjud bo'lib, u ushbu barcha vositalarni (shu jumladan apktool-ning o'zini ham) to'playdi, ammo CLI interfeysi o'rniga u foydalanuvchiga intuitiv grafik interfeysni taqdim etadi, uning yordamida bir necha marta bosish orqali ochish, qismlarga ajratish va dekompilyatsiya qilish operatsiyalarini bajarish. Ushbu vosita Donation-ware, ya'ni ba'zida sizdan litsenziya olishingizni so'ragan oynalar paydo bo'ladi, lekin oxir-oqibat bunga chidash mumkin. Uni tavsiflashning ma'nosi yo'q, chunki interfeysni bir necha daqiqada tushunishingiz mumkin. Ammo apktool, konsol xususiyati tufayli, batafsilroq muhokama qilinishi kerak. Keling, apktool variantlarini ko'rib chiqaylik. Muxtasar qilib aytganda, uchta asosiy buyruq mavjud: d (dekodlash), b (qurilish) va if (ramkani o'rnatish). Agar birinchi ikkita buyruq bilan hamma narsa aniq bo'lsa, uchinchi, shartli bayonot nima qiladi? U ko'rsatilgan UI ramkasini ochadi, bu siz har qanday tizim paketini ajratgan hollarda kerak bo'ladi. Keling, birinchi buyruqning eng qiziqarli variantlarini ko'rib chiqaylik:
apktool-dan foydalanish juda oddiy, buning uchun buyruqlardan birini va APK-ga yo'lni belgilang, masalan: $ apktool d mail.apk Shundan so'ng, paketning barcha chiqarilgan va demontaj qilingan fayllari pochta katalogida paydo bo'ladi. Tayyorgarlik. Reklamani o'chirishNazariya, albatta, yaxshi, lekin agar biz qadoqlanmagan paket bilan nima qilishni bilmasak, nima uchun kerak? Keling, nazariyani o'z foydamiz uchun qo'llashga harakat qilaylik, ya'ni ba'zi dasturiy ta'minotni bizga reklama ko'rsatmasligi uchun o'zgartiramiz. Misol uchun, bu Virtual mash'al bo'lsin - virtual mash'al. Ushbu dasturiy ta'minot biz uchun juda mos keladi, chunki u zerikarli reklama bilan to'ldirilgan va bundan tashqari, kod o'rmonida yo'qolmaslik uchun etarlicha sodda. Shunday qilib, yuqoridagi usullardan birini ishlatib, dasturni bozordan yuklab oling. Agar siz Virtuous Ten Studio dan foydalanishga qaror qilsangiz, shunchaki dasturda APK faylini oching va uni oching, loyiha yarating (Fayl -> Yangi loyiha), so'ngra loyiha kontekst menyusida Import File ni tanlang. Agar sizning tanlovingiz apktool-ga tushgan bo'lsa, faqat bitta buyruqni bajaring: $ apktool d com.kauf.particle.virtualtorch.apk Shundan so'ng, com.kauf.particle.virtualtorch katalogida oldingi bo'limda tasvirlanganga o'xshash fayl daraxti paydo bo'ladi, lekin dex fayllari va apktool.yml fayli o'rniga qo'shimcha smali katalogi mavjud. Birinchisi dasturning bajariladigan dex faylining qismlarga ajratilgan kodini o'z ichiga oladi, ikkinchisi paketni qayta yig'ish uchun apktool uchun zarur bo'lgan xizmat ma'lumotlarini o'z ichiga oladi. Biz izlashimiz kerak bo'lgan birinchi joy, albatta, AndroidManifest.xml. Va bu erda biz darhol quyidagi qatorga duch kelamiz:
Ilovaga Internet ulanishidan foydalanishga ruxsat berish uchun javobgar ekanligini taxmin qilish qiyin emas. Aslida, agar biz shunchaki reklamadan xalos bo'lishni istasak, dasturni Internetdan bloklashimiz kerak bo'ladi. Keling, buni qilishga harakat qilaylik. Belgilangan qatorni o'chirib tashlaymiz va apktool yordamida dasturiy ta'minotni yaratishga harakat qilamiz: $ apktool b com.kauf.particle.virtualtorch Olingan APK fayli com.kauf.particle.virtualtorch/build/ katalogida paydo bo'ladi. Biroq, uni o'rnatib bo'lmaydi, chunki u raqamli imzo va fayl nazorat summasiga ega emas (shunchaki u META-INF/ katalogiga ega emas). Biz apk-signer yordam dasturidan foydalanib paketni imzolashimiz kerak. Ishga tushirildi. Interfeys ikkita yorliqdan iborat - birinchisida (Key Generator) biz kalitlarni yaratamiz, ikkinchisida (APK Signer) imzolaymiz. Shaxsiy kalitimizni yaratish uchun quyidagi maydonlarni to'ldiring:
Qolgan maydonlar, odatda, ixtiyoriy, lekin kamida bittasi to'ldirilishi kerak. OGOHLANTIRISHApk-signer yordamida ilovani imzolash uchun siz Android SDK-ni o'rnatishingiz va ilova sozlamalarida unga to'liq yo'lni ko'rsatishingiz kerak. Barcha ma'lumotlar faqat ma'lumot olish uchun taqdim etiladi. Na muharrirlar, na muallif ushbu maqola materiallaridan kelib chiqishi mumkin bo'lgan har qanday zarar uchun javobgar emas. Endi siz ushbu kalit bilan APK-ni imzolashingiz mumkin. APK Signer yorlig'ida yangi yaratilgan faylni tanlang, parol, kalit taxallus va parolni kiriting, so'ng APK faylini toping va "Imzolash" tugmasini jasorat bilan bosing. Har bir narsa yaxshi bo'lsa, paket imzolanadi. MA'LUMOTPaketni o'z kalitimiz bilan imzolaganimiz sababli, u asl dasturga zid keladi, ya'ni biz dasturiy ta'minotni bozor orqali yangilashga harakat qilganimizda, biz xatoga duch kelamiz. Faqat raqamli imzo talab qilinadi uchinchi tomon dasturiy ta'minoti, shuning uchun agar siz modifikatsiya qilsangiz tizim ilovalari, ular /system/app/ katalogiga nusxa ko'chirish orqali o'rnatiladi, ularga imzo chekishingiz shart emas. Shundan so'ng paketni smartfoningizga yuklab oling, o'rnating va ishga tushiring. Voila, reklama yo'qoldi! Buning o'rniga bizda Internet yo'q yoki tegishli ruxsatnomalar yo'q degan xabar paydo bo'ldi. Nazariy jihatdan, bu etarli bo'lishi mumkin, ammo xabar zerikarli ko'rinadi va rostini aytsam, biz shunchaki ahmoqona dastur bilan omadli bo'ldik. Odatda yozilgan dasturiy ta'minot, ehtimol, hisob ma'lumotlarini aniqlaydi yoki Internetga ulanishni tekshiradi va aks holda ishga tushirishni rad etadi. Bu holatda qanday bo'lish kerak? Albatta, kodni tahrirlang. Odatda, dastur mualliflari ilova yoki uning "faoliyati" dan biri (oddiy qilib aytganda, ilova ekranlari) ishga tushirilganda reklamalarni ko'rsatish va ushbu sinflarni chaqirish usullari uchun maxsus sinflarni yaratadilar. Keling, ushbu sinflarni topishga harakat qilaylik. Biz smali katalogiga o'tamiz, keyin com (org faqat ochiq grafik kutubxonasini o'z ichiga oladi cocos2d), keyin kauf (bu erda, chunki bu ishlab chiquvchining nomi va uning barcha kodi o'sha erda) - va bu erda, marketing katalogi. Ichkarida biz smali kengaytmali bir qator fayllarni topamiz. Bular sinflar bo'lib, ulardan eng diqqatga sazovori Ad.smali sinfi bo'lib, uning nomidan reklamani ko'rsatadigan sinf ekanligini taxmin qilish oson. Biz uning ishlash mantig'ini o'zgartirishimiz mumkin edi, ammo dasturning o'zidan uning har qanday usullariga qo'ng'iroqlarni olib tashlash ancha oson bo'lar edi. Shuning uchun, biz marketing katalogini tark etib, qo'shni zarralar katalogiga, so'ngra virtual mash'alaga o'tamiz. MainActivity.smali fayli bu erda alohida e'tiborga loyiqdir. Bu Android SDK tomonidan yaratilgan va ilovaga kirish nuqtasi sifatida o'rnatilgan standart Android klassi (C dagi asosiy funktsiyaga o'xshash). Faylni tahrirlash uchun oching. Ichkarida smali kodi (mahalliy assembler) mavjud. Bu past darajadagi tabiati tufayli juda chalkash va o'qish qiyin, shuning uchun biz uni o'rganmaymiz, shunchaki koddagi Reklama sinfiga barcha havolalarni topamiz va ularga izoh beramiz. Qidiruvda "Reklama" qatorini kiritamiz va 25-qatorga o'tamiz: Dala shaxsiy e'lon: Lcom/kauf/marketing/Ad; Bu yerda Reklama sinfi obyektini saqlash uchun reklama maydoni yaratiladi. Biz chiziq oldiga ### belgisini qo'yish orqali izoh beramiz. Biz qidiruvni davom ettiramiz. 423-qator: Yangi namunali v3, Lcom/kauf/marketing/Ad; Bu erda ob'ektni yaratish sodir bo'ladi. Keling, fikr bildiraylik. Biz qidiruvni davom ettiramiz va 433, 435, 466, 468, 738, 740, 800 va 802-qatorlarda E'lonlar sinfining usullariga qo'ng'iroqlarni topamiz. Keling, fikr bildiraylik. Qarang, shunday. Saqlash. Endi paketni qayta birlashtirish va funksionallik va reklama mavjudligini tekshirish kerak. Tajribaning tozaligi uchun biz AndroidManifest.xml dan olib tashlangan chiziqni qaytaramiz, paketni yig'amiz, imzolaymiz va o'rnatamiz. Bizning gvineya cho'chqamiz. Ko'rinadigan reklamaVoy! Reklama faqat dastur ishlayotgan paytda yo'qoldi, lekin biz dasturiy ta'minotni ishga tushirganimizda ko'ramiz asosiy menyuda qoldi. Xo'sh, kuting, lekin kirish nuqtasi MainActivity sinfidir va dastur ishlayotgan paytda reklama yo'qolgan, lekin asosiy menyuda qolgan, shuning uchun kirish nuqtasi boshqacha? Haqiqiy kirish nuqtasini aniqlash uchun AndroidManifest.xml faylini qayta oching. Va ha, unda quyidagi qatorlar mavjud:
Ular bizga (va eng muhimi, androidga) android.intent.category.LAUNCHER toifasidan android.intent.action.MAIN niyatini (voqea) yaratishga javoban Start nomli faoliyatni ishga tushirish kerakligini aytadi. Ushbu hodisa ishga tushirgichdagi ilova belgisini bosganingizda hosil bo'ladi, shuning uchun u kirish nuqtasini, ya'ni Start sinfini aniqlaydi. Ehtimol, dasturchi birinchi navbatda asosiy menyusiz dasturni yozgan, unga kirish nuqtasi standart MainActivity klassi bo'lgan, so'ngra menyuni o'z ichiga olgan va Start sinfida tasvirlangan yangi oynani (faoliyat) qo'shgan va uni qo'lda kiritgan. nuqta. Start.smali faylini oching va yana "Reklama" qatorini qidiring, biz 153 va 155 qatorlarda FirstAd klassi haqida eslatma topamiz. U shuningdek, manba kodida va nomiga ko'ra, asosiy ekranda reklamalarni ko'rsatish uchun javobgardir. Keling, batafsilroq ko'rib chiqaylik, FirstAd sinfining namunasini yaratish va kontekstga ko'ra, ushbu misol bilan bog'liq bo'lgan niyat, keyin esa kond_10 yorlig'i, shartli o'tish namunani yaratishdan oldin amalga oshiriladi. sinfdan: If-ne p1, v0, :cond_10 .line 74 new-instance v0, Landroid/content/Intent; ... :cond_10 Ehtimol, dastur qandaydir tarzda reklamaning asosiy ekranda ko'rsatilishi kerakligini hisoblab chiqadi va agar bo'lmasa, to'g'ridan-to'g'ri cond_10 ga o'tadi. OK, keling, uning vazifasini soddalashtiramiz va shartli o'tishni shartsiz bilan almashtiramiz: #if-ne p1, v0, :cond_10 goto:cond_10 Kodda FirstAd haqida boshqa eslatma yo'q, shuning uchun biz faylni yopamiz va apktool yordamida virtual mash'alimizni qayta yig'amiz. Uni smartfoningizga nusxalang, o'rnating, ishga tushiring. Voila, barcha reklamalar yo'qoldi, buning uchun barchamizni tabriklaymiz. NatijalarUshbu maqola Android ilovalarini buzish va o'zgartirish usullari haqida qisqacha ma'lumotdir. Himoyani olib tashlash, tushunarsiz kodni tahlil qilish, dastur resurslarini tarjima qilish va almashtirish, shuningdek, yozilgan ilovalarni o'zgartirish kabi ko'plab muammolar sahna ortida qoldi. Android yordamida NDK. Biroq, asosiy bilimga ega bo'lish, barchasini tushunish uchun vaqt masalasidir. Ko'rishlar soni: 5 618 Android Studio ilovalarni ishlab chiqish uchun ham, dasturlashda avtomatlashtirish va qulaylikni oshirish uchun ham keng imkoniyatlar yaratadi. Agar siz qurilish tizimidan foydalansangiz Gradle ilovalaringizni yaratish uchun siz ilovalaringiz uchun imzo yaratish uchun bir nechta opsiyalarni ham sozlashingiz mumkin. Imzolash kalitlari, parollar va foydalanuvchi nomlaringizni umumiy (yoki hatto shaxsiy) omborga nashr qilishni xohlamasligingiz mumkin. Shuning uchun kalit, parol va foydalanuvchi nomini alohida fayldagi xususiyatlar sifatida belgilashingiz mumkin. Ilovangizni imzolashni boshlashdan oldin gradle.properties faylida yangi xususiyat yaratishingiz kerak. Keling, unga qo'ng'iroq qilaylik Keys.repo va qiymat sifatida, kalit saqlanadigan papkaga yo'lni va keyinchalik xossalari bo'lgan faylni belgilang (masalan, C:/Users/UserName/.signing). Keys.repo=C:/Users/UserName/.signing Keyin siz ushbu jildni yaratishingiz kerak yoki agar mavjud bo'lganini ko'rsatsangiz, uni oching. Unda fayl yaratishingiz kerak YourProjectName.properties, uning ichida kalitlar do'koniga yo'l, kalit taxallus va parol quyidagi shaklda xususiyatlar sifatida yoziladi. RELEASE_STORE_FILE=/YourProjectName/KeyStoreName.jks RELEASE_STORE_PASS=******** RELEASE_ALIAS=Kalit taxallus RELEASE_KEY_PASS=****** Kalitlar omborini qanday yaratish mumkin?Agar kalit do'koningiz bo'lmasa, Android Studio yordamida osongina yaratishingiz mumkin. Buning uchun menyu bandini tanlang Qurmoq -> Imzolangan APK yaratish. Ko'rsatilgan oynada siz bosishingiz kerak Yangi yaratish... Natijada, kalitni saqlash joyini belgilashingiz mumkin bo'lgan oyna ochiladi (ushbu dars uchun darhol siz ko'rsatgan yo'lni tanlaganingiz ma'qul. YourProjectName.properties mulkda RELEASE_STORE_FILE), shuningdek, asosiy ma'lumotlar. Keyin siz papka yaratishingiz kerak Loyihangizning nomi va uni u erga ko'chiring kerakli fayl asosiy do'konlar. Endi siz to'g'ridan-to'g'ri imzolash jarayoniga o'tishingiz mumkin. Buning uchun loyihangizdagi faylni ochishingiz kerak build.gradle(ilova papkasida joylashgan). Uning ichida blokda android quyidagi kodni qo'shishingiz kerak. SigningConfigs ( disk raskadrovka ( /* bu yerda oʻzgarishlar yoʻq */ ) chiqarish ( if (project.hasProperty("Keys.repo")) ( def projectPropsFile = file(project.property("Keys.repo") + "/YourProjectName.properties " ) agar (projectPropsFile.exists()) ( Properties props = new Properties() props.load(new FileInputStream(projectPropsFile)) storeFile file(file(project.property("Keys.repo") + props["RELEASE_STORE_FILE"] ) ) storePassword props["RELEASE_STORE_PASS"] keyAlias rekvizitlari["RELEASE_ALIAS"] keyParol rekvizitlari["RELEASE_KEY_PASS"] ) ) else ( println "==================== = =================================================================================================================================================================“println” - Iltimos, chiqarish-kompilyatsiya muhitini sozlang - masalan ~/. imzolash katalogi" println "========================================== ================== ==========" ))) Imzo olishning turli sxemalari qanday?APK imzosini olishning ikkita sxemasi mavjud: v1 JAR Va v2 To'liq APK. Birinchi holda, u imzolanadi JAR-fayl, bu imzolashning an'anaviy usuli. v1 imzolanishi APKning baʼzi qismlarini, masalan, ZIP metamaʼlumotlarini himoya qilmaydi. APK tekshirgichi ko'plab ishonchsiz (hali tasdiqlanmagan) ma'lumotlar tuzilmalari bilan ishlashi va keyin imzolanmagan ma'lumotlarni o'chirib tashlashi va ko'plab hujum maydonini qoldirishi kerak. Bundan tashqari, APK tekshirgichi ko'p vaqt va xotirani behuda sarflaydigan barcha siqilgan yozuvlarni ochishi kerak. Ushbu muammolarni hal qilish uchun v2 Full APK ikkinchi sxemasi ishlab chiqilgan. V2 sxemasi taqdim etilgan Android 7.0 Nougat (API 25) va versiyadan boshlab ishlaydi Android Studio 2.2 Va Android Gradle plagini 2.2. Ushbu sxema ko'proq narsani ta'minlaydi tez o'rnatish ilovalar va qarshi yaxshi himoya ruxsatsiz o'zgarishlar APK ichida. APK mazmuni xeshlanadi va imzolanadi, so'ngra hosil bo'ladi APK imzo bloki APK-ga kiritilgan. Tekshiruv vaqtida v2 sxemasi APK-ni blok sifatida ko'radi va butun faylda imzo tekshiruvini amalga oshiradi. APK-ga kiritilgan har qanday o'zgartirishlar, jumladan ZIP meta-ma'lumotlariga kiritilgan o'zgartirishlar imzoni bekor qiladi. Tekshiruvning bu shakli ancha tezroq va ruxsatsiz o'zgartirishlarni aniqlay oladi. Yangi format orqaga qarab mos keladi, shuning uchun yangi sxema bilan imzolangan APK'larni eski qurilmalarga o'rnatish mumkin (bu yangi imzoni e'tiborsiz qoldiradi), agar u APK'lar v1 sxemasi bilan imzolangan bo'lsa. Odatiy bo'lib, imzolash ikkala sxemadan ham foydalanadi, shunda ilovalar har qanday qurilmaga o'rnatilishi mumkin. Biroq, agar bunday ehtiyoj mavjud bo'lsa, siz v1 yoki v2 imzosini o'chirib qo'yishingiz mumkin. Buning uchun blokdagi yuqoridagi kodda ozod qilish Quyidagi qatorlarni qo'shish kifoya. V1SigningEnabled noto'g'ri V2SigningEnabled noto'g'ri Shuni ham ta'kidlash kerakki, v2 sxema bilan imzolashdan oldin v1 sxemasi bilan imzolash kerak, chunki APK v2 sxemasi bilan imzolangandan keyin qo'shimcha sertifikatlar bilan imzolangan bo'lsa, v2 sxema bo'yicha tekshiruvdan o'tmaydi. Kod qo'shilgach, ushbu kodni blokga kiriting qurish turlari ichida ozod qilish. Masalan: BuildTypes ( chiqarish ( minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" signingConfig signingConfigs.release ) ) Endi siz xavfsiz menyu elementiga kirishingiz mumkin Qurmoq tanlang APK yaratish, oldindan yig'ish turini o'zgartirgan disk raskadrovka yoqilgan ozod qilish. Ko'rinib turganidek, bu usul qulay, chunki u avtomatik, siz uni faqat bir marta sozlashingiz kerak va kalitlarni saqlashingiz xavfsiz bo'lishi mumkin. |
O'qing: |
---|
Mashhur:
Yangi
- "Skyrim": Oqsoqollar o'rami
- Chap menyuni oching cayo coco
- Nima uchun bizga radioaloqa va radiostansiyalar kerak?
- Kendall va Spearman darajali korrelyatsiya koeffitsientlari Kendall darajali korrelyatsiya koeffitsienti misoli
- Dasturlash funktsiyalari
- Bolalar portfeli - bepul shablonlarni yuklab olish
- Kompyuter viruslarining turlari va ular nima uchun xavfli
- Samsung Galaxy A3 zavod sozlamalarini tiklash
- BIOS: Diskdan yuklash
- "O'rnatish" DVD yoki flesh-diskdan qanday yuklash kerak - rasmlarda BIOS sozlamalari