{"id":4791,"date":"2019-12-10T08:44:03","date_gmt":"2019-12-10T08:44:03","guid":{"rendered":"https:\/\/www.codebee.co.th\/labs\/?p=4791"},"modified":"2020-06-10T14:58:47","modified_gmt":"2020-06-10T14:58:47","slug":"%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5-build-%e0%b9%84%e0%b8%9f%e0%b8%a5%e0%b9%8c-apk-%e0%b8%88%e0%b8%b2%e0%b8%81-react-native-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a%e0%b8%95%e0%b8%b4","status":"publish","type":"post","link":"https:\/\/www.codebee.co.th\/labs\/%e0%b8%a7%e0%b8%b4%e0%b8%98%e0%b8%b5-build-%e0%b9%84%e0%b8%9f%e0%b8%a5%e0%b9%8c-apk-%e0%b8%88%e0%b8%b2%e0%b8%81-react-native-%e0%b8%aa%e0%b8%b3%e0%b8%ab%e0%b8%a3%e0%b8%b1%e0%b8%9a%e0%b8%95%e0%b8%b4\/","title":{"rendered":"\u0e27\u0e34\u0e18\u0e35 Build \u0e44\u0e1f\u0e25\u0e4c APK \u0e08\u0e32\u0e01 React Native \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e02\u0e36\u0e49\u0e19 Play Store"},"content":{"rendered":"\n<figure class=\"wp-block-video\"><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c keystore<\/h4>\n\n\n\n<p>\u0e40\u0e1b\u0e34\u0e14\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 command line \u0e17\u0e35\u0e48\u0e42\u0e1f\u0e25\u0e40\u0e14\u0e49\u0e2d project\/android\/app \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07 Mac \u0e43\u0e2b\u0e49\u0e04\u0e25\u0e34\u0e01\u0e02\u0e27\u0e32\u0e17\u0e35\u0e48\u0e42\u0e1f\u0e25\u0e40\u0e14\u0e49\u0e2d app \u0e41\u0e25\u0e30\u0e40\u0e25\u0e37\u0e2d\u0e01 New Terminal at Folder \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e43\u0e2b\u0e49 RUN \u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c keystore \u0e15\u0e32\u0e21\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000<\/code><\/pre>\n\n\n\n<p>\u0e01\u0e14 Enter \u0e23\u0e30\u0e1a\u0e1a\u0e08\u0e30\u0e43\u0e2b\u0e49\u0e40\u0e23\u0e32\u0e01\u0e23\u0e2d\u0e01\u0e02\u0e49\u0e2d\u0e21\u0e39\u0e25 \u0e14\u0e31\u0e07\u0e19\u0e35\u0e49\u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Enter keystore password \u0e01\u0e23\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19 keystore 6 \u0e2b\u0e25\u0e31\u0e01<\/li><li>Re-Enter keystore password \u0e01\u0e23\u0e2d\u0e01\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e40\u0e14\u0e34\u0e21<\/li><li>What is your first and last name? \u0e01\u0e23\u0e2d\u0e01\u0e0a\u0e37\u0e48\u0e2d\u0e1c\u0e39\u0e49\u0e1e\u0e31\u0e12\u0e19\u0e32<\/li><li>What is the name of your organizational unit? \u0e01\u0e23\u0e2d\u0e01\u0e0a\u0e37\u0e48\u0e2d\u0e41\u0e1c\u0e19\u0e01\u0e43\u0e19\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17<\/li><li>What is the name of your organization? \u0e01\u0e23\u0e2d\u0e01\u0e0a\u0e37\u0e48\u0e2d\u0e1a\u0e23\u0e34\u0e29\u0e31\u0e17<\/li><li>What is the name of your City or Locality? \u0e01\u0e23\u0e2d\u0e01\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e02\u0e15\u0e2d\u0e33\u0e40\u0e20\u0e2d<\/li><li>What is the name of your State or Province? \u0e01\u0e23\u0e2d\u0e01\u0e0a\u0e37\u0e48\u0e2d\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14<\/li><li>What is the two-letter country code for this unit? \u0e01\u0e23\u0e2d\u0e01\u0e0a\u0e37\u0e48\u0e2d\u0e22\u0e48\u0e2d\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28 2 \u0e15\u0e31\u0e27\u0e2d\u0e31\u0e01\u0e29\u0e23<\/li><\/ul>\n\n\n\n<p>\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27\u0e01\u0e47\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e04\u0e33\u0e27\u0e48\u0e32 yes \u0e41\u0e25\u0e49\u0e27\u0e01\u0e14 enter \u0e43\u0e0a\u0e49\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19\u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e01\u0e14 enter \u0e2d\u0e35\u0e01\u0e04\u0e23\u0e31\u0e49\u0e07 \u0e40\u0e23\u0e32\u0e08\u0e30\u0e44\u0e14\u0e49\u0e44\u0e1f\u0e25\u0e4c\u0e17\u0e35\u0e48 <strong>project\/android\/app\/my-release-key.keystore<\/strong><\/p>\n\n\n\n<p>\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e31\u0e19\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e2a\u0e34\u0e49\u0e19\u0e01\u0e32\u0e23\u0e2a\u0e23\u0e49\u0e32\u0e07 keystore \u0e44\u0e1f\u0e25\u0e4c <\/p>\n\n\n\n<h4 class=\"wp-block-heading\">\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e44\u0e1f\u0e25\u0e4c build.gradle<\/h4>\n\n\n\n<p>\u0e40\u0e1b\u0e34\u0e14\u0e44\u0e1f\u0e25\u0e4c <strong>project\/android\/apps\/build.gradle<\/strong> \u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e32\u0e2a\u0e48\u0e27\u0e19 android {} \u0e20\u0e32\u0e22\u0e43\u0e19\u0e1b\u0e35\u0e01\u0e2b\u0e32\u0e43\u0e2b\u0e49\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e15\u0e32\u0e21\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07 \u0e21\u0e35 2 \u0e2a\u0e48\u0e27\u0e19\u0e04\u0e37\u0e2d signingConfigs \u0e41\u0e25\u0e30 buildTypes \u0e16\u0e49\u0e32\u0e21\u0e35\u0e2d\u0e22\u0e39\u0e48\u0e41\u0e25\u0e49\u0e27\u0e43\u0e2b\u0e49\u0e1b\u0e23\u0e31\u0e1a\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>signingConfigs {\n    release {\n        if (project.hasProperty('RELEASE_STORE_FILE')) {\n            storeFile file(RELEASE_STORE_FILE)\n            storePassword RELEASE_STORE_PASSWORD\n            keyAlias RELEASE_KEY_ALIAS\n            keyPassword RELEASE_KEY_PASSWORD\n        }\n    }\n}\nbuildTypes {\n    release {\n        signingConfig signingConfigs.release\n    }\n}<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e44\u0e1f\u0e25\u0e4c gradle.properties<\/h4>\n\n\n\n<p>\u0e17\u0e35\u0e48\u0e44\u0e1f\u0e25\u0e4c <strong>project\/android\/apps\/gradle.properties<\/strong> \u0e43\u0e2b\u0e49\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32\u0e01\u0e32\u0e23\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e15\u0e32\u0e21\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07 \u0e2a\u0e48\u0e27\u0e19\u0e17\u0e35\u0e48\u0e40\u0e1b\u0e47\u0e19 ****** \u0e04\u0e37\u0e2d\u0e23\u0e2b\u0e31\u0e2a\u0e1c\u0e48\u0e32\u0e19 6 \u0e2b\u0e25\u0e31\u0e01\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e01\u0e23\u0e2d\u0e01\u0e44\u0e27\u0e49\u0e43\u0e19\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e41\u0e23\u0e01<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>RELEASE_STORE_FILE=my-release-key.keystore\nRELEASE_KEY_ALIAS=my-key-alias\nRELEASE_STORE_PASSWORD=******\nRELEASE_KEY_PASSWORD=******<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07 Build APK \u0e44\u0e1f\u0e25\u0e4c<\/h4>\n\n\n\n<p>\u0e2b\u0e25\u0e31\u0e07\u0e08\u0e32\u0e01\u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e17\u0e33\u0e15\u0e32\u0e21\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19\u0e14\u0e31\u0e07\u0e01\u0e25\u0e48\u0e32\u0e27\u0e21\u0e32\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e41\u0e25\u0e49\u0e27 \u0e43\u0e2b\u0e49\u0e17\u0e14\u0e2a\u0e2d\u0e1a\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c .apk \u0e42\u0e14\u0e22 \u0e40\u0e1b\u0e34\u0e14 command line \u0e17\u0e35\u0e48 project\/android \u0e41\u0e25\u0e30 RUN \u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e15\u0e32\u0e21\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>.\/gradlew assembleRelease<\/code><\/pre>\n\n\n\n<p>\u0e16\u0e49\u0e32\u0e44\u0e21\u0e48\u0e21\u0e35\u0e2d\u0e30\u0e44\u0e23\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14 \u0e43\u0e19\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 command line \u0e41\u0e25\u0e30\u0e41\u0e2a\u0e14\u0e07 <strong>BUILD SUCCESSFULLY<\/strong> \u0e41\u0e25\u0e30\u0e44\u0e1f\u0e25\u0e4c .apk \u0e17\u0e35\u0e48\u0e40\u0e23\u0e32\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e08\u0e30\u0e16\u0e39\u0e01\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e02\u0e36\u0e49\u0e19\u0e17\u0e35\u0e48 <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>project\/android\/app\/build\/outputs\/apk\/release\/app-release.apk<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"940\" height=\"349\" src=\"https:\/\/www.codebee.co.th\/labs\/wp-content\/uploads\/2019\/12\/\u0e27\u0e34\u0e18\u0e35-Build-\u0e44\u0e1f\u0e25\u0e4c-APK-\u0e08\u0e32\u0e01-React-Native-940x349.png\" alt=\"\" class=\"wp-image-4803\" data-full=\"https:\/\/www.codebee.co.th\/labs\/wp-content\/uploads\/2019\/12\/\u0e27\u0e34\u0e18\u0e35-Build-\u0e44\u0e1f\u0e25\u0e4c-APK-\u0e08\u0e32\u0e01-React-Native.png\" data-full-size=\"1668x620\" srcset=\"https:\/\/www.codebee.co.th\/labs\/wp-content\/uploads\/2019\/12\/\u0e27\u0e34\u0e18\u0e35-Build-\u0e44\u0e1f\u0e25\u0e4c-APK-\u0e08\u0e32\u0e01-React-Native-940x349.png 940w, https:\/\/www.codebee.co.th\/labs\/wp-content\/uploads\/2019\/12\/\u0e27\u0e34\u0e18\u0e35-Build-\u0e44\u0e1f\u0e25\u0e4c-APK-\u0e08\u0e32\u0e01-React-Native-300x112.png 300w, https:\/\/www.codebee.co.th\/labs\/wp-content\/uploads\/2019\/12\/\u0e27\u0e34\u0e18\u0e35-Build-\u0e44\u0e1f\u0e25\u0e4c-APK-\u0e08\u0e32\u0e01-React-Native-620x230.png 620w, https:\/\/www.codebee.co.th\/labs\/wp-content\/uploads\/2019\/12\/\u0e27\u0e34\u0e18\u0e35-Build-\u0e44\u0e1f\u0e25\u0e4c-APK-\u0e08\u0e32\u0e01-React-Native-768x285.png 768w, https:\/\/www.codebee.co.th\/labs\/wp-content\/uploads\/2019\/12\/\u0e27\u0e34\u0e18\u0e35-Build-\u0e44\u0e1f\u0e25\u0e4c-APK-\u0e08\u0e32\u0e01-React-Native.png 1668w\" sizes=\"auto, (max-width: 940px) 100vw, 940px\" \/><figcaption>\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07 Directory \u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e1f\u0e25\u0e4c .apk <\/figcaption><\/figure>\n\n\n\n<p><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c keystore \u0e40\u0e1b\u0e34\u0e14\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 command line \u0e17\u0e35\u0e48\u0e42\u0e1f\u0e25\u0e40\u0e14\u0e49\u0e2d project\/android\/app \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07 Mac \u0e43\u0e2b\u0e49\u0e04\u0e25\u0e34\u0e01\u0e02\u0e27\u0e32\u0e17\u0e35\u0e48\u0e42\u0e1f\u0e25\u0e40\u0e14\u0e49\u0e2d app \u0e41\u0e25\u0e30\u0e40\u0e25\u0e37\u0e2d\u0e01 New Terminal at Folder \u0e08\u0e32\u0e01\u0e19\u0e31\u0e49\u0e19\u0e43\u0e2b\u0e49 RUN \u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c keystore&#8230;<\/p>\n","protected":false},"author":1,"featured_media":4807,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"video","meta":{"footnotes":""},"categories":[45,1],"tags":[1924,1874],"class_list":["post-4791","post","type-post","status-publish","format-video","has-post-thumbnail","hentry","category-mobile-development-","category-1","tag-apk","tag-react-native","post_format-post-format-video"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/posts\/4791","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/comments?post=4791"}],"version-history":[{"count":16,"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/posts\/4791\/revisions"}],"predecessor-version":[{"id":4809,"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/posts\/4791\/revisions\/4809"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/media\/4807"}],"wp:attachment":[{"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/media?parent=4791"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/categories?post=4791"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codebee.co.th\/labs\/wp-json\/wp\/v2\/tags?post=4791"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}