16مارس
apk

مشکل خروجی گرفتن apk

شاید تیتر این یادداشت خیلی ساده باشه و افرادی که آندروید کار میکنن تا بحال این کار رو چندین و چند بار تکرار کرده باشن اما سوال اساسی اینه که آیا این کار رو درست انجام دادن؟؟؟؟؟

مشکل از کجاست؟

مشکل از اونجایی شروع شد که من مجبور شدم برای یکی از پروژه هام از Google Api توی نرم افزارم استفاده کنم . من توی نرم افزارم به نقشه نیاز داشتم و اینکار رو با Google Map Api انجام دادم . خوب همونطور که احیانا میدونید ما باید یک api key از سایت گوگل بگیریم و اون رو توی فایل manifest پروژه قرار بدیم. خوب منم این کار رو کردم . همه چیز درست بود تا زمانیکه متوجه شدم نقشه ها فقط زمان تست و برنامه نویسی درست عمل میکنن و اگر اون رو روی یک گوشی دیگه نصب کنم اصلا نقشه بالا نمیاد. مشکلش هم این بود که من همیشه و همیشه از DebugKeyStore برای خروجی گرفتن از نرم افزار استفاده میکردم (همون حالت پیش فرض) در صورتیکه همونطور که از اسمش پیداست این کلید برای زمان Debug هست و من باید به حالت Release کلید ایجاد میکردم. و با این کلید که برای Release ساختم از گوگل ، api key دریافت میکردم.

راه حل چیه؟

اول یک release keystore بسازین. برای اینکه شما یک release key داشته باشین مراحل زیر رو عینا انجام بدین:

 

  • اول باید مسیر فایل exe رو پیدا کنید . این فایل اصولا در مسیر زیر هست.

البته اسم پوشه jdk بستگی به ورژنش داره. بعد از اینکه از وجود این فایل در مسیر مطمئن شدین مسیر رو کپی کنید.

 

  • حالا به مسیر C:\Windows\System32 برید و روی فایل exe کلیک راست کنید و گزینه ی Run As Administrator رو انتخاب کنید.
  • حالا اول بنویسید CD و یک فاصله بذارین و کلیک راست کرده و اون مسیری رو که در مرحله یک کپی کردین Paste کنید. که میشه به شکل زیر:
  •  

CD C:\Program Files\Java\jdk1.7.0_51\Bin

 

  • حالا کد زیر رو تایپ کنید و اینتر بزنید:

keytool.exe -genkey -v -keystore mykey.keystore -alias myalias -keyalg RSA –keysize 2048 -validity 10000

به جای myley و myalias میتونید اسم های مورد نظر خودتون و قراربدید که خیلی مهم نیست ولی بهتره مرتبط باشه.

 

  • خوب در ادامه کار از شما سوالاتی پرسیده میشه که باید به اونها جواب بدین سوالاتی در مورد رمز عبور مهمه و همچنین اسم شما ولی مابقی رو میتونید با زدن اینتر رد کنید.درنهایت هم کلید برای شما در همون مسیری که فایل exe بود ساخته میشه . مثلا اگر شما مثل مثال مرحله 4 اسم کلیدتون رو mykey.keystore انتخاب کرده باشید در مسیر C:\Program Files\Java\jdk1.7.0_51\Bin   میتونید پیداش کنید.

 

  • تا اینجای کار شما فایل رو ساختین و فقط کافیه زمان ساختن فایل Apk به جای create new keystore گزینه ی use existing keystore انتخاب کنید.

 

خوب خسته نباشید شما یک release.keystore ساختین که توسط اون شما میتونید نرم افزارهای آندرویدیتون رو Signed کنید. ولی کار تموم نشده شما باید برای به ازای این کلید برای نرم افزارتون یک google api key دریافت کنید پس به سایت گوگل و بخش ساخت api key برید و روی create new android key کلید کنید. در این قسمت از شما میخواد که SAH1 رو وارد کنید اما شما الان SHA1 کلید release.keystore رو ندارید ولی کافیه به قسمت export برید و شروع کنید با استفاده از کلید release.keystore یک خروجی برای نرم افزارتون بسازید در مرحله آخر خود eclips کد SHA1 رو بهتون میده و میتونید توسط اون api key خودتون رو بسازید و اون و توی فایل manifest قرار بدین و اینبار به طور کامل با استفاده از release.leystore از نرم افزارتون خروجی بگیرید.

 

تمام

موفق باشید

به اشتراک بگذارید

درباره admin

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شدبخش های مورد نیاز علامت گذاری شده است *

*

© Copyright 2013, All Rights Reserved