آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

۸ مطلب با موضوع «آموزش اندروید :: gradle» ثبت شده است

gradle یک ابزار بیلد اتوماتیک هست برای بیلد اپلیکیشن ها، مثل اپ های اندرویدی. توسط پلاگین gradle امکان استفاده از gradle در اندروید استودیو فراهم می شود.

۰ نظر موافقین ۰ مخالفین ۰ ۱۸ آذر ۰۲ ، ۱۴:۴۴
میم دال

1. توسط پلاگین gradle امکان استفاده از gradle در اندروید استودیو ایجاد میشه. پس ما برای هر پروژه باید پلاگین gradle و خود gradle رو اضافه کنیم.

 

2. دو تا build.gradle داریم. یکی در "کل پروژه" و یکی "برای هر ماژول". ممکنه پروژه ما چند تا ماژول داشته باشه، در این صورت به ازای هر ماژول یک build.gradle داریم که توش اطلاعات در مورد پلاگین ها، وابستگی ها و مین و ماکس sdk و کامپایل و اینا توضیح داده شده.

توی build.gradle در سطح پروژه، classpathها (مثل کاتلین، gradle، هیلت و ...) آورده میشه و یک سری تسک هایی که gradle انجام میده رو میشه در این قسمت آورد. این تنظیمات برای کل پروژه اعمال میشه.

نکته: هر چی توی classPath آوردیم، پلاگین هم داره!

 

3. اگر کل پروژه به یه وابستگی نیاز داشته باشه در buildScript در قالب classPath بهش میدیم. اگر ماژول به وابستگی نیاز داشته باشه در dependencies بهش میدیم.

 

 

۰ نظر موافقین ۰ مخالفین ۰ ۱۶ آذر ۰۲ ، ۱۷:۵۰
میم دال

برای اپلیکیشن هایی که بیش از 64K متد دارن (K یعنی 1024) به عبارتی دیگر، اپ هایی که بیش از 65,536 متد دارن، باید multidex فعال بشه در غیر این صورت ارور میده.

نحوه فعال سازی در sdkهای پایین تر از 20:

۰ نظر موافقین ۰ مخالفین ۰ ۱۵ تیر ۰۰ ، ۲۰:۵۳
میم دال

گریدل productFlavor هایی که dimension مشابه دارن رو باهم ادغام نمیکنه. مثال زیر به خوبی این قضیه رو نشون میده:

flavorDimensions "dev", "test"
productFlavors{
    free {
        dimension "dev"
        applicationIdSuffix ".free"
        buildConfigField "String", "BASE_URL", "\"https://freeversion.com\""
    }

    paid {
        dimension "dev"
        applicationIdSuffix ".paid"
        buildConfigField "String", "BASE_URL", '"https://paidversion.com"'
    }
    qa{
        dimension "test"
    }
}

۰ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۰۰ ، ۰۱:۵۰
میم دال

اگر بخواهیم از یک سورس کد دو تا خروجی با ویژگی های متفاوت بگیریم (مثلا نسخه free و paid) از productFlavor استفاده میکنیم. توی هر نسخه میشه ریسورس های مختلفی داد که در ادامه توضیح میدم.

۰ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۰۰ ، ۰۱:۱۶
میم دال

برای این کار api key رو توی فایل gradle.properties تعریف کرده و در لیست gitignore اون رو به صورت زیر اضافه میکنیم:

/gradle.properties

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ تیر ۰۰ ، ۲۱:۲۳
میم دال

به صورت پیش فرض دو نسخه از اپلیکیشن میتونه بیلد بشه، نسخه دیباگ و نسخه release. میتونیم نسخه های دیگه با ویژگی های کاستوم هم اضافه کنیم که این کار در بلوک buildTypes انجام میشه. حالا به چه دردی میخوره؟

میشه به هر variant یک سری buildConfigField اضافه کرد و مثلا URL یا apiKey رو توی نسخه های مختلف مدیریت کرد. مثلا:

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ تیر ۰۰ ، ۱۰:۲۳
میم دال

این لینک ها حتما خونده بشه.

 

لینک 1

 

لینک 2

۰ نظر موافقین ۰ مخالفین ۰ ۱۱ اسفند ۹۸ ، ۰۵:۲۹
میم دال