ในการพัฒนา Android application นั้นส่วนใหญ่จะทำงานอยู่บน Android Studio
แต่ในการทำงานจริง ๆ นั้น สิ่งที่นักพัฒนาต้องใช้งานเป็นคือ command line
ใน Android Studio ก็มี command line หรือ terminal ให้ใช้นะ
ลองหัดใช้งานดูกันได้
แต่สิ่งที่ยากคือ มีคำสั่งอะไรให้ใช้งานบ้าง ?
ดังนั้นมาดูกัน
เริ่มด้วยสิ่งแรกที่น่าจะต้องใช้กันบ้างคือ Gradle
ใครบ้างที่ไม่เคยพิมพ์คำสั่ง gradlew ใน command line ?
ถ้าไม่เคยนี่ ถือว่าบาปมาก ๆ
ดังนั้นทำก่อนเลย
คำสั่ง gradlew คืออะไร ?
มันคือ Gradle Wrapper หรือสิ่งที่มาหุ้มการทำงานของ gradle นั่นเอง
จะทำการอ่านข้อมูลจากไฟล์ /gradle/wrapper/gradle-wrapper.properties
ดังนั้นถ้าไม่เคยใช้งาน จะทำการ download gradle
ตามสิ่งที่กำหนดไว้ใน distributionUrl
อาจจะเจอปัญหาเรื่อง JAVA_HOME และ ANDROID_HOME กันอีก
ก็ต้องแก้ไขกันต่อไป
คำสั่งที่ควรต้องรู้เช่น
$gradlew tasks //สำหรับแสดง task ทั้งหมดที่ใช้ได้ $gradlew test //สำหรับทดสอบในระดับ unit test $gradlew cAT //สำหรับทดสอบ Instrumentation test $gradlew assemble //สำหรับสร้างไฟล์ APK $gradlew install //สำหรับติดตั้ง app บน device $gradlew test --offline //สำหรับการ run ใน offline mode
ต่อมาเป็นสิ่งที่ผมใช้บ่อย ๆ คือ การค้นหา library ด้วย ALFI
ซึ่งสามารถ copy มาใส่ในไฟล์ build.gradle ได้เลย
เช่นค้นหา library ชื่อ glide
ต่อมาทำการทดสอบ Library ต่าง ๆ ผ่าน DryRun
ปกติการนำ library ที่ developer คนอื่น ๆ ทำไว้นั้น
บ่อยครั้งเราต้อง
- ทำการ download จาก github
- ทำการ sync และ download library
- ทำการ run project หรือ sample project ดู
- ทำการทดสอบตามที่ต้องการ
- ทำการลบทิ้งไปเมื่อมันไม่ใช่
ขั้นตอนการทำงานเหล่านี้สามารถลดด้วยการใช้ DryRun นั่นเอง
ด้วยคำสั่งง่าย ๆ คือ
$dryrun <url ของ project>
ต่อมาสำหรับคนที่เขียน Unit test
ปกติแล้วนั้นถ้าสังเกตุให้ดี ๆ ในการ run unit test นั้น
จะไม่แสดงผลการทำงานใด ๆ ออกมา
ยกเว้นผลการทำงานรวมว่า ผ่าน หรือ ไม่ผ่าน
คำถามคือ ถ้าอยากเห็นว่าแต่ละ test case เป็นอย่างไร ?
คำตอบคือ ก็ไปดูใน report ไงล่ะ !!
แต่มันไม่น่าจะใช่นะ
สิ่งที่ต้องการคือ แสดงผลการทำงานใน command line หรือ terminal นี่แหละ
ดังนั้นสิ่งที่แนะนำคือ การ configuration ในไฟล์ build.gradle ดังนี้
ผลการทำงานเป็นดังนี้
$gradlew test
สิ่งสุดท้ายคือ การจัดการ logcat ให้ดูง่าย ๆ
ถ้าใช้งานผ่าน Android Studio
น่าจะต้องเข้ามา custom ที่ Preference กันบ้าง
สำหรับ command line ก็มีนะคือ pidcat
ใช้งานง่าย ๆ คือ
$pidcat <package name ของ app>
แสดงผลการทำงานดังรูป
สุดท้ายแล้ว Developer ที่ดีควรต้องเรียนรู้การใช้งาน command line
เพื่อเพิ่ม productivity ของการพัฒนานะ
ปล. ยังมี adb อีกนะ !!