ساخت فایل (گرفتن خروجی) APK و AAB در اندروید استودیو
در این مبحث ابتدا به معرفی پکیج فایلهای APK و AAB پرداخته سپس نحوه گرفتن خروجی و یا به عبارتی ساخت فایل APK و AAB از پروژه اندرویدی در محیط اندروید استودیو به همراه نحوه ساخت امضای برنامه را بررسی خواهیم کرد.
فرمتهای APK و AAB
به نام خدا. اگر با سیستم عامل اندروید آشنایی مختصری داشته باشید حتما پسوند apk (مخفف Android application package) برایتان آشناست. کاربر چه به صورت مستقیم و چه از طریق اپ استورهای اندرویدی (مانند گوگل پلی، بازار و…) بخواهد اپلیکیشنی را روی دیوایس خود نصب کند، ابتدا میبایست فایل نصبی آن را در اختیار داشته باشد. در واقع در حالت نصب از طریق اپ استور نیز ابتدا بسته نصبی با پسوند apk روی دیوایس بارگذاری و سپس عملیات نصب آغاز می شود. بنابراین شما به عنوان توسعه دهنده اندروید باید در مرحله نهایی از پروژه خود خروجی apk گرفته و سپس به مشتری عرضه کنید. در این جلسه از پروژه ای که قبلا ساختهام استفاده میکنم.
آشنایی با build.gradle
ابتدا به بررسی build.gradle (Module: app) می پردازم:
محتویات build.gradle من به اینصورت است:
apply plugin: 'com.android.application' android { compileSdkVersion 28 defaultConfig { applicationId "ir.android_studio.simpleretrofit" minSdkVersion 19 targetSdkVersion 28 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:28.0.0' }
اگر به خاطر داشته باشید موقع ساخت پروژه جدید، فقط Minimum SDK را تعیین کردیم. من API 19 را به عنوان Minimum API این پروژه درنظر گرفته بودم که در کد بالا با minSdkVersion مشخص شده. compileSdkVersion و targetSdkVersion هردو در هنگام ساخت پروژه به صورت پیش فرض روی آخرین API ایی که در SDK نصب شده و با سایر ابزار مانند Build Tools سازگار است، تنظیم میشود. compileSdkVersion تعیین میکند پروژه با چه API ایی کامپایل شود و targetSdkVersion نیز تعیین می کند هدف ما چه نسخهای از اندروید است که معمولا نسخه هدف توسعه دهندگان، آخرین نسخه منتشر شده از اندروید است (مگر در مواقع خاص که نسخهای پایینتر از نسخه نهایی مدنظر توسعه دهنده میباشد).
versionCode و versionName مربوط به ورژن اپلیکیشن منتشر شده هستند. ما اولین نسخه از اپلیکیشن خود را با ورژن ۱ برای کاربران منتشر میکنیم. در آینده هربار که نیاز به بروزرسانی اپ و انتشار مجدد آن باشد، لازم است ورژن را یک واحد بالا ببریم. یعنی در انتشار اولین بروزرسانی اپلیکیشن برای کاربر، باید versionCode 1 را با versionCode 2 جایگزین کرد و به همین ترتیب برای سایر بروزرسانی ها. سیستم عامل اندروید از این طریق تشخیص می دهد بسته نصبی که کاربر قصد نصب آن را دارد و نسخه ای از آن قبلا روی دیوایس نصب شده، ورژن جدیدتر است و آنرا جایگزین نسخه قبل میکند.
versionName هم مرتبط با versionCode است با این تفاوت که فقط برای نمایش به کاربر استفاده شده و تاثیری در عملکرد بروزرسانی ندارد. مقدار versionCode از نوع عدد صحیح و versionName از نوع رشتهای میباشد. یعنی versionCode را قبل از هر انتشار نسخه جدید باید یک واحد عددی اضافه کنیم اما versionName به اختیار توسعه دهنده است. به عنوان مثال ممکن است یک توسعه دهنده برای انتشار پنجمین نسخه اپلیکیشن برای هردو گزینه Code و Name مقدار ۵ را بکار ببرد. اما عموما بیشتر توسعه دهندگان آپدیت های جزئی (که عمدتا رفع اشکالات است) را در واحدهای اعشار به کاربر نشان می دهند و افزایش واحد اصلی را به انتشار آپدیتهای کلی و بزرگ اختصاص میدهند.
به عنوان مثال من نسخه ۱ اپلیکیشن را منتشر کردهام. یک باگ گزارش شده و آن را رفع میکنم. Name را از ۱٫۰ به ۱٫۱ تغییر می دهم. به همین ترتیب ۴ مرتبه دیگر نیاز به اصلاحات و انتشار نسخه جدید دارم که هربار اعشار را یک واحد افزایش دادهام و نهایتا به ۱٫۵ میرسد. حالا بعد از مدتی تصمیم دارم تغییرات گستردهای در اپلیکیشن لحاظ کرده و امکانات جدیدی به آن اضافه کنم. در اینجا ترجیح میدهم به جای ۱٫۶، ورژن ۲٫۰ را به کاربر نمایش دهم.
مانند versionCode و versionName سایر مواردی که به بررسی آنها پرداختم نیز قابل تغییر هستند. به عنوان مثال ممکن است بخواهم minSdkVersion را از ۱۹ به ۲۰ تغییر دهم و … که پس از اعمال تغییرات با زدن گزینه Sync، پروژه سینک و تغییرات اعمال میشود.
ساخت فایل خروجی APK یا AAB
حالا می خواهم از پروژه خروجی apk یا aab بگیرم:
برای گرفتن خروجی دو گزینه Build Bundle / APK و Generate Signed Bundle / APK در اختیار داریم.
جهت انتشار اپلیکیشن در اپ استورها، لازم است آنرا امضا (Sign) کنیم و اپ استورها اپلیکیشنی که امضا نشده باشد را نمیپذیرند. بنابراین گزینه Build Bundle / APK تنها زمانی کاربرد دارد که بخواهیم اپلیکیشن را روی دیوایس خودمان تست کنیم. لذا برای انتشار اپلیکیشن، خروجی امضا شده میگیریم یعنی Generate Signed Bundle / APK:
در این مرحله نوع خروجی را تعیین میکنیم که از نوع aab باشد یا apk. من گزینه دوم را انتخاب میکنم.
امضایی که میسازیم به صورت یک فایل با پسوند jks ذخیره میشود. این امضا را میتوانیم برای سایر اپلیکیشنهای خود نیز استفاده کنیم. گزینه Create new را انتخاب کرده و در پنجره جدید اطلاعات لازم برای ساخت کلید امضا را وارد میکنم:
Key store path مربوط به تعیین محل ذخیره شدن فایل امضا است. توسط گزینه “…” سمت راست فیلد، وارد پنجره انتخاب مسیر شده و مسیری دلخواه انتخاب میکنم:
در انتهای پنجره در قسمت File name برای فایل امضای خود یک نام تعیین میکنم. سپس یک پسورد تعیین و به جهت تایید دوبار تکرار می کنم. در دفعات بعد که نیاز به استفاده از این امضا داشته باشم این رمز عبور از من پرسیده میشود.
قسمت بعد Alias یا نام مستعار است که یک نام دلخواه وارد می کنم و در خط بعد برای نام مستعار هم نیاز به تعریف رمز عبور دارم. گزینه Validity اشاره به زمان معتبر بودن امضا بر حسب سال است که پیش فرض عدد ۲۵ قرار داده شده. در قسمت Certificate اطلاعاتی از جمله نام و نام خانوادگی، ارگان، شهر، استان و کد کشور از ما خواسته شده که تکمیل حداقل یک مورد الزامیست.
با تایید فرم ، امضا ایجاد شده و به پنجره قبل باز میگردم:
امضای من با نام mysignature.jks ایجاد شد و برای دفعات بعد یا سایر پروژهها با انتخاب گزینه Choose existing میتوانیم مجدد از این امضاء استفاده کنیم.
با تیک زدن Remember passwords در دفعات بعد نیاز به وارد کردن مجدد رمزهای عبور نیست (این قابلیت باعث نشود تا رمز عبوری که تعیین کرده اید را فراموش کنید. مجدد تاکید میکنم این رمز عبور را حتما در جایی یادداشت کنید).
Destination Folder مربوط به محل ذخیره سازی خروجی apk یا aab است:
با توجه به اینکه قصد انتشار اپلیکیشن را دارم، در قسمت Build Type گزینه release باید انتخاب شده باشد. در بخش Signature Versions دو گزینه Jar Signature و Full APK Signature وجود دارد. من هردو گزینه را انتخاب کرده، منتظر می مانم تا عمل Generate انجام شود.
ساخت apk با موفقیت انجام شد:
حالا اپلیکیشن من آماده انتشار و نصب روی دیوایس کاربران است.
در کنار فایل apk یک فایل دیگر با نام output.json ساخته شده که حاوی اطلاعات فایل نصبی (مانند ورژن و..) است. اگر درباره JSON اطلاعاتی ندارید، این فایل را نادیده بگیرید. جهت آشنایی با فرمت JSON این مطلب را دنبال کنید.
گرفتن خروجی aab نیز به همین صورت است با این تفاوت که در مرحله اول گزینه Android App Bundle را انتخاب میکنیم:
تعداد صفحات : ۱۴
حجم : ۱ مگابایت
قیمت : رایگان
تاریخ بروزرسانی آموزش : ۹۹/۱۱/۱۲
دانلود رایگان با حجم ۱ مگابایت لینک کمکی
سلام سید کسی توی قم برام معرفی می کنید که حضوری آموزش ببینم.متشکر
سراغ ندارم بزرگوار
سلام خسته نباشید.
cvc-complex-type.2.4.a: Invalid content was found starting with element ‘base-extension’. One of ‘{codename, layoutlib}’ is expected.
این ارور رو میده ، مشکلش چیه ؟
با این ارور مواجه نشدم. گوگل کردید؟ اولین نتیجه این بود:
https://stackoverflow.com/q/71658373
سلام خسته نباشید
Can not extract resource from com.android.aaptcompiler.ParsedResource@7ba4992.
چطوری میشه این ارور رو برطرف کنم و ممنون.
بررسی بفرمایید:
https://stackoverflow.com/q/72335789
سلام.
لطفا با جدیدترین نسخه ای که اومده آموزش بدین. جدید ترین نسخه کلا همه چیزش فرق داره
با سلام
من هنگام ایجاد فایل apk امضادار، هر پسوردی وارد میکنم خطای keytool error: java.io.IOException: keystore password was incorrect رو از من میگیره. درصورتی که بار اول هست که فایل رو میسازم.
میشه راهنمایی کنید. ممنونم
اروری که فرمودید رو گوگل کردم و اولین نتیجه، لینک زیر بود. لطفا پاسخ ها رو مطالعه بفرمایید:
https://stackoverflow.com/q/16891182/8314092
شکل تب build در هنگامی پروژه ام رو باز می کنم به هیچ وجه فورمت تب build مشابه تصاویر شما نیست.و به این صورت است که تنها دوگزینه فعال هست.
analyze APK
Depoly module to App Engine
چرا من نمی تونم کد نوشته شده رو به apk تبدیل کنم؟
پروژتون بیلد نشده بزرگوار. ببینید خطایی که گرفتید (در تب build پایین اندروید استودیو) مربوط به چه قسمتی هست. اگه از روی متن خطا، مسئله رو تشخیص ندادید، صفحه پرسش های رایج رو مطالعه کنید
با سلام دوباره و سپاس بسیار زیاد از وقتی که اختصاص می دین برای پاسخ.
Unable to find Gradle tasks to build: این پیغامی هست که در قسمت سمت راست صفحه ظاهر می شه. البته برای اولین بار که پروژه را build کردم، پیغامهای زیر نمایش داده شد:
Could not find com.android.tools.build:gradle:7.0.3.
Searched in the following locations:
– https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/7.0.3/gradle-7.0.3.pom
– https://repo.maven.apache.org/maven2/com/android/tools/build/gradle/7.0.3/gradle-7.0.3.pom
Required by:
project :
Add google Maven repository and sync project
Open File
لطف می کنید اگر پاسخ بدید .
بزرگوار در دیدگاه قبلی تون هم عرض کردم صفحه پرسش های رایج رو ابتدا بررسی کنید. این اروری که فرمودید اونجا توضیح داده شده
سلام و وقت بخیر من ی برنامە نوشتم وقتی برنامە رو بدون امضا نصب می کنم اجرا میشە اما وقتی امضاش می کنم نصب نمیشە مشکل از کجاست؟
اروری که میگیرید ببینید چی هست. دیدگاه های قبلی موجود در همین صفحه رو هم بررسی کنید
اگر بخواهیم برنامه را در گوگل پلی منتشر کنیم. در فرآیند امضا آیا باید کد کشور و نام شهر را غیر ایران وارد کنیم یا اهمیتی نداره؟
در این خصوص اطلاعی ندارم. برای اینکه مطمئن باشید میتونید غیر ایران وارد کنید
سلام اندروید استودیو من نسخه ۳٫۶٫۳ هست و گزینه Generate Signed Bundle برای خروجی نداره
چکار کنم؟
ممنون میشم جواب بدین
ببینید چرا پروژتون بیلد نشده و چه اروری گرفتید
هیچ اروری دریافت نکردم
و اصلا اون گزینه نیست که بزنم که کار نکنه بگه یه جا اشتباهه
گزینه باید باشه ولی نیست
راه دیگه ای نیست؟
نه مشکل بیلد شدن پروژه ارتباطی به اجرای پروژه نداره. وقتی پروژه رو ایجاد می کنید یا روی پروژه کار می کنید یا کتابخونه ای اضافه می کنید و…، اگه نقصی وجود داشته باشه (مثل دریافت نشدن کتابخانه و…) پروژه بیلد نمیشه و گزینه گرفتن خروجی هم فعال نیست طبیعتا. صفحه پرسش های رایج رو یه بررسی بکنید بیشتر با این مسائل آشنا بشید
من یک برنامه نوشتم و تونستم فایل apk رو تولید کنم. خود اندروید استودیو میگه فایل با موفقیت تولید شد
ولی فایل apk نه روی گوشی و نه روی ایمولاتور نصب نمیشه
بنظرتون مشکل از کجاست؟
دلایل مختلفی میتونه داشته باشه. اگه پروژه روی شبیه ساز نسخه اندروید مدنظر اجرا میشه ولی فایل apk روش نصب نمیشه، لینک زیر رو بررسی کنید:
https://developers.cafebazaar.ir/fa/guidelines/android-introduction/blocked-play-protect
سلام برای خروجی از Apk من آخرین نسخه مردادماه اندروید استودیو رو دارمش ولی موقع خروجی Apk اون ۲ گزینه که گفتید وجود نداره و خروجی برنامه من فقط روی گوشی های سیستم عامل اندروید ورژن قدیمی کار میکنه!برای اینکه روی همه گوشی ها کار کنه در اندروید استودیو آخرین نسخه باید چیکار کنم؟
کدوم دو گزینه؟
سلام وقت بخیر
منم میخوام شروع کنم خیلی سایت گشتم سردر گم شده ام
لطفا راهنمایی ام کنید تازه پکیج خریداری کرده ام نمی دونم از کجا شروع کنم
قدم به قدم
اگه دوره رو در اختیار دارید چرا داخل سایت بگردید؟ محتوای دوره همین مطالب وب سایت هستش و به ترتیب اولویت لیست شده. به همون ترتیب شروع کنید مباحث رو. تو صفحه معرفی دوره هم میتونید فصل بندی مطالب رو مشاهده کنید
سلام استاد.
من یه تازه وارد هستم.
یه برنامه کتاب ساده نوشتم حالا وقتی برای تست از طریق adb روی گوشی خودم بیلد و نصبش میکنم به صورت کامل و بدون کوچک ترین اروری بیلد صورت میگیره ولی همین که برنامه نصب میشه به صورت خودکار از برنامه بیرون میاد بدون این که چیزی رو اجرا کنه.
باید بگم که بار ها از طریق adb برنامه هایی رو نصب کردم و به خوبی اجرا شدن. حداقل api پروژه ۱۶ هستش و گوشی من اندروید ۶ داره.
تنها وابستگی هایی هم که نصب کردم Recyclerview v7:28.0.0
و
Cardview v7:28.0.0
هست.
لایه هایی هم که تو اکتیویتی ها قرار داده شدن از همین جنس هستند.
واقعا نمیدونم چرا رو گوشی اجرا نمیشه.
حتی رو چند تا گوشی دیگه نصب کردم اونجا اصلا نصب نمیشدن.
موقع اجرا روی دیوایس یا امولاتور داخل Logcat بررسی کنید ببینید علت کرش کردن برنامه چی هست و مربوط به چه قسمتی از برنامه میشه
سلام من میخاستم ی برنامه خوش امدگویی ساده طراحی کنم و طبق دذستورات کتاب جلو رفتم…میخام برنامه رو رو گوشی اجرا کنم ولی زمانی ک میخام ب صورت مستقیم روی گوشی اجراش کنم و یا یک فایل apk از بسازم ارور میده.ممنون میشم راهنمایی کنید
Could not GET ‘https://jcenter.bintray.com/junit/junit/4.12/junit-4.12.pom’. Received status code 403 from server: Forbidden
بزرگوار تاکید شده قبل طرح مشکل، صفحه “مشکلات و پرسش های رایج” رو مطالعه کنید. این ارورها مربوط به تحریم هست که نیاز به تغییر ip دارید
سلام استاد من میخوام لینک دانلود اپلیکیشنمو در سایت خودم قرار بدم ، برای این کار چه نوع خروجی باید بگیرم و اینکه من طبق آموزشتون پیش رفتم و فایل app-release.app بدست آوردم الان اگه بخوام رو گوشی تست کنم باید چیکار کنم؟
خروجی APK
برای تست فایل رو روی حافظه دیوایس انتقال بدید و بازش کنید تا نصب انجام بشه
سلام خسته نباشید، من از برنامه خروجی میگیرم ولی هنگام نصب روی دیوایس ارور Play Protect دریافت میکنم، راهحلی که پیدا کردم اینکه اپلیکیشن رو داخل یه فرمی ثبت کنم تا گوگل مورد بررسی قراربده، در فرم وقتی لینک دانلود برنامه رو وارد میکنم، ایمیلی که برام میفرستم اینه:
You recently submitted an appeal for an app with Google Play Protect.
The link you have provided does not lead to an APK file or the file is corrupted. Please submit a new appeal and check that you are providing the link to the correct APK file.
Thank You,
Google Play Protect Team
گفته شده که لینکی که فرستادید یا خراب است، یا فایل مشکل دارد، من برنامه دیگری را با همین روش تست کردم و درست ثبت شد و ایمیل موفقیت آمیز فرستادن، الان نمیدونم مشکل برنامهای که نوشتم چیه که گوگل نمیتونه تشخیص بده برنامهرو، لطفا راهنمایی کنید.?❤️
والا این مورد رو تجربه نکردم. مطمئن بشید فایل ناقص آپلود نشده باشه
دوستانی که مشکل خطای Blocked By Play Protect دارن …
امیدوترم لینک زیر بتونه کمکشون کنه ان شاءالله
https://developers.cafebazaar.ir/fa/guidelines/android-introduction/blocked-play-protect/
با تشکر از آموزش فوق از آقای مطهری
استفاده کردم……
تشکر از شما بابت اینکه تجربهتون رو با هموطنانتون به اشتراک میذارید
سلام وقت بخیر
من یک تازه واردم میخوام شروع کنیم از صفر
لطفا راهنمایی ام کنید
تشکر
ستون سمت راست، آموزش های پایه رو به ترتیب پیش برید. بعد هم آموزشهای تکمیلی. خواستید همه آموزشها رو یکجا دریافت کنید دوره رو استفاده کنید.
در هر صورت آموزشهای پایه رو به ترتیب از فصل اول شروع کنید
سلام من هر برنامه ای تو اندروید استودیو ران میکنم به دستگاهی که وصله برنامه باز میکنه ولی اون برنامه رو به گوشی دیگه میندازم نصب نمیشه
توضیحات این آموزش رو با دقت مطالعه کنید (امضا اپ و…)
موقع خروجی apk گرفتن وقتی امضا قبلیمو به برنامه میدم ارور Password verification failed میده در صورتی که درست وارد کردم کسی میدونه مشکل چیه؟
طبیعتا اگه درست باشه که نباید ارور بده
سلام خسته نباشید
برای من گزینهBuild Bundle / APK و Generate Signed Bundle / APK
وجود نداره مشکل از چی میتونه باشه؟
پروژتون بیلد نشده ببینید علت چی هست
سلام
توی قسمت مینفست یه برنامه پرمیشن اینترنت رو اضافه کردم
بعد فقط توی بعضی گوشی ها درست کار میکنه و وب ویو، سایت رو نشون میده،اما توی گوشی با اندروید ۹ و۱۰ تست کردم کار نمیکنه
اگه میشه راهنمایی کنید
سلام. برای اینکه به جواب برسید عبارتی مثل
internet permission doesn’t work in android 9 & 10
رو گوگل کنید و ببینید در stackoverflow یا سایت دولوپر اندروید یا بقیه منابع چه دلایل و راهکارهایی براش ذکر شده
سلام ببخشید من برنامم پاک شده ولی فایلapkرو دارم چجوری میتونم بازش کنم؟؟
نمیتونید APK رو دوباره تبدیل کنید به سورس
سلام ممنون از آموزشهای عالیتون
ببخشید یه راهنمایی منو میکنید تازه واردم ممنون. الان که apk رو ساختم وقتی اپدیت کردم اپو، امضا همون قبلی و ورژن رو افزایش میدم. حالا چطور برای کاربر پیام میاد که اپ نسخه جدید داره؟ باید کد بزنم تو اپم که نسخه رو پیدا کنه؟ یا خود استورها مثل بازار انجام میدن یا ….
ممنون میشم راهنماییم کنید
این کار رو خود استور انجام میده
ممنون
فقط اگر بخام در سرور خودم بزارم چطور؟ باید در کد ورژن کنونی را با ورژن اپ سرور مقایسه کنه. ورژن کد url یک فایل .apk چطور میشه بهش ارجاع داد؟
بسیار ممنون
در این مورد تجربه ای ندارم
ممنون اگر علاقه مند بودین آقای مطهری به این مطلب برای سایت خوبتون
https://stackoverflow.com/questions/4967669/android-install-apk-programmatically/4969421#4969421
موفق باشید
سلام وقتتون بخیر
من آخرین ورژن SDk و Gradle رو نصب کردم و از برنامه خروجی apk گرفتم ولی تو اندروید ۶ یا ۷ به پایین ارور unfortunately … has stopped رو میده، باید چکار کنم که فایلی که ذخیره میکنم تو اندروید های پایین هم اجرا بشه؟ ممنون میشم اگر راهنماییم کنید.
موقع اجرا Logcat رو بررسی کنید ببینید تو چه قسمتی از برنامه خطا دارید که باعث بسته متوقف شدن برنامه میشه. در استفاده از کتابخانه ها دقت کنید با چه نسخه هایی سازگار هستند
سلام سوال دیگر : فرض کنید از پروژه ام apk گرفتم حالا می خواهم تغییراتی در پروژه انجام بدهم و با نام دیگر طوری apk بگیرم که به عنوان یک app جدید ذخیره شود بطوریکه بعنوان ورژن جدید بحساب نیاید و apk جدید بجای apk قبلی نصب نشود باید چکار کنم؟ تشکر
میتونید جستجو کنید: Rename package in Android Studio
سلام اخیرا موقعی که می خواهم فایل build.gradle را باز کنم امکانش نیست و پیوسته پیام loading نمایش داده می شود ولی فایل باز نمی شود راهنمائی بفرمائید
یه اسکرین شات بدید لطفا
سلام
هنگام خروجی گرفتن این خطا میده دلیلش چیه ممنون میشم راهنمایی کنید.
Could not find aapt2-4.0.0-6051327-windows.jar (com.android.tools.build:aapt2:4.0.0-6051327).
صفحه مشکلات رایج رو مطالعه بفرمایید:
https://android-studio.ir/problems-and-questions
استاد توی این آدرس برای این مششکل گفته که google() , jcenter() رو اضافه کن که برای من توی جفت اش هست ولی باز این ارور رو دارم
و اینکه من چندین بار پروژه رو با تغییر آی پی سینک کردم ولی باز به این ارور برخورد کردم
ارور رو سرچ کنید ببینید چه دلایل و راهکارهای دیگه ای براش ذکر شده در stackoverflow و سایر منابع
سلام
من هم این مشکل رو دارم هرکاری کردم درست نشد. اگه راه حلی پیدا کردی ممنون میشم بگی.
سلام اقا مطهری
لطفا راهنماییم کنید که چطور بخش Build Type رو پیدا کنم.
تو مراحل بعدی Generate Signed APK هست. آموزش رو با دقت مطالعه کنید
سلام استاد تمام مراحل انجام میدم ولی ارور میده
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ‘:app:validateSigningRelease’.
> Keystore file ‘C:\Users\ASUS\Desktop\zekr.jks’ not found for signing config ‘externalOverride’.
* Try:
Run with –stacktrace option to get the stack trace. Run with –info or –debug option to get more log output. Run with –scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 686ms
۲۵ actionable tasks: 1 executed, 24 up-to-date
ارور رو بررسی کنید بزرگوار. خط ۴ گفته مسیری که برای فایل امضا انتخاب کردید فایلی وجود نداره
چرا شیریت برنامه ها رو نمیزاره نصب بشن
مطمئنید شیریت نمیذاره؟
باسلام هنگام خروجی گرفتن این ارورو گرفتم:* What went wrong:
Execution failed for task ‘:app:lintVitalRelease’.
> Could not resolve all files for configuration ‘:app:lintClassPath’.
> Could not find lint-checks.jar (com.android.tools.lint:lint-checks:26.6.3).
Searched in the following locations:
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.6.3/lint-checks-26.6.3.jar
> Could not find lint-api.jar (com.android.tools.lint:lint-api:26.6.3). https://dl.google.com/dl/android/maven2/com/android/tools/external/com-intellij/kotlin-compiler/26.6.3/kotlin-compiler-26.6.3.jar
پرسش های رایج رو مطالعه کنید بزرگوار. توضیح داده شده
ارور Timeout میده . چرا؟
چه موقعی این ارور رو میگیرید؟
سلام
من طبق آموزش پیش رفتم ولی وقتی فایل apk رو در بازار آپلود میکنم پیغام میده(( بسته باید امضا شده باشد )) مشکل از کجاست؟
مستندات خود بازار رو مطالعه کنید ببینید شاید مورد دیگه ای هم لازمه رعایت بشه
برای منم میگه امضا نشده برنامم
قبولش نمیکنه هیچ مارکت هایی
به این میگن یه توضیح واضح و قابل درست
آفریییییییییییییییییییییییییییییییییین
سلام . برنامه ای که خروجی میگیرم روی ورژن های اندروید ده نصب نمیشه اما ورژن های پایین تر مشکلی نداره باید چیکار کنم ؟
موقع اجرای پروژه روی دیوایس نسخه ۱۰ و بالاتر، Logcat رو بررسی کنید ببینید چه قسمتی سازگاری نداره. یا کدها و متدهایی که استفاده کردید رو بررسی کنید احتمالا یه مورد تو نسخه ۱۰ منقضی (deprecate) شده
سلام چرا برنامه در گوشی من نصب و اجرا میشه ولی در گوشی دوستم نصب ولی متوقف میشه ؟
دلایل مختلف میتونه باشه. پروژه رو روی گوشی دوستتون اجرا و Logcat رو بررسی کنید
بسیار عالی و کاربردی خسته نباشید.
لطفا نحوه انتشار اپلیکیشن در گوگل پلی و… رو هم راهنمایی بفرمایید.
باتشکر
سلام
چرا برنامه بعد نصب درون گوشی میزنه اپلیکیشن متوقف شده است برنامه درون شبیه ساز اجرا میشه و مشکلی نداره
Logcat رو بررسی کنید ببینید علتش چیه
خیلی ممنون عالی بود
سلام
چه طوری در اندروید استودیو مشخص کنیم که ورژن بالاتر خروجی بدهد / مثلا آلان ۲٫۱ است / یک خروجی مثلا ۲٫۱٫۱ بگیریم (شماره ورژن کد و ورژن نام را بالاتر بگیریم . ممنون
در فصل های ابتدایی توضیح داده شده بزرگوار
Could not find lint-checks.jar (com.android.tools.lint:lint-checks:26.5.0).
Searched in the following locations:
https://dl.google.com/dl/android/maven2/com/android/tools/lint/lint-checks/26.5.0/lint-checks-26.5.0.jar
——————————————————
این ارور رو میگیرم وقتی میخوام خروجی بگیرم
فایل build.gradle رو بررسی کنید. در دو بلاک repositories باید هردو گزینه google() و jcenter() وجود داشته باشه. اگه بازم حل نشد ارور رو سرچ کنید ببینید چه دلایل دیگه ای براش ذکر شده