


{"id":492,"date":"2026-06-01T12:04:22","date_gmt":"2026-06-01T05:04:22","guid":{"rendered":"https:\/\/blog.chaiyakul.com\/?p=492"},"modified":"2026-06-03T12:21:10","modified_gmt":"2026-06-03T05:21:10","slug":"install-react-native-windows-android","status":"publish","type":"post","link":"https:\/\/blog.chaiyakul.com\/index.php\/2026\/06\/01\/install-react-native-windows-android\/","title":{"rendered":"\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 React Native \u0e1a\u0e19 Windows \u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e02\u0e35\u0e22\u0e19\u0e41\u0e2d\u0e1b Android"},"content":{"rendered":"\n<p>\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07<\/p>\n\n\n\n<p>1.\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 Node.js<\/p>\n\n\n\n<p>\u0e43\u0e0a\u0e49\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e0a\u0e31\u0e19 LTS<\/p>\n\n\n\n<p>\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e08\u0e32\u0e01<br><a href=\"https:\/\/nodejs.org\" data-type=\"link\" data-id=\"https:\/\/nodejs.org\" target=\"_blank\" rel=\"noreferrer noopener\">Node.js<\/a><\/p>\n\n\n\n<p>\u0e2b\u0e25\u0e31\u0e07\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 \u0e40\u0e0a\u0e47\u0e04\u0e27\u0e48\u0e32\u0e43\u0e0a\u0e49\u0e07\u0e32\u0e19\u0e44\u0e14\u0e49:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnode -v\nnpm -v\n<\/pre><\/div>\n\n\n<p>2.\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 Java JDK<\/p>\n\n\n\n<p>React Native \u0e23\u0e38\u0e48\u0e19\u0e43\u0e2b\u0e21\u0e48\u0e41\u0e19\u0e30\u0e19\u0e33 JDK 17<\/p>\n\n\n\n<p>\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e08\u0e32\u0e01<\/p>\n\n\n\n<p><a href=\"https:\/\/adoptium.net\/temurin\/releases\/?version=17\" data-type=\"link\" data-id=\"https:\/\/adoptium.net\/temurin\/releases\/?version=17\">Eclipse Temurin JDK 17<\/a><\/p>\n\n\n\n<p>\u0e2b\u0e25\u0e31\u0e07\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 \u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 Environment Variable:<\/p>\n\n\n\n<p>\u0e40\u0e1e\u0e34\u0e48\u0e21 JAVA_HOME<\/p>\n\n\n\n<p>\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nJAVA_HOME=C:\\Program Files\\Eclipse Adoptium\\jdk-17\n<\/pre><\/div>\n\n\n<p>\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e43\u0e19 Path:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n%JAVA_HOME%\\bin\n<\/pre><\/div>\n\n\n<p>\u0e40\u0e0a\u0e47\u0e04:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\njava -version\n<\/pre><\/div>\n\n\n<p>3.\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 Android Studio<\/p>\n\n\n\n<p>\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e08\u0e32\u0e01<br><a href=\"https:\/\/developer.android.com\/studio\" data-type=\"link\" data-id=\"https:\/\/developer.android.com\/studio\" target=\"_blank\" rel=\"noreferrer noopener\">Android Studio<\/a><\/p>\n\n\n\n<p>\u0e15\u0e2d\u0e19\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07\u0e43\u0e2b\u0e49\u0e40\u0e25\u0e37\u0e2d\u0e01:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Android SDK<\/li>\n\n\n\n<li>Android SDK Platform<\/li>\n\n\n\n<li>Android Virtual Device<\/li>\n\n\n\n<li>Android SDK Command-line Tools<\/li>\n<\/ul>\n\n\n\n<p>4.\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 Android SDK<\/p>\n\n\n\n<p>\u0e40\u0e1b\u0e34\u0e14 Android Studio \u0e41\u0e25\u0e49\u0e27\u0e44\u0e1b\u0e17\u0e35\u0e48:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nMore Actions\n\u2192 SDK Manager\n<\/pre><\/div>\n\n\n<p>\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Android SDK Platform \u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14<\/li>\n\n\n\n<li>Android SDK Build-Tools<\/li>\n\n\n\n<li>Android Emulator<\/li>\n\n\n\n<li>Android SDK Command-line Tools<\/li>\n<\/ul>\n\n\n\n<p>5.\u0e15\u0e31\u0e49\u0e07\u0e04\u0e48\u0e32 ANDROID_HOME<\/p>\n\n\n\n<p>\u0e40\u0e1b\u0e34\u0e14:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSystem Properties\n\u2192 Environment Variables\n<\/pre><\/div>\n\n\n<p>\u0e40\u0e1e\u0e34\u0e48\u0e21:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nANDROID_HOME=C:\\Users\\YOURNAME\\AppData\\Local\\Android\\Sdk\n<\/pre><\/div>\n\n\n<p>\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e43\u0e19 Path:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n%ANDROID_HOME%\\platform-tools\n%ANDROID_HOME%\\emulator\n%ANDROID_HOME%\\cmdline-tools\\latest\\bin\n<\/pre><\/div>\n\n\n<p>\u0e40\u0e0a\u0e47\u0e04:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nadb --version\n<\/pre><\/div>\n\n\n<p>6.\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 React Native CLI<\/p>\n\n\n\n<p>\u0e40\u0e1b\u0e34\u0e14 CMD:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnpm install -g react-native-cli\n<\/pre><\/div>\n\n\n<p>\u0e2b\u0e23\u0e37\u0e2d\u0e43\u0e0a\u0e49\u0e41\u0e1a\u0e1a\u0e43\u0e2b\u0e21\u0e48 (\u0e41\u0e19\u0e30\u0e19\u0e33):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnpx react-native@latest init MyApp\n<\/pre><\/div>\n\n\n<p>7.\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e42\u0e1b\u0e23\u0e40\u0e08\u0e01\u0e15\u0e4c<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnpx react-native init MyApp\n<\/pre><\/div>\n\n\n<p>\u0e40\u0e02\u0e49\u0e32\u0e42\u0e1f\u0e25\u0e40\u0e14\u0e2d\u0e23\u0e4c:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ncd MyApp\n<\/pre><\/div>\n\n\n<p>8.\u0e40\u0e1b\u0e34\u0e14 Emulator \u0e2b\u0e23\u0e37\u0e2d\u0e40\u0e2a\u0e35\u0e22\u0e1a\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d<\/p>\n\n\n\n<p>\u0e40\u0e1b\u0e34\u0e14 Emulator<\/p>\n\n\n\n<p>\u0e1c\u0e48\u0e32\u0e19 Android Studio:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nDevice Manager\n\u2192 Start Emulator\n<\/pre><\/div>\n\n\n<p>\u0e2b\u0e23\u0e37\u0e2d\u0e43\u0e0a\u0e49\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e08\u0e23\u0e34\u0e07<\/p>\n\n\n\n<p>\u0e40\u0e1b\u0e34\u0e14:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nDeveloper options\n\u2192 USB debugging\n<\/pre><\/div>\n\n\n<p>\u0e40\u0e0a\u0e47\u0e04\u0e27\u0e48\u0e32\u0e40\u0e08\u0e2d\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nadb devices\n<\/pre><\/div>\n\n\n<p>9.\u0e23\u0e31\u0e19\u0e41\u0e2d\u0e1b<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnpx react-native run-android\n<\/pre><\/div>\n\n\n<p>\u0e16\u0e49\u0e32\u0e2a\u0e33\u0e40\u0e23\u0e47\u0e08\u0e08\u0e30 build APK \u0e41\u0e25\u0e30\u0e40\u0e1b\u0e34\u0e14\u0e41\u0e2d\u0e1b\u0e2d\u0e31\u0e15\u0e42\u0e19\u0e21\u0e31\u0e15\u0e34<\/p>\n\n\n\n<p>10.\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 VS Code (\u0e41\u0e19\u0e30\u0e19\u0e33)<\/p>\n\n\n\n<p>\u0e14\u0e32\u0e27\u0e19\u0e4c\u0e42\u0e2b\u0e25\u0e14\u0e08\u0e32\u0e01<br><a href=\"https:\/\/code.visualstudio.com\" data-type=\"link\" data-id=\"https:\/\/code.visualstudio.com\" target=\"_blank\" rel=\"noreferrer noopener\">Visual Studio Code<\/a><\/p>\n\n\n\n<p>11.\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21\u0e17\u0e35\u0e48\u0e04\u0e27\u0e23\u0e15\u0e34\u0e14\u0e40\u0e1e\u0e34\u0e48\u0e21<\/p>\n\n\n\n<p>Git<\/p>\n\n\n\n<p><a href=\"https:\/\/git-scm.com\/download\" data-type=\"link\" data-id=\"https:\/\/git-scm.com\/download\" target=\"_blank\" rel=\"noreferrer noopener\">Git for Windows<\/a><\/p>\n\n\n\n<p>\u0e40\u0e0a\u0e47\u0e04:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ngit --version\n<\/pre><\/div>\n\n\n<p><u><strong>\u0e42\u0e04\u0e23\u0e07\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e2b\u0e25\u0e31\u0e01\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e23\u0e39\u0e49<\/strong><\/u><\/p>\n\n\n\n<p>\u0e23\u0e31\u0e19 Metro<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnpx react-native start\n<\/pre><\/div>\n\n\n<p>Build Android<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnpx react-native run-android\n<\/pre><\/div>\n\n\n<p>\u0e25\u0e49\u0e32\u0e07 cache<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnpx react-native start --reset-cache\n<\/pre><\/div>\n\n\n<p><u><strong>\u0e04\u0e33\u0e2a\u0e31\u0e48\u0e07\u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49\u0e1a\u0e48\u0e2d\u0e22<\/strong><\/u><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nadb devices\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnpx react-native run-android\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnpx react-native start\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ngradlew clean\n<\/pre><\/div>\n\n\n<p><u><strong>\u0e1b\u0e31\u0e0d\u0e2b\u0e32\u0e17\u0e35\u0e48\u0e40\u0e08\u0e2d\u0e1a\u0e48\u0e2d\u0e22<\/strong><\/u><\/p>\n\n\n\n<p>adb not found<\/p>\n\n\n\n<p>\u0e41\u0e01\u0e49 Path Android SDK<\/p>\n\n\n\n<p>SDK location not found<\/p>\n\n\n\n<p>\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nandroid\/local.properties\n<\/pre><\/div>\n\n\n<p>\u0e43\u0e2a\u0e48:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsdk.dir=C:\\\\Users\\\\YOURNAME\\\\AppData\\\\Local\\\\Android\\\\Sdk\n<\/pre><\/div>\n\n\n<p>JAVA_HOME \u0e44\u0e21\u0e48\u0e16\u0e39\u0e01<\/p>\n\n\n\n<p>\u0e40\u0e0a\u0e47\u0e04:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\necho %JAVA_HOME%\n<\/pre><\/div>\n\n\n<p>Emulator \u0e0a\u0e49\u0e32<\/p>\n\n\n\n<p>\u0e43\u0e0a\u0e49\u0e21\u0e37\u0e2d\u0e16\u0e37\u0e2d\u0e08\u0e23\u0e34\u0e07\u0e08\u0e30\u0e40\u0e23\u0e47\u0e27\u0e01\u0e27\u0e48\u0e32\u0e40\u0e22\u0e2d\u0e30<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 1.\u0e15\u0e34\u0e14\u0e15\u0e31\u0e49\u0e07 Node.js \u0e43\u0e0a\u0e49\u0e40\u0e27\u0e2d\u0e23\u0e4c\u0e0a\u0e31\u0e19 LTS \u0e14\u0e32 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","footnotes":""},"categories":[102,4,103],"tags":[],"class_list":["post-492","post","type-post","status-publish","format-standard","hentry","category-android","category-react-native","category-windows"],"_links":{"self":[{"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/posts\/492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/comments?post=492"}],"version-history":[{"count":1,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/posts\/492\/revisions"}],"predecessor-version":[{"id":493,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/posts\/492\/revisions\/493"}],"wp:attachment":[{"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/media?parent=492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/categories?post=492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.chaiyakul.com\/index.php\/wp-json\/wp\/v2\/tags?post=492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}