วิธีการ Compile (ในแบบของผม ผิดถูกช่วยวิจารณ์ด้วย)
มาๆ วิธีการกันมั่ง จริงๆ มีวิธีมีอยู่แล้วที่ http://source.android.com/download เขียนไว้เผื่อไม่อยากอ่านภาษาฝรั่ง
ขั้นแรก เลิกใช้ windows (จริงจังนะ)
ในที่นี้ลง Ubuntu 9.04 32 bit นะ(วิธีลง เหมือนๆ ของเก่า)
ขั้นที่ 2 เราต้องลงโปรแกรมตามนี้ (ต้องการ internet นะ)
ด้วยคำสั่งนี้บรรทัดเดียว(ย้าวยาว รอพักนึงตามความเร็ว internet)
sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
ขั้นที่ 2 เราต้องลงโปรแกรมตามนี้ (ต้องการ internet นะ)
- Git 1.5.4 หรือใหม่กว่า
- JDK 5.0 หรือใหม่กว่า ในที่นี้เค้าบอกว่า Java 6 ไม่ support เพราะฉะนั้นผม uninstall ออกเลย
sudo apt-get remove sun-java6-jdk sun-java6-jre sun-java6-bin - flex, bison, gperf, libsql-dev, libesd0-dev, libwxgtk2.6-dev (optional), build-essential, zip, curl.
ด้วยคำสั่งนี้บรรทัดเดียว(ย้าวยาว รอพักนึงตามความเร็ว internet)
sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
เค้า บอกต่ออีกว่าเราอาจจะต้องการ Valgrind เครื่องที่จะช่วยให้เราหาว่าเกิดปัญหากับ memory ขึ้นหรือเปล่า(leaks, stack corruption, array bounds overflows, etc.) ไม่รู้มันเป็นไงเหมือนกันเค้าว่าไงก็ว่าตามนั้น
sudo apt-get install valgrind
แล้วก็ถ้าเป็นบน 8.10 คุณก็คงต้องการ version ใหม่ของ libreadline ด้วย (คือไรฟระ ตู 9.04 เออๆ เอาด้วย)
อันนี้ของเดิมของเค้า
sudo apt-get install lib32readline5-dev
มันไม่ได้เลยเปลี่ยนเป็นอันนี้(ด้วยความวิสาสะ)
sudo apt-get install libreadline5-dev
เสร็จแล้วขั้นที่ 2 สำหรับ ubuntu 64, และ Mac กระผมไม่ได้ลองนะ
ขั้นที่ 3 install Repo (ถ้าจะเริ่มมั่วมันก็ตั้งก่ะอันนี้แหละ)
- สร้าง directory ขึ้นมาอันหนึ่งสำหรับใส่ repo
cd
mkdir bin
vi .bashrc
กด i เพื่อพิมพ์ใน vi เพิ่มบรรทัดนี้เข้าไป
export PATH=${PATH}:/home/ชื่อusernameของเครื่องคุณ/bin
กด :wq เพื่อออกจาก vi และบรรทึกไฟล์
แล้วก็เพิ่มเข้าไปใน bash ปัจจุบัน โดยใช้คำสั่งข้างล่าง (จุด เว้นวรรค จุดแบชอาซี)
. .bashrc
ทดสอบด้วย
echo $PATH
ผลที่ถูกต้องคือควรจะมี /home/ชื่อusernameของเครื่องคุณ/bin เป็นส่วนประกอบของข้อความที่พิมพ์ออกมา - download repo
curl http://android.git.kernel.org/repo >~/bin/repochmod a+x ~/bin/repo
- สร้าง directory สำหรับเก็บ source code
mkdir myandroid
cd myandroid - รัน repo init
repo init -u git://android.git.kernel.org/platform/manifest.git - ใส่ชื่อ และ email ถ้าเกิดต้องการจะ submit code อันนี้ผมกรอกไปเลยแม้ไม่เคยคิดจะส่งกลับก็ตาม
เมื่อเสร็จแล้วควรจะได้อะไรทำนองนี้แบบนี้
repo initialized in /mydroid
ขั้นที่ 5 เอาไฟล์มันลงมา
คำสั่งนี้จะโหลด ไฟล์ทั้งหมดของ project จาก repositories ลงมาเลย
repo sync
พักกินข้าวกินหนมหรืออะไรก็ว่าไป นานโขตามความเร็ว internet
ขั้นที่ 6 Verifying Git Tags (อันนี้แหละที่มั่ว)
ให้ทำสั่งนี้เพื่ออะไรซักอย่าง งงๆ
gpg --import
มันจะขึ้น promt ให้เราใส่อะไรซักอย่างให้ใส่สิ่งนี้ลงไปแล้วกด ctrl+d
-----BEGIN PGP PUBLIC KEY BLOCK----- |
หลังจากนั้นคุณจะสามารถ verify tag ได้ด้วยคำสั่ง
git tag -v tagname
แต่ว่าผมไม่รู้นี่สิว่าไอ้ tagname เนี่ยมันเอามาจากไหน แล้ว tag ในที่นี้คือไรฟระ?
ขั้นที่ 7 Building the code (ข้ามมาอย่างไม่สนใจ -_- )
ง่ายมากๆ ถ้าโหลดไอ้พวกนั้นมาเสร็จแล้ว มันจะมี Makefile มาให้เข้าไปใน directory นั้นแล้วพิมพ์ make ก็พอ
cd mydroid
make
รอไปเลยครับนาน ของผม 2 ชม.
ผมเข้าไปปิด gdm ก่อน( gui บน ubuntu) เพื่อให้มันทำงานให้เต็มที่
ctrl + alt + f6
login
sudo /etc/init.d/gdm stop
ใส่ password
แล้วค่อยไปสั่ง make
ถ้าเกิดมันล้มเหลว เพราะว่า ไม่มี run-java-tool อะไรทำนองนี้ ให้ลอง set ANDROID_JAVA_HOME เป็น $JAVA_HOME ด้วยอะไรทำนองนี้
export ANDROID_JAVA_HOME=$JAVA_HOME
แต่ปัญหานี้ไม่เกิดขึ้นกับผม
แล้วก็ run ไปเป็น ชม. นั่นแหละ
แล้วตอนนี้ก็ไม่รู้จะทำไรต่อแล้ว หุหุ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น