Posted on Leave a comment

วิธีปรับ Java VM object heap

สำหรับพวกเราที่ทำแอพ Android ด้วยภาษา Java Native หรือ Cross platform อย่าง React Native, Ionic หรือ Xamarin อาจจะมีโอกาสเจอปัญหาเรื่อง Java VM Object Heap กันบ้าง

ซึ่งถ้าเราเจอ มันจะมีส่วนหนึ่งของข้อความ Error ที่แสดงขึ้นมาประมาณนี้

Error occurred during initialization of VM

Could not reserve enough space for ... object heap

วิธีแก้ไข

จริงๆ ปัญหานี้เกิดขึ้นได้จากหลายสาเหตุ แต่หนึ่งในวิธีแก้ไขที่นิยมทำกันคือ การไปปรับขนาดของ Memory นี่จัดให้ Java VM ครับ

  1. เปิดไปที่ System > Environment Variable
  2. ลงมาที่ส่วนของ System Variable
  3. ให้เรากดปุ่ม Variable > New

กำหนดข้อมูล Variable ตามนี้

  • Variable name: _JAVA_OPTIONS
  • Variable Value: -Xmx512M

หลังจากกดโอเค สร้าง Vairiable ใหม่เสร็จแล้ว ลองปิดและเปิดส่วนของ Command Prompt, PowerShell, หรือ Visual Studio Code ขึ้นมาใหม่

ลองใช้งานดู น่าจะไม่เจอปัญหาแล้วครับ

Posted on Leave a comment

วิธีแก้ปัญหาที่ทำให้สร้างไฟล์ APK ด้วย Android Studio ไม่ได้

Windows-Android-and-Ionic-Framework

ถึงแม้ปัญหาเล็กๆ น้อยๆ จะถูกแก้ไขไปใน Android Studio เวอร์ชั่นล่าสุด แต่หลายๆ ครั้งการสร้างไฟล์ APK (Build Signed APK) ก็อาจจะติดขัดได้

โค้ชพลเลยรวบรวมปัญหา และวิธีแก้ตามกรณีที่เจอ และพี่น้องที่มาอบรมกับโค้ชพลพบ มาไว้ที่นี่เผื่อเป็นประโยชน์กับคนอื่นๆ ครับ

ใช้ได้กับทั้ง Android เขียนด้วยภาษา Native แบบปกติ, PhoneGap, Cordova, Ionic, React Native, Meteor และ NativeScript ครับ

เปิดอบรม React Native สำหรับผู้เริ่มต้น

ปูพื้นฐาน React และ React Native เข้าใจง่าย, ใช้ได้จริง, เนื้อหาใช้ในการทำแอพ Enterprise ขององค์กรได้

สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373

ปัญหา Country_Code, App_name, Launcher_name, Activity_name is not translate

ตอนที่เราส่ง Build Signed APK จาก Android Studio อาจจะเจอ Error ประมาณด้านล่าง

Error:(3) Error: "country_codes" is not translated in "ar" (Arabic),...

Error:(3) Error: "app_name" is not translated in "ar" (Arabic),...

Error:(4) Error: "launcher_name" is not translated in "ar" (Arabic),...

Error:(5) Error: "activity_name" is not translated in "ar" (Arabic),...

เอื้อเฟื้อ log จากพี่เคนครับ

วิธีแก้ปัญหา

workaround ในที่นี้ สามารถแก้ได้ 2 วิธี ลองเลือกใช้ดูนะครับ

1.สร้างไฟล์ gradle พิเศษ

ให้สร้างไฟล์ชื่อ build-extras.gradle ไว้ในโฟลเดอร์ platform/android โดยเพิ่ม code ด้านล่างลงไปในไฟล์

จากนั้นก็บันทึกไฟล์ และลองสั่ง Build Signed APK อีกครั้ง

android {
    lintOptions {
        disable 'MissingTranslation'
        disable 'ExtraTranslation'
    }
}

2. ลบโฟลเดอร์ Value-XX

วิธีนี้ค้นพบโดยพี่ชัย จาก Fuji-Xerox ครับ โดยแกแนะนำให้เข้าไปในโฟลเดอร์ platforms\android\res และลบโฟลเดอร์ที่ขึ้นต้นด้วย ‘values-XX’ ออกให้หมด

ให้เหลือแค่โฟลเดอร์ ‘values’ และลองสั่ง Build Signed APK อีกครั้ง

เปิดอบรมสร้าง Cross Platform Mobile Application ด้วย Ionic Framework

เหมาะสำหรับคนทำเว็บ, เริ่มต้น JavaScript ES6 และ Angular เข้าใจง่าย, ใช้ได้จริง

สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373

โปรหน้าฝน! เรียนรอบสด รับคอร์สออนไลน์มูลค่ากว่า 5800 บาทฟรี!

อ้างอิง

 

ถึงแม้ปัญหาเล็กๆ น้อยๆ จะถูกแก้ไขไปใน Android Studio เวอร์ชั่นล่าสุด แต่หลายๆ ครั้งการสร้างไฟล์ APK (Build Signed APK) ก็อาจจะติดขัดได้

โค้ชพลเลยรวบรวมปัญหา และวิธีแก้ตามกรณีที่เจอ และพี่น้องที่มาอบรมกับโค้ชพลพบ มาไว้ที่นี่เผื่อเป็นประโยชน์กับคนอื่นๆ ครับ

ใช้ได้กับทั้ง Android เขียนด้วยภาษา Native แบบปกติ, PhoneGap, Cordova, Ionic, React Native, Meteor และ NativeScript ครับ

เปิดอบรม React Native สำหรับผู้เริ่มต้น

ปูพื้นฐาน React และ React Native เข้าใจง่าย, ใช้ได้จริง, เนื้อหาใช้ในการทำแอพ Enterprise ขององค์กรได้

สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373

ปัญหา Country_Code, App_name, Launcher_name, Activity_name is not translate

ตอนที่เราส่ง Build Signed APK จาก Android Studio อาจจะเจอ Error ประมาณด้านล่าง

Error:(3) Error: "country_codes" is not translated in "ar" (Arabic),... 
Error:(3) Error: "app_name" is not translated in "ar" (Arabic),... 
Error:(4) Error: "launcher_name" is not translated in "ar" (Arabic),... 
Error:(5) Error: "activity_name" is not translated in "ar" (Arabic),...

เอื้อเฟื้อ log จากพี่เคนครับ

วิธีแก้ปัญหา

workaround ในที่นี้ สามารถแก้ได้ 2 วิธี ลองเลือกใช้ดูนะครับ

1.สร้างไฟล์ gradle พิเศษ

ให้สร้างไฟล์ชื่อ build-extras.gradle ไว้ในโฟลเดอร์ platform/android โดยเพิ่ม code ด้านล่างลงไปในไฟล์

จากนั้นก็บันทึกไฟล์ และลองสั่ง Build Signed APK อีกครั้ง

android {
    lintOptions {
        disable 'MissingTranslation'
        disable 'ExtraTranslation'
    }
}

2. ลบโฟลเดอร์ Value-XX

วิธีนี้ค้นพบโดยพี่ชัย จาก Fuji-Xerox ครับ โดยแกแนะนำให้เข้าไปในโฟลเดอร์ platforms\android\res และลบโฟลเดอร์ที่ขึ้นต้นด้วย ‘values-XX’ ออกให้หมด

ให้เหลือแค่โฟลเดอร์ ‘values’ และลองสั่ง Build Signed APK อีกครั้ง

เปิดอบรม React Native สำหรับผู้เริ่มต้น

ปูพื้นฐาน React และ React Native เข้าใจง่าย, ใช้ได้จริง, เนื้อหาใช้ในการทำแอพ Enterprise ขององค์กรได้

สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373

อ้างอิง – Cordova CLI 5.0 Issue (GitHub), Error when running cordova build –release android (Stack Overflow)

Posted on Leave a comment

Solve ‘SDK Build Tools revision is too low for Ionic framework project

If you’re familiar with Apache Cordova (or PhoneGap) for Android application. This problem’d not bother you too much.

But if you just start to develop hybrid HTML5 mobile application with Ionic Framework, this may get you stuck, like this:

The SDK Build Tools revision (19.0.3) is too low for project 'StarterApp'. Minimum required is 19.1.0

 

The Cause

At least, Ionic framework project doesn’t support any Android SDK that is lower than version 19.1, so the framework avoid any error by warn you to install the correct version of Android SDK first.

The Solve

You’ve to install newer SDK than you have on your machine, according to version they require.

1. Run Android SDK Manager

Open terminal (or command line on Windows) and run following command:

android

 

2. Select SDK you need

If you setup Android SDK path correct, Android SDK Manager will be opened and wait for you. Choose SDK you need, for this time, I need 19.1.

Then click ‘Install package‘ button, Accept those license, and wait for SDK’s download and setup.

Setup Android SDK for Ionic framework
Select at least version 19.1

3. Retry to add Android Platform again

Close and retry create Android platform with Ionic Framework again. Run following command in your terminal (or command line on Windows)

ionic platform add android

 

 That’s all! 🙂