با سلام خدمت دوستان عزیز
من پروژه ام رو کامل کردم به کمک اساتید همین وب سایت و چند تا از دوستان حالا میخام خروجی بگیرم از برنامه منوی زیر رو میرم:
build>generate sined APK
در این بخش یه کلید میسازم و میزنم میره به مرحله بعدی:
[
attachment=414]
در این قسمت من build type رو میزارم روی release
اول این که release چی هست و چه تفاوقتی با debug داره؟
دوم این که من وقتی با build type release خروجی میگیرم اول بیلد میکنه بعدش باید به اون ادرسی که من زدم فایل apk بده میرم به اون ادرس هیچ فایل apk ای وجود نداره درصورتی که وقتی با debug خروجی میگیرم فایل رو برام خروجی میده!!!!؟
اگه میشه کمک کنید.
نسخه Release یعنی نسخه نهایی برای انتشار و تفاوت اصلی توی نسخه Release فشردهشده کدها و Obfuscate شدن با کمک ProGuard و... است. ازطرفی توی نسخه Release دیگه نمیشه با یه Version برنامه رو چندبار نصب کنید روی یه دستگاه و حتماً باید بعد از تغییرات، ورژن رو بالا ببرین تا توی مارکت و گوشی بعنوان آپدیت جدید برنامه شناسایی و نصب بشه. درغیر اینصورت باید برنامه اول Uninstall و بعد مجدداً نصب بشه.
درمورد اینکه توی اون مسیر فایل APK ساخته نمیشه هم باید تنظیمات پروژه رو توی build.gradle در بخش BuildTypes بررسی کنید. ضمناً چک کنید اگه با لینوکس کار میکنید مجوز نوشتن توی اون پوشه رو دارین یا نه. همچنین باید حتماً کلید برای ایجاد نسخه Sign شده تعریف کنید.
این بخش بیلد تایپس من:
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
چک کردم دسترسی خواندن و نوشتن به پوشه داده شده.
کلید هم ساختم برای نسخه sign شده
خوب تنظیمات بیلد تایپ شما درسته. مجوزها و... رو که گفتم چک کنید.
چک کردم دسترسی 777 دادم به پوشه ولی بازم جواب نداد!!!!!
کلید اختصاصی هم ساختم برای پروژه
مورد دیگهای به ذهنم نمیرسه. راستش چنین مشکلی نداشتم و همیشه براحتی نسخه Sign شده ساختم. از منوی بیلد گزینه Generate Signed APK رو انتخاب میکنید دیگه؟
بله
این پنجرهها رو چک کنید خطایی دریافت میکنید یا نه؟
LogCat - Event Log - Gradle Console
این دسترسی پوشه و محتویات پوشه بعد از بیلد کردن!!!
منظورم پوشه مقصدی هست که برای ساخت نسخه Release انتخاب میکنید نه پوشه پروژه.
(24-04-1395، 09:12 ق.ظ)ADMIN نوشته: [ -> ]این پنجرهها رو چک کنید خطایی دریافت میکنید یا نه؟
LogCat - Event Log - Gradle Console
Event Log - Gradle Console
بله خطا های زیادی هستش اینجا :(
ولی هالا بد تر شد که
این همه خطا!!!!
همین پوشه رو انتخاب میکنم برای Release
همون خطاها خیلی واضح گفتن مشکلات رو. رفعشون کنید.
همش رو رفع کردم ولی این یکی رو نمیفهمم چی میگه!!!
نقل قول:FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:lintVitalRelease'.
> Lint found fatal errors while assembling a release target.
To proceed, either fix the issues identified by lint, or modify your build script as follows:
...
android {
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
}
...
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
به تارگت گیر داده ولی نمیدونم تارگت رو باید چیکار کنم تا این ارور رفع بشه!!
یه بار بدون minify توی proGuard امتحان کنید. اگه درست شد علتش پیچیدگی زیاد (و احتمالاً بد نوشتن ساختار کدها) هست که باعث شده توی Obfuscate کردن، ساختار کدها بهم بریزه.