13
ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 การพัฒนาแอนดรอยด์แอพพลิเคชั่น (Android application) หรือที่ต่อไปจะขอเรียกว่า “แอ พแอนดรอยด์” นั้น สามารถทําได้บนเครื่องคอมพิวเตอร์ที่ใช้ระบบปฏิบัติการต่างๆดังนี Windows 8/7/Vista/2003 (32 หรือ 64 บิต) Mac OS X 10.5.8 ขึ้นไปจนถึง 10.9 (Mavericks) Linux ที่มี GNU C Library (glibc) 2.11 ขึ้นไป ในด้านฮาร์ดแวร์ เครื่องคอมพิวเตอร์ควรมี RAM 2 GB ขึ้นไป (แนะนํา 4 GB), มีพื้นที่ว่างใน ฮาร์ดดิสก์ 1.5 GB ขึ้นไป และจอภาพมีความละเอียด 1280 x 800 ขึ้นไป สําหรับ CPU ยิ่งมีความเร็วสูง เท่าไรยิ่งดี โดยเฉพาะถ้าคุณต้องการทดสอบแอพบนอีมูเลเตอร์ (เครื่องโทรศัพท์จําลอง) เมื่อมีเครื่องคอมพิวเตอร์ตามเงื่อนไขข้างต้นแล้ว คุณจะต้องติดตั้งซอฟต์แวร์ที่จําเป็นสําหรับการ พัฒนาแอพแอนดรอยด์ ดังนีJDK (Java Development Kit) Android Studio Android SDK (Software Development Kit) Developer Tools AVD Android 5.0.1 API Libraries System Image Android 4.4.2 API Libraries System Image ... Android Platforms ... Support Library JRE (Java Runtime Environment) ซอฟต์แวร์ทีจําเป็นสําหรับการพัฒนาแอพแอนดรอยด์

กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

1

02

ก����������� ���������

การพฒนาแอนดรอยดแอพพลเคชน (Android application) หรอทตอไปจะขอเรยกวา “แอพแอนดรอยด” นน สามารถทาไดบนเครองคอมพวเตอรทใชระบบปฏบตการตางๆดงน

� Windows 8/7/Vista/2003 (32 หรอ 64 บต)

� Mac OS X 10.5.8 ขนไปจนถง 10.9 (Mavericks)

� Linux ทม GNU C Library (glibc) 2.11 ขนไป

ในดานฮารดแวร เครองคอมพวเตอรควรม RAM 2 GB ขนไป (แนะนา 4 GB), มพนทวางในฮารดดสก 1.5 GB ขนไป และจอภาพมความละเอยด 1280 x 800 ขนไป สาหรบ CPU ยงมความเรวสงเทาไรยงด โดยเฉพาะถาคณตองการทดสอบแอพบนอมเลเตอร (เครองโทรศพทจาลอง)

เมอมเครองคอมพวเตอรตามเงอนไขขางตนแลว คณจะตองตดตงซอฟตแวรทจาเปนสาหรบการพฒนาแอพแอนดรอยด ดงน

JDK (Java Development Kit)

Android Studio

Android SDK (Software Development Kit)

Developer Tools AVD

Android 5.0.1

API Libraries

System Image

Android 4.4.2

API Libraries

System Image

...

And

roid

Plat

form

s

...Support Library

JRE (Java Runtime Environment)

ซอฟตแวรท�จาเปนสาหรบการพฒนาแอพแอนดรอยด

Page 2: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

2

xx

JDK (Java Development Kit) การพฒนาแอพแอนดรอยดตองใชภาษาจาวา คณจงตองตดตง JDK เพอใหเครองคอมพวเตอร

ของคณมคอมไพเลอร (compiler) สาหรบคอมไพลหรอแปลโคดในภาษาจาวาไปเปนโคดทรนไดบนอปกรณแอนดรอยด

นอกจากน Android Studio และ Android SDK กถกสรางขนดวยภาษาจาวา และตองการ Java Runtime ในการทางาน ซงตว Java Runtime นจะมรวมอยใน JDK เชนกน

Android Studio คอ IDE (Integrated Development Environment) หรอโปรแกรมทเปนสภาพแวดลอมในการ

พฒนาแอพพลเคชน ซงจดเตรยมเครองมอตางๆไวใหเราใชพฒนาแอพแอนดรอยดไดอยางสะดวกในทเดยว ตงแตการออกแบบสวนตดตอผใช (UI), เขยนโคด, รน, ดบก, export แอพออกมาเปน APK ทนาไปตดตงบนอปกรณแอนดรอยดได ฯลฯ

Android SDK (Software Development Kit) ประกอบดวยไลบราร (API libraries) ทเอาไวเรยกใชในโคดเพอทางานดานตางๆ และเครองมอ

นกพฒนา (developer tools) ทจาเปนสาหรบการสราง รน และดบกแอพแอนดรอยด ซง Android Studio จะมาเรยกใชเครองมอเหลานใหอกท (แตคณสามารถเรยกใชเองทางบรรทดคาสงไดเชนกน ในกรณทไมไดใช Android Studio หรอ IDE ใดๆในการพฒนา)

นอกจากน Android SDK ยงเตรยมเครองแอนดรอยดจาลอง (Android virtual device) หรอเรยกอกอยางวา อมเลเตอร (emulator) รวมทงระบบแอนดรอยด (system image) สาหรบรนบนอมเลเตอรไวใหดวย เพอใหคณจาลองเครองโทรศพทหรอแทบเลตทรนแอนดรอยดเวอรชนตางๆขนมาในคอมพวเตอรของคณ

บางสวนใน Android SDK จะแบงตามเวอรชนของแอนดรอยด เรยกวา แพลตฟอรม (Android platform) เชนสวนของ API libraries และ system image เปนตน คณไมจาเปนตองตดตงทกแพลตฟอรม แตใหเลอกเฉพาะแพลตฟอรมทตองการใชในการพฒนาและทดสอบแอพกพอ

สาหรบขนตอนการตดตงเครองมอพฒนาจะตองตดตง JDK กอน เสรจแลวจงตดตง Android Studio ซงจะมาพรอมกบ Android SDK (บางสวน) โดยมแพลตฟอรมเวอรชนลาสดมาให หลงจากนนคณสามารถตดตงเครองมอหรอแพลตฟอรมอนๆเพมไดถาตองการ หนงสอเลมนจะอธบายเฉพาะการตดตงบน Windows เทานน

Page 3: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

3

xx

�������ก� !�"�#$%&!'&(�)!���* JDK การพฒนาแอพแอนดรอยดจะตองใช JDK ของ Java Platform, Standard Edition (Java SE)

ซงเวอรชนลาสดขณะเขยนตนฉบบนคอ Java SE 8 แตเนองจากการพฒนาแอพแอนดรอยดยงไมสนบสนน Java 8 ดงนนใหเลอกดาวนโหลด JDK ของ Java 7 แทน

1 ไปท www.oracle.com/technetwork/java/javase/downloads (หรอคนกเกลวา “jdk download”) แลวเลอนลงไปทหวขอ Java SE 7uxx (ในรปคอ Java SE 7u71/72)

2

2 คลกปม DOWNLOAD ใต JDK (ยาวา JDK ไมใช JRE โดย JRE ยอมาจาก Java Runtime Environment คอตว Runtime ทใชรนจาวาแอพพลเคชน แตจะไมมคอมไพเลอรของจาวามาให ซง JRE เปนสวนหนงของ JDK อยแลว)

3

4

Page 4: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

4

xx

3 เลอนลงมาทหวขอ Java SE Development Kit 7uxx แลวคลก Accept License Agreement เพอยอมรบขอตกลงการใชงาน JDK

4 คลกลงคดาวนโหลดทตรงกบระบบปฏบตการในเครองของคณ โดย Windows x86 หมายถง Windows รน 32 บต และ Windows x64 หมายถง Windows รน 64 บต

คณสามารถตรวจสอบระบบ Windows ของคณวาเปน 32 หรอ 64 บตไดโดยคลกขวาท My Computer (หรอ This PC ใน Windows 8) เลอก Properties แลวดตรงบรรทด System type ดงรป

5 กรณของ Windows ไฟลตดตง JDK จะมนามสกล .exe เมอดาวนโหลดมาแลวใหดบเบลคลกเพอเรมการตดตง แลวคลก Next ไปเรอยๆ JDK จะถกตดตงลงในโฟลเดอร C:\Program Files\Java\jdk1.7.0_xx และ JRE จะถกตดตงลงในโฟลเดอร C:\Program Files\Java\jre7

Page 5: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

5

xx

�������ก� !�"�#$%&!'&(�)!���* Android Studio 1 ไปท developer.android.com/sdk/

2

2 คลก Download Android Studio for Windows จะปรากฏขอตกลงการใชงาน

3

4

Page 6: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

6

xx

3 คลกเลอก I have read and agree with the above terms and conditions เพอยอมรบขอตกลงการใชงาน

4 คลก Download Android Studio for Windows เพอเรมตนดาวนโหลดไฟลตดตง Android Studio สาหรบระบบปฏบตการ Windows ซงจะเปนไฟล .exe ทมขนาดหลายรอยเมกะไบต (ขณะเขยนตนฉบบน ไฟลตดตงมขนาด 828 MB)

5 เมอดาวนโหลดเสรจแลวใหดบเบลคลกไฟล .exe นเพอเรมตดตง จะปรากฏ setup wizard ขนมา

6 คลก Next ใน setup wizard ไปเรอยๆ จนมาถงหนาจอ Configuration Settings ใหระบโฟลเดอรทจะตดตง Android Studio และ Android SDK ตามตองการ ผเขยนแนะนาใหใชคาดฟอลตทโปรแกรมระบมาให ซง Android Studio จะถกตดตงทโฟลเดอร

C:\Program Files\Android\Android Studio

และ Android SDK จะถกตดตงทโฟลเดอร C:\Users\<username>\AppData\Local\Android\sdk

เมอ <username> คอชอบญชผใชในระบบ Windows ของคณ

Page 7: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

7

xx

6

NOTE ใหคณจาตาแหนงโฟลเดอรท�ตดต �ง Android SDK ไวใหด เพราะเราตองมาเรยกใชเคร�องมอบางตวในโฟลเดอรน�เองโดยตรง เพ�อความสะดวก ตอไปผเขยนจะขออางองถงโฟลเดอรท�ตดต �ง Android SDK น�วา <sdk> เชนถาเขยนวา <sdk>/tools กหมายถงโฟลเดอรยอย tools ภายในโฟลเดอรท�ตดต �ง Android SDK เปนตน

7 คลก Next แลวคลก Install, ไฟลตางๆของ Android Studio รวมทง Android SDK จะถกกอปปลงในโฟลเดอรทกาหนด หลงจากกอปปเสรจใหคลก Next แลวคลก Finish จะรน Android Studio ขนมา

8 ในครงแรกทรน Android Studio จะปรากฏไดอะลอกทใหคณสามารถอมพอรตคา settings จาก Android Studio เวอรชนเดมทมในเครอง (ถาม) มายงเวอรชนปจจบนได ดงรป แตถาคณไมเคยตดตง Android Studio ในเครองนมากอน หรอไมตองการอมพอรตคาจากเวอรชนเดม กใหเลอก I do not have a previous version… แลวคลก OK

Page 8: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

8

xx

9 จะปรากฏหนาจอตอนรบเขาส Android Studio ดงรป

+,-�กก�. Android SDK Manager ตอนนคณไดตดตง JDK และ Android Studio ซงมเครองมอและแพลตฟอรมแอนดรอยด

บางสวนมาใหแลว แตกอนทจะเรมลงมอสรางแอพ อยากใหคณใชเวลาสกเลกนอยตรวจสอบดวามแพคเกจอะไรใน Android SDK ถกตดตงมาแลวบาง รวมถงทาการตดตงแพคเกจทยงขาดไป

ขนตอนดงกลาวจะทาไดโดยใช Android SDK Manager ซงเปนเครองมอตวหนงใน Android SDK คณสามารถเรยกเครองมอนขนมาไดโดยคลก Configure�SDK Manager ในหนาจอ Welcome to Android Studio ขางตน หรออกวธคอใหไปทโฟลเดอร <sdk> (โฟลเดอรทตดตง Android SDK ไว) แลวดบเบลคลกไฟล SDK Manager.exe

Android SDK Manager จะปรากฏขนมาดงรป

Page 9: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

9

xx

1

2

3

Page 10: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

10

xx

คอลมน Status จะบอกใหรวาแพคเกจนนๆไดถกตดตงลงในเครองของคณแลวหรอยง และหากตดตงแลวเมอมอพเดทกจะแจงใหทราบทคอลมน Status นเชนกน

แพคเกจใน Android SDK ประกอบดวย 3 สวนหลกๆ

���� เครองมอสาหรบนกพฒนา (developer tools) แบงเปน 3 กลมคอ

� Android SDK Tools คอเครองมอทไมขนกบแพลตฟอรมหรอเวอรชนของแอนดรอยด เครองมอกลมนอยในโฟลเดอร <sdk>\tools เชน โปรแกรม Android SDK Manager เอง, โปรแกรมอมเลเตอร (emulator.exe) และโปรแกรม DDMS (Dalvik Debug Monitor Server) ทใชดบกแอพแอนดรอยด เปนตน

� Android SDK Platform-tools หรอเรยกวา platform tools เครองมอในกลมนจะสนบสนนฟเจอรลาสดของแพลตฟอรมแอนดรอยด และมความเขากนไดยอนหลง (backward compatible) กบแอนดรอยดเวอรชนกอนๆ ดงนนจงควรใช platform tools เวอรชนใหมลาสดเสมอ เครองมอกลมนอยในโฟลเดอร <sdk>\platform-tools เชน โปรแกรม Android Debug Bridge (adb.exe) ทชวยใหคณเขาถงและจดการกบอปกรณแอนดรอยดทงจรงและเสมอนได เชนการสงแอพ (ไฟล .apk) ไปตดตงบนอปกรณ เปนตน

� Android SDK Build-tools ประกอบดวยเครองมอทใชสราง (build) ไฟล APK ขนมาจากซอรสโคดทคณเขยนและรซอรสตางๆทคณเตรยมไวในโปรเจค เชน รปภาพ, ไอคอน, คลปเสยง ฯลฯ เครองมอกลมนอยในโฟลเดอร <sdk>\build-tools แลวแบงเปนโฟลเดอรยอยตามเวอรชนของแอนดรอยดอกท ตวอยางของเครองมอในกลมน เชน โปรแกรม dx ทใชแปลง Java bytecode ไปเปน Dalvik bytecode (bytecode ในแบบของแอนดรอยด), โปรแกรม aapt ทใชคอมไพลรซอรสและสราง APK เปนตน

เครองมอ developer tools ใน Android SDK เหลาน สวนใหญเปนโปรแกรม (คาสง) ทตองเรยกใชทางบรรทดคาสงในวนโดว Command Prompt แตอยางไรกตาม ถาหากคณใช Android Studio ในการพฒนาแอพแอนดรอยด กจะไมตองเรยกใชโปรแกรมเหลานทางบรรทดคาสงเอง เพราะ Android Studio จะไปเรยกใหอตโนมตในระหวางทคณทางานตางๆใน Android Studio

���� แพลตฟอรมแอนดรอยดตางๆ (Android platforms) จากรปขางตนกคอตงแตหวขอ Android 5.0.1 (API 21) ลงไปจนถง Android 1.5 (API 3) การพฒนาแอพแอนดรอยดนนคณจะตองตดตงแพลตฟอรมไวอยางนอย 1 แพลตฟอรม ซงเมอตดตงแพลตฟอรมใดแลว คณจะสามารถคอมไพลแอพโดยใชไลบรารของแพลตฟอรมนนได ในทน Android Studio ตดตง SDK

Page 11: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

11

xx

Platform ของแอนดรอยดเวอรชนลาสดขณะเขยนตนฉบบคอ 5.0.1 มาให (สงเกตทชอง Status จะเปนคาวา Installed หมายถงตดตงแลว)

���� ไลบรารหรอ SDK อนๆ จากรปกคอแพคเกจตางๆภายใตหวขอ Extras เชน Android Support Repository, Android Support Library และ Google Play services เปนตน ซงเปนพวกไลบรารเสรมตางๆ เชน support library, ไลบรารสาหรบใชงาน Google Maps API เปนตน

NOTE support library คอไลบรารท�ทาใหคณเรยกใชฟเจอรหรอ API ใหมๆ บนแอนดรอยดเวอรช �นเกาได ยกตวอยางเชน แอนดรอยด 2.3 น �นไมม Fragment (เร�มมในแอนดรอยด 3.0) แตเม�อตดต �ง support library จะทาใหคณสามารถพฒนาแอพท�รนบนแอนดรอยด 2.3 โดยใช Fragment ได กรณท�ตองการใช support library ใน Android Studio ใหเลอกตดต �งแพคเกจ Android Support Repository เพยงตวเดยวกพอ (ในรปตดต �งมาใหแลว) สวนแพคเกจ Android Support Library น �นมไวสาหรบ Eclipse ADT ซ�งเปน IDE อกตวหน�งท�มมากอน Android Studio

�)!���*'123ก-�45�67� Android SDK 31)583�)8 เพอทจะเขยนแอพแอนดรอยดตามรายละเอยดในหนงสอเลมน ใหคณตรวจสอบใน Android SDK

Manager วาแพคเกจตางๆตอไปนถกตดตงลงในเครองของคณหรอยง (ถาตดตงแลว, ทชอง Status จะเปนคาวา Installed)

� หวขอ Tools

� Android SDK Tools

� Android SDK Platforms-tools

� Android SDK Build-tools (เฉพาะ revision ลาสดกพอ)

� หวขอ Android 5.0.1 (API 21) หรอเวอรชนใหมสดในขณะนน

� SDK Platform

� ARM EABI v7a System Image

� หวขอ Extras

� Android Support Repository

� Google Repository

� Google USB Driver

Page 12: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

12

xx

ถายงขาดแพคเกจใดในรายการขางตน ใหคลกเลอกแพคเกจเหลานน แลวคลกปม Install packages จะปรากฏหนาจอดงรป กใหเลอก Accept License แลวคลก Install

ก� ��13!9 Android Studio '&( Android SDK Android Studio และ Android SDK นนถกพฒนาอยางตอเนอง และจะมอพเดทออกมาเปน

ระยะๆเพอแกไขบกและเพมเตมฟเจอรใหมๆเขามา ดงนนคณควรอพเดทเปนเวอรชนลาสดเสมอ

การอพเดท Android SDK จะทาใน Android SDK Manager โดยเมอเปด Android SDK Manager ขนมาแลว หากแพคเกจใดมอพเดทจะมขอความแจงไวในชอง Status ดงรป ถาคณตองการอพเดทกใหคลกเลอกเชคบอกซขางหนาแพคเกจนน แลวคลกปม Install packages ขางลาง แบบเดยวกบการตดตงแพคเกจใหมทเพงอธบายไป

สาหรบ Android Studio เมอมอพเดทจะแจงเตอนขนมาในตว Android Studio เลย หรอถาคณตองการตรวจสอบเดยวนนวามอพเดทหรอไม กใหคลกลงค Check for updates now ทอยดานลาง

Page 13: กch02_temp.doc / / ๐๖/๐๔/๕๘ ๑๔:๒๐ น. 1 02 ก การพน าแอนดรอยด อพพล คชน (Android application) หร"

ch02_temp.doc 06/04/58 ๐๖/๐๔/๕๘ ๑๔:๒๐ น.

13

xx

หนาจอ Welcome to Android Studio หรอคลกเมน Help�Check for Update… ในวนโดวหลกของ Android Studio

: ;<9.9"� การเตรยมระบบทใชพฒนาแอพแอนดรอยดจะตองตดตงซอฟตแวรตางๆดงน

1 ตดตง JDK เพอใหเครองของเรามคอมไพเลอรสาหรบแปลโคดจาวาทเราเขยนไปเปนโคดทรนไดบนอปกรณแอนดรอยด นอกจากนน JDK ยงมไลบรารมาตรฐานของภาษาจาวา (Standard Java library) ทเราตองใชในการทางานบางอยางดวย เชน การอาน/เขยนไฟล และการตดตอเนตเวรก

2 ตดตง Android Studio ซงเปนโปรแกรมทใชเขยนโคด ทดสอบ และดบกแอพทเราพฒนาขน

3 ตดตง Android SDK ซงประกอบดวยเครองมอ developer tools และแพลตฟอรมสาหรบการพฒนาแอพแอนดรอยด โดยแพลตฟอรมจะแบงตามเวอรชนของแอนดรอยด แตละแพลตฟอรมประกอบดวยไลบรารทเอาไวเรยกใชในโคด และระบบแอนดรอยด (system image) ทรนในอมเลเตอร เปนตน

ทงน ไฟลตดตง Android Studio ทดาวนโหลดจากเวบไซท developer.android.com จะรวม Android SDK มาใหดวย และจะถกตดตงลงในเครองของเราพรอมกบ Android Studio หลงจากนนหากเราตองการตดตงเครองมอ แพลตฟอรม หรอไลบรารใดเพม จะทาไดโดยใช Android SDK Manager