{"id":14773,"date":"2025-02-09T23:46:44","date_gmt":"2025-02-09T17:46:44","guid":{"rendered":"https:\/\/shra.ru\/?p=14773"},"modified":"2025-02-09T23:48:35","modified_gmt":"2025-02-09T17:48:35","slug":"avtoinkrement-versii-bilda-v-proekte-na-kotlin","status":"publish","type":"post","link":"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/","title":{"rendered":"\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u043b\u0434\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430 kotlin"},"content":{"rendered":"\n

\u041a\u0443\u0447\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e gradle.kts \u044d\u0442\u043e \u0442\u043e\u0436\u0435 kotlin \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n\n\n\n\n\n\n\n

\u0418 \u0437\u0430\u0434\u0430\u0447\u0430 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044e \u0441\u0431\u043e\u0440\u043a\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0432 build.gradle.kts \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0441\u0435\u043a\u0446\u0438\u044e android.defaultConfig, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n\n\n\n

android {\n    namespace = \"...\"\n    compileSdk = ...\n\n\n    defaultConfig {\n        applicationId = \"...\"\n        minSdk = ...\n        targetSdk = ...\n        versionCode = 1\n        versionName = \"1.0\"\n\n        testInstrumentationRunner = \"androidx.test.runner.AndroidJUnitRunner\"\n    }\n...<\/code><\/pre>\n\n\n\n

\u041d\u0430 \u043c\u0435\u0441\u0442\u0435 \u043c\u043d\u043e\u0433\u043e\u0442\u043e\u0447\u0438\u0439 — \u043a\u0430\u043a\u0438\u0435 \u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/p>\n\n\n\n

\u0425\u043e\u0447\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b versionName<\/em> \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b, \u043a\u0430\u043a \u0442\u043e \u0442\u0430\u043a:<\/p>\n\n\n\n

versionName = \"1.0.${versionCode}\"<\/code><\/pre>\n\n\n\n

\u0410 versionCode<\/em> \u043c\u0435\u043d\u044f\u043b\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438.<\/p>\n\n\n\n

\u0420\u0430\u0437 \u0443\u0436 \u043c\u044b \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442 \u043d\u0430 kotlin, \u0442\u043e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u043d\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0447\u0438\u0442\u0430\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u044e \u0441\u0431\u043e\u0440\u043a\u0438 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0435\u0451 \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0438 \u043f\u0438\u0448\u0435\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 \u044d\u0442\u043e\u0442 \u0436\u0435 \u0444\u0430\u0439\u043b.<\/p>\n\n\n\n

\u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043a\u043e\u043d\u0435\u0446 build.gradle.kts \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e:<\/p>\n\n\n\n

fun getNextVersion(): Int {\n    val properties = Properties()\n    val propertiesFile = File(\".gradle\/my.properties\")\n    var result = 1\n\n    if (propertiesFile.exists()) {\n        propertiesFile.inputStream().use { inputStream ->\n            properties.load(inputStream)\n            result = properties.getProperty(\"myBuildNumber\", \"1\").toInt() + 1\n            properties[\"myBuildNumber\"] = result.toString()\n            propertiesFile.outputStream().use { outputStream ->\n                properties.store(outputStream, null)\n            }\n        }\n    } else {\n        propertiesFile.createNewFile()\n        properties[\"myBuildNumber\"] = result.toString()\n        propertiesFile.outputStream().use { outputStream ->\n            properties.store(outputStream, null)\n        }\n    }\n    println(\"New build version is \" + result)\n    return result\n}<\/code><\/pre>\n\n\n\n

\u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u043c\u043f\u043e\u0440\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 java.util.Properties, \u0435\u0451 \u043c\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u0441\u0430\u043c\u043e\u0435 \u043d\u0430\u0447\u0430\u043b\u043e \u0444\u0430\u0439\u043b\u0430:<\/p>\n\n\n\n

import java.util.Properties<\/code><\/pre>\n\n\n\n

\u0424\u0443\u043d\u043a\u0446\u0438\u044f getNextVersion \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432\u044b\u0448\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c .gradle\/my.properties<\/em>, \u043f\u043e\u043f\u0443\u0442\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u044f \u0435\u0433\u043e, \u0435\u0441\u043b\u0438 \u043e\u043d \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442. \u0412 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e — myBuildNumber, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0431\u0438\u043b\u0434\u0430.<\/p>\n\n\n\n

\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0432\u0435\u0440\u0441\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u0431\u043e\u0440\u043a\u0438.<\/p>\n\n\n\n

\u041e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 defaultConfig \u0441\u0435\u043a\u0446\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0451 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e.<\/p>\n\n\n\n

versionCode = getNextVersion()\nversionName = \"1.0.${versionCode}\"<\/code><\/pre>\n\n\n\n

\u0415\u0441\u043b\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0441\u0431\u043e\u0440\u043a\u0438, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u0444\u0430\u0439\u043b\u0435 .gradle<\/em>\/my.properties<\/em>.<\/p>\n","protected":false},"excerpt":{"rendered":"

\u041a\u0443\u0447\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e gradle.kts \u044d\u0442\u043e \u0442\u043e\u0436\u0435 kotlin \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[200],"tags":[198],"acf":[],"yoast_head":"\n\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u043b\u0434\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430 kotlin<\/title>\n<meta name=\"description\" content=\"\u041a\u0443\u0447\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e gradle.kts \u044d\u0442\u043e \u0442\u043e\u0436\u0435 kotlin \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u043b\u0434\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430 kotlin\" \/>\n<meta property=\"og:description\" content=\"\u041a\u0443\u0447\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e gradle.kts \u044d\u0442\u043e \u0442\u043e\u0436\u0435 kotlin \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439\" \/>\n<meta property=\"og:url\" content=\"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/\" \/>\n<meta property=\"og:site_name\" content=\"Shra's homepage\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-09T17:46:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-09T17:48:35+00:00\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u043c\u0438\u043d\u0443\u0442\u0430\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/\",\"url\":\"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/\",\"name\":\"\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u043b\u0434\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430 kotlin\",\"isPartOf\":{\"@id\":\"https:\/\/shra.ru\/#website\"},\"datePublished\":\"2025-02-09T17:46:44+00:00\",\"dateModified\":\"2025-02-09T17:48:35+00:00\",\"author\":{\"@id\":\"https:\/\/shra.ru\/#\/schema\/person\/55c78fbfda205fbab95564dcccc144e8\"},\"description\":\"\u041a\u0443\u0447\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e gradle.kts \u044d\u0442\u043e \u0442\u043e\u0436\u0435 kotlin \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439\",\"breadcrumb\":{\"@id\":\"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/shra.ru\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u043b\u0434\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430 kotlin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/shra.ru\/#website\",\"url\":\"https:\/\/shra.ru\/\",\"name\":\"Shra's homepage\",\"description\":\"\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 shra, \u0431\u043b\u043e\u0433 \u0444\u0440\u0438\u043b\u0435\u043d\u0441\u0435\u0440\u0430, \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043d\u0430 PHP. \u0417\u0434\u0435\u0441\u044c \u044f \u0434\u0435\u043b\u044e\u0441\u044c \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0438 \u043c\u044b\u0441\u043b\u044f\u043c\u0438, \u043f\u0440\u043e\u0432\u043e\u0436\u0443 \u043e\u043f\u044b\u0442\u044b \u043d\u0430\u0434 \u043b\u044e\u0434\u044c\u043c\u0438, \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u043d\u0435\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0441 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430, \u0432\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0432\u0441\u044e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0432\u0430\u0448\u0435 \u043f\u0441\u0438\u0445\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u0435 \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u044b \u0442\u0440\u0435\u0442\u044c\u0438\u0445 \u043b\u0438\u0446.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/shra.ru\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"ru-RU\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/shra.ru\/#\/schema\/person\/55c78fbfda205fbab95564dcccc144e8\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\/\/shra.ru\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/shra.ru\/wp-content\/uploads\/2021\/08\/shra_ava_margo_512-96x96.png\",\"contentUrl\":\"https:\/\/shra.ru\/wp-content\/uploads\/2021\/08\/shra_ava_margo_512-96x96.png\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/shra.ru\"],\"url\":\"https:\/\/shra.ru\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u043b\u0434\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430 kotlin","description":"\u041a\u0443\u0447\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e gradle.kts \u044d\u0442\u043e \u0442\u043e\u0436\u0435 kotlin \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/","og_locale":"ru_RU","og_type":"article","og_title":"\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u043b\u0434\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430 kotlin","og_description":"\u041a\u0443\u0447\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e gradle.kts \u044d\u0442\u043e \u0442\u043e\u0436\u0435 kotlin \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439","og_url":"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/","og_site_name":"Shra's homepage","article_published_time":"2025-02-09T17:46:44+00:00","article_modified_time":"2025-02-09T17:48:35+00:00","author":"admin","twitter_card":"summary_large_image","twitter_misc":{"\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u043e\u043c":"admin","\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"1 \u043c\u0438\u043d\u0443\u0442\u0430"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/","url":"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/","name":"\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u043b\u0434\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430 kotlin","isPartOf":{"@id":"https:\/\/shra.ru\/#website"},"datePublished":"2025-02-09T17:46:44+00:00","dateModified":"2025-02-09T17:48:35+00:00","author":{"@id":"https:\/\/shra.ru\/#\/schema\/person\/55c78fbfda205fbab95564dcccc144e8"},"description":"\u041a\u0443\u0447\u0430 \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 \u0441\u0435\u0442\u0438, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443 \u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u041f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e gradle.kts \u044d\u0442\u043e \u0442\u043e\u0436\u0435 kotlin \u0441\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439","breadcrumb":{"@id":"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/shra.ru\/2025\/02\/avtoinkrement-versii-bilda-v-proekte-na-kotlin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/shra.ru\/"},{"@type":"ListItem","position":2,"name":"\u0410\u0432\u0442\u043e\u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442 \u0432\u0435\u0440\u0441\u0438\u0438 \u0431\u0438\u043b\u0434\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043d\u0430 kotlin"}]},{"@type":"WebSite","@id":"https:\/\/shra.ru\/#website","url":"https:\/\/shra.ru\/","name":"Shra's homepage","description":"\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 shra, \u0431\u043b\u043e\u0433 \u0444\u0440\u0438\u043b\u0435\u043d\u0441\u0435\u0440\u0430, \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043d\u0430 PHP. \u0417\u0434\u0435\u0441\u044c \u044f \u0434\u0435\u043b\u044e\u0441\u044c \u0441\u0432\u043e\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c \u0438 \u043c\u044b\u0441\u043b\u044f\u043c\u0438, \u043f\u0440\u043e\u0432\u043e\u0436\u0443 \u043e\u043f\u044b\u0442\u044b \u043d\u0430\u0434 \u043b\u044e\u0434\u044c\u043c\u0438, \u0441\u043e\u0431\u0438\u0440\u0430\u044e \u043d\u0435\u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0441 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430, \u0432\u044b \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0435 \u0432\u0441\u044e \u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0432\u0430\u0448\u0435 \u043f\u0441\u0438\u0445\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u0434\u043e\u0440\u043e\u0432\u044c\u0435 \u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u044b \u0442\u0440\u0435\u0442\u044c\u0438\u0445 \u043b\u0438\u0446.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/shra.ru\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"ru-RU"},{"@type":"Person","@id":"https:\/\/shra.ru\/#\/schema\/person\/55c78fbfda205fbab95564dcccc144e8","name":"admin","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/shra.ru\/#\/schema\/person\/image\/","url":"https:\/\/shra.ru\/wp-content\/uploads\/2021\/08\/shra_ava_margo_512-96x96.png","contentUrl":"https:\/\/shra.ru\/wp-content\/uploads\/2021\/08\/shra_ava_margo_512-96x96.png","caption":"admin"},"sameAs":["https:\/\/shra.ru"],"url":"https:\/\/shra.ru\/author\/admin\/"}]}},"_links":{"self":[{"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/posts\/14773"}],"collection":[{"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/comments?post=14773"}],"version-history":[{"count":1,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/posts\/14773\/revisions"}],"predecessor-version":[{"id":14775,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/posts\/14773\/revisions\/14775"}],"wp:attachment":[{"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/media?parent=14773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/categories?post=14773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shra.ru\/wp-json\/wp\/v2\/tags?post=14773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}} <!-- Alpha cache content. Generated from cache in 0.015426874160767 s. DB queries count : 2 -->