PDA

View Full Version : نسخه جدید appcompat-v7



samiasoft
شنبه 25 فروردین 1397, 06:54 صبح
سلام دوستان

در مسیر زیر از پوشه sdk manager اگر دقت کنید میبنید حتی با اپدیت m2repository و...متاسفانه نسخه های جدید به اینجا اضافه نمیشوند...منظورم نسخه های بالاتر از 26.0 هست که الان اخرین نسخه 28 هست

http://s8.picofile.com/file/8323648192/2018_04_14_072036.jpg


حال به نظرتون این نسخه ها رو از کجا دانلود و در این پوشه قرار بدیم ؟ چون خاطرتون باشه وقتی اندروید استودیو رو بار اول لود میکنیم نسخه 27.1.0 رو چون داخل این پوشه ها نیست اتومات که دانلود میکنه در ادرس زیر کپی میکند :
C:\Users\sami-soft\.gradle\caches\modules-2\files-2.1\com.android.support\appcompat-v7

farhad_shiri_ex
شنبه 25 فروردین 1397, 13:43 عصر
سلام دوستان

در مسیر زیر از پوشه sdk manager اگر دقت کنید میبنید حتی با اپدیت m2repository و...متاسفانه نسخه های جدید به اینجا اضافه نمیشوند...منظورم نسخه های بالاتر از 26.0 هست که الان اخرین نسخه 28 هست

http://s8.picofile.com/file/8323648192/2018_04_14_072036.jpg


حال به نظرتون این نسخه ها رو از کجا دانلود و در این پوشه قرار بدیم ؟ چون خاطرتون باشه وقتی اندروید استودیو رو بار اول لود میکنیم نسخه 27.1.0 رو چون داخل این پوشه ها نیست اتومات که دانلود میکنه در ادرس زیر کپی میکند :
C:\Users\sami-soft\.gradle\caches\modules-2\files-2.1\com.android.support\appcompat-v7

البته اگر از اندروید استودیو استفاده میکنید..!
منهم همین مشکل رو داشتم که اندروید استودیو رو به نسخه (Canary 8 173.4670218) 3.2 ارتقا دادم (البته یکمم اذیتم کرد چون خیلی بهتر شده بخاطر همین پروژه هامو که ایمپورت کردم کلی گیر داشت)
کلا نسخه خود gradle هم به روز کردم به نسخه 3.1.0 و بعد تونستم sdk 27 رو هم دانلود کنم و بعد از کلی گیر دادن تونستم پروژه رو Build کنم البته حالا بماند که کلی Warning هم پروژه ام اضافه شد مهمترین شونم کلاس های منسوخ شده است که اگر هرجا از شون استفاده کرده باشید یه warning براش تولید میکنه.!
البته توی این مسیر C:\..\AppData\Local\Android\sdk\extras\android\m2r epository\com\android\support\appcompat-v7 برای من هم نیست ولی زمانی که تو گریدل هشدار داد که می تونم از sdk27 استفاده کنم منهم کلا به 27 ارتقا دادم یکم طول کشید ولی بالاخره build کردم ولی واقعیتش هنوز خیلی بهش اطمینان ندارم یعنی تو sdk های بالا مشکلی نداشته برای sdk پایینتر هم خوب هنوز تست نکردم اگر تست هام خوب پیش رفت و به نکته ای برخوردم حتما همینجا ذکر میکنم.

samiasoft
شنبه 25 فروردین 1397, 14:31 عصر
ببینید من تونستم ادرس فایل ها رو از سرور گوگل پیدا کنم :


https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.aar
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.aar.md5
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.aar.sha1
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.pom
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.pom.md5
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.pom.sha1
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1-sources.jar
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1-sources.jar.md5
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1-sources.jar.sha1

برای دانلود نسخه های دیگر هم در ادرس نسخه ها رو تغییر بدید میتونید دانلود کنید جداگانه.

حالا دو نسخه 27.0 و 27.1 رو من اینجا قرار میدم....اگر کسی با خطای appcompat روبرو شد این فایل ها رو داخل مسیر زیر اکسترکت کنه و نتیجشو بگه :


C:\sdk\extras\android\m2repository\com\android\sup port\appcompat-v7


دانلود فایلappcompat-v7.27 (http://s9.picofile.com/file/8323670884/appcompat_v7_27.rar.html)

farhad_shiri_ex
شنبه 25 فروردین 1397, 18:26 عصر
دوست عزیزsamiasoft با تشکر از شما!
اگر از اندروید استودیو استفاده میکنید گریدل رو ارتقا دادید مثلا به نسخه 3.1.0 ?
چون همونطور که در بالا هم گفتم برای من مشکلی از appCompat-v7 نمیگیره منتهی تو بعضی پروژه هام که با sdk27 کامپایل میکنم درسته تو یک شون از یکسری فایل resource به نام com.android.builder.png ایراد میگیره و نمیتونه کامپایل کنه فقط توجه کنید که تو الباقی پروژه هام درسته تو اینه که خوب به مراتب سنگین تره و از کتابخانه هایی زیادی استفاده میکنه این ایراد میگیره به نظرت از چی ؟
تو گوگل ام خیلی جستجو کردم تا حالا که چیزی پیدا نکردم.
یعنی عدو سبب خیر میگن این تاپیک شما بود واقعیت من تقریبا ده روزه که گریدل و اندروید استودیو رو ارتقا دادم برای همین همه تست هام رو نتونسته بودم کامل کنم شما که این رو ارسال کردی دیدم هنوز یه ایراداتی دارم.

بعد برای اینها چیکار کنیم
compile 'com.android.support:design:26.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
compile 'com.android.support:cardview-v7:26.1.0'
compile 'com.android.support:support-v4:26.0.3'
compile 'com.android.support:recyclerview-v7:26.0.3'
compile 'com.android.support:support-vector-drawable:26.0.0-alpha1'
اینهاروهم جدا دانلود کنیم کار سختی که ...!

من این مخزن اضافه میکنم به گریدل پروژه


maven {
url 'https://maven.google.com/'
name 'Google'
}

بعد کتابخانه هایی که 26 هستند رو به 27 ارتقا میدم بعد sync میکنم

samiasoft
پنج شنبه 06 اردیبهشت 1397, 02:42 صبح
بنده هم از شما بابت این اطلاعات سپاسگزارم

میبخشید من دیر پاسخ میدم...بنده هم یه بررسی هایی کردم و دیدم که این مشکل


Failed to resolve: com.android.support:appcompat-v7:27.+

در api نسخه 27 اتفاق می افتد.برای حل اون کافی هست که بیاییم قسمت



Compile ‘com.android.support:cardview-v7:27.0.0

را به صورت زیر تغییر بدیم تا اخرین نسخه ای که موجود هست را استفاده کند :


Compile ‘com.android.support:cardview-v7:+’

البته این ناگفته نماند که هربار که پروژه جدید ایجاد میشود بایستی این رو تغییر داد.

اما من برای رهایی از این مشکل اومدم از api نسخه 26 استفاده کردم. چون میبنم که این نسخه چنین مشکلی نداره و تا اندروید 8.0 را ساپرت میکند...:لبخندساده:


حال سوالی که مطرح میشود چه نیازی داریم وقتی بیشتر دستگاه ها از 8.1 استفاده نمیکنند، ما بیاییم از api 27 استفاده کنیم؟

چون من فکر میکنم در اینده گوگل ممکنه یه نسخه از android support support repository رو در خود sdk maanger قرار بده که نسخه های جدیدتر app compat و اون مواردی که در پست قبل گفتید داخلش باشند تا نیاز نباشه گریدل اونارو دانلود کنه...که مساله اینه الان چرا چنین کاری رو انجام نداده است!

farhad_shiri_ex
پنج شنبه 06 اردیبهشت 1397, 09:59 صبح
دوست عزیز! samiasoft خیلی تشکر اطلاعات مفیدی دادی! (یاشاسین!)
البته به گفته خود گوگل استفاده از + برای استفاده از کتابخانه ها میتونه به ساخت های غیر قابل پیش بینی و غیر قابل برگشت ممکن شود و البته توصیه هم نمی شود بهتر از نسخه ها با شماره معتبر استفاد بشه.!


Avoid using + in version numbers; can lead to unpredictable and unrepeatable builds (com.android.support:cardview-v7:+)
Using + in dependencies lets you automatically pick up the latest available version rather than a specific, named version. However, this is not recommended; your builds are not repeatable;
you may have tested with a slightly different version than what the build server used.
(Using a dynamic version as the major version number is more problematic than using it in the minor version position.)

واقعیت اش اینکه از api 27 برای کامپایل استفاده کنید و گریدل رو به روز کنی بستگی به پروژه شما و شرایط کاری تون داره.!
معمولا تو پروژه هایی که نسخه Final دارن و مثلا با sdk های پایینتر و حتی از جاوا 1.7 برای کامپایل استفاده کردن دیگه نمیان نسخه ای که stable شده رو بخوان مثلا با sdk27 دوباره کامپایل کنن که البته هزار تا warning و امثال هم بده.
ولی خوب اینکه به روز باشی و بتونی پروژه تونو با آخرین sdk کامپایل کنید و از جاوا 8 مثلا استفاده کنید حداقل اش این هست که فرض کنید برای اینکه رابط کاربری بهتری داشته باشید بیایی چند تا app که مطرح هستند البته تو خارجی هارو عرض میکنم از نظر UI/UX تست کنی و ایده بگیری و بعد دوست داری این تکنیکها رو تو app خودت هم استفاده کنی و شاید متریالهایی که اون برنامه استفاده کرده تو sdk های بالاتر باشه ویا برای استفاده بهینه تر از اونها از جاوا 8 استفاده کردن.!
خوب حالا شما میرید دنبال این که ببنید چطور این امکانات رو در برنامه خودتون که با sdk پایینتر هست استفاده کنید! در صورتی که تو همون sdk های بالاتر خود تیم اندروید برای شما اون تغییرات انجام داده پس درد سر کمتری خواهید داشت.
ویا فرض کنید که چقدر کدنویسی کمتری و تمیزتری دارید وقتی از جاوا 8 و sdk 26,27 استفاده میکنید مثلا استفاده از جویبارها در لیست های پیوندی(Stream Collection).
مثلا همین Casting Viewsهای بیخود که تا قبل از sdk26 وجود داشتند فکر کنید چقدر کدها شلوغ بودن حالا چقدر راحت تر شده...

/*findviewbyid syntax usage in sdk 25 */
EditText edtText = (EditText) findviewById(R.Id.myEditText);

/*findviewbyid syntax usage in sdk 26 or 27 */
EditText edtText = findviewById(R.Id.myEditText);

راستشو بخواهید من هم از این اندروید استودیو و اشکالاتی که داره خیلی خسته شدم برای همین دارم روی پروژ های کراس پلت فرم کار میکنم یکی از دلیل هاشم اینه که خیلی سرراست میتونی برنامه بنویسی البته پیچیدگی های خودشو داره البته الان دارم با Qt کار میکنم که البته باید شی گرایی و ++C رو خوب بلد باشید.
مثلا همونطور که میدونید چند خط باید کد بنویسیم تا یک list view رو تو اندروید نشون بدیم از کلاس آداپتر تا کلاس خود view و لایه ui...
حالا همون list view تو اندروید با QML تو فریم وورک Qt که خیلی سر راست هستش یعنی لایه ui رو با QML میسازید و لایه های دیگه رو با ++C ...


ScrollView {
anchors.fill: parent

ListView {
width: parent.width
model: 20
delegate: ItemDelegate {
text: "Item " + (index + 1)
width: parent.width
}
}
}

اینم تصویر اجرا شده اش...!
148022

satropat
دوشنبه 29 مرداد 1397, 10:16 صبح
سلام

متسفانه فایلی که قرار دادید پاک شده
درصورت امکان دوباره اپلود کنید

ممنون


ببینید من تونستم ادرس فایل ها رو از سرور گوگل پیدا کنم :


https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.aar
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.aar.md5
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.aar.sha1
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.pom
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.pom.md5
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1.pom.sha1
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1-sources.jar
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1-sources.jar.md5
https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/27.1.1/appcompat-v7-27.1.1-sources.jar.sha1

برای دانلود نسخه های دیگر هم در ادرس نسخه ها رو تغییر بدید میتونید دانلود کنید جداگانه.

حالا دو نسخه 27.0 و 27.1 رو من اینجا قرار میدم....اگر کسی با خطای appcompat روبرو شد این فایل ها رو داخل مسیر زیر اکسترکت کنه و نتیجشو بگه :


C:\sdk\extras\android\m2repository\com\android\sup port\appcompat-v7


دانلود فایلappcompat-v7.27 (http://s9.picofile.com/file/8323670884/appcompat_v7_27.rar.html)

samiasoft
دوشنبه 29 مرداد 1397, 15:38 عصر
سلام

متسفانه فایلی که قرار دادید پاک شده
درصورت امکان دوباره اپلود کنید

ممنون

سلام دوست عزیز

این مشکل رفع نشدن خطا رو نمیشه با این فایل ها حل کرد...اون زمان با بررسی که انجام دادیم فقط باید خود گریدل اینارو دانلود کنه ..نمیشه خودمون دانلود کنیم و در مسیر مربوطه کپی کنیم!!!

اگر به هردلیل گریدل شما هم دانلود نمیشه اول مطمئن بشید که از Sdk Build-Tools نسخه 27 استفاده کنید ..مشکلاتی که من دچار شده بودم در نسخه 28 بود


- Android Sdk Tools 26.1.1
- Android Sdk Build-Tools 27.0.3
- Android Sdk Platform-Tools 27.0.1
- Android Sdk platforms 17 & 18 & 19 & 21 & 22 & 23 & 24 & 25 & 26 & 27

Danial_abdi
دوشنبه 29 مرداد 1397, 19:37 عصر
من اولین پروژه ایی که با J2EE نوشتم یا J2SE ، به راحتی Build و Deploy کردم. با اندروید هم پروژه انجام دادم ولی هنوز به سختی میتوانم بگویم اندروید کار کردم. یکی از دلایلش اینه که برای build و release توسعه دهنده عزیز که ما عزیزان باشیم خیلی با پیچیدگی های ساختاری sdk , gradle و ... درگیر میشیم. برنامه نویسی اندروید پلتفرمش خیلی شاخ و برگ داره و هر کدامش هم کلی داستان و نسخه و عدم سازگاری دارد.
مسایل تحریم را هم در مشکلات ضرب کنید. برنامه نویس بیش از حد با مسائل پشت پرده نسخه ها درگیر میشه. برای release با proguard درگیر میشی. هر طرفش میری کلی درگیری دارد.
شاید به گفته farhad بهتره سمت cross-platform رفت. مثلا زامارین یا Qt که ایشان گفتند. اگر نشد هم کلا برنامه نویسی را میزاریم کنار:لبخند:

farhad_shiri_ex
سه شنبه 30 مرداد 1397, 10:40 صبح
من اولین پروژه ایی که با J2EE نوشتم یا J2SE ، به راحتی Build و Deploy کردم. با اندروید هم پروژه انجام دادم ولی هنوز به سختی میتوانم بگویم اندروید کار کردم. یکی از دلایلش اینه که برای build و release توسعه دهنده عزیز که ما عزیزان باشیم خیلی با پیچیدگی های ساختاری sdk , gradle و ... درگیر میشیم. برنامه نویسی اندروید پلتفرمش خیلی شاخ و برگ داره و هر کدامش هم کلی داستان و نسخه و عدم سازگاری دارد.
مسایل تحریم را هم در مشکلات ضرب کنید. برنامه نویس بیش از حد با مسائل پشت پرده نسخه ها درگیر میشه. برای release با proguard درگیر میشی. هر طرفش میری کلی درگیری دارد.
شاید به گفته farhad بهتره سمت cross-platform رفت. مثلا زامارین یا Qt که ایشان گفتند. اگر نشد هم کلا برنامه نویسی را میزاریم کنار:لبخند:

بله متاسفانه این قضیه پیچیدگی! برنامه نویس را خیلی درگیر جزییات پیاده سازی سیستم عامل کرده حالا برای ما که تو ایران هستیم چند برابر هم هست.! استفاده از وی پی ان ها که پر حفره امنیتی هستند و کل سیستم را رصد میکنن تا اینترنت فوق پرسرعت مون تو کشور بگیر تا آخر...
فریم وورک های چند رگه هم چالش های خودشون دارن متاسفانه و این تغییر پلت فرم به راحتی برای خیلی از شرکتهای ایرانی امکانپذیر نیست و فعلا ازش خیلی استقبال نمیشه البته تو ایران را عرض میکنم.
واین هم یعنی فعلا باید با این SDK های اندروید درگیر باشیم .
واقعیت خود من در آخرین به روز رسانی که داشتم و به اندروید 28 و جاوا 8 هجرت کردم چنان دشوار و کلافه شده بودم که تقریبا یک هفته طول کشید همه پروژه ها را بیارم بالا یه جورهایی اشکم در اومد والان فکر کنم تا اندروید 38 دیگه به روز نمیکنم واقعا هیچ ضمانتی برای بالا اومدن دوباره پروژه وجود نداره.!
حتی بعد از چندبار بالا اومدن پروژه با SDK های جدید چیزی که من جدیدا برخورد کردم این بوده که ظاهرا بعضی از کلاس های گریدل نیاز به روزرسانی دارند بعد از مدتی که پروژه ساخته شده واین یعنی استرس همیشگی از دست دادن پروژه.

البته این نکته را هم باید اضافه کنم برای استفاده از اندروید در تمام فریم وورک های چند رگه بازهم به sdk و ndk و... نیاز هست ولی چون هیچ کاری با گریدل و ant و... ندارن به مراتب ایمن تر و راندمان بهتری دارند فقط کافی این ابزارها را یکبار برای پروژه تعریف کرد.
دیگه از اون به بعد را ابزارهای CMAKE به عهده میگیرن که انقد خوب سر راست هست که خیلی درگیر نمیشین ولی راه اندازی اولیه این فریم وورک ها مثل کیوت متاسفانه یکم پیچیده است.