顯示具有 anDROID 標籤的文章。 顯示所有文章
顯示具有 anDROID 標籤的文章。 顯示所有文章

2009年11月5日 星期四

[2009-11-05-4] Android NDK - 6/49 大樂透

續用"6/49 大樂透"的source file(C language),改用Android NDK(Native Development Kit)來編譯Android應用程式。

Step1:
建立一個raylottery目錄(這裡用的是cupcake)
$ cd cupcake/development #移到android的development下
$ mkdir raylottery

Step2:
複製lottery.c到development. 可在這下載download here

Step3:
撰寫一個Android.mk(標準的檔名不要更動), 至於.mk的寫法可參考其他應該程式的寫法
$ find  ~/cupcake -name "Android.mk" > log_list_all  #找出cupcake下所有的Android.mk, 並存到 log_list_all

raylottery 下的Android.mk如下
# filename: Android.mk
# 2009-11-04, RayZ

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES:= \
    lottery.c
    
LOCAL_MODULE:= lottery_ray #module name
include $(BUILD_EXECUTABLE)

Step4:
編譯lottery_ray
$ cd ~/cupcake
$ make lottery_ray
編譯的結果會告知相對的文件位置: target thumb C(原始檔案), target Executable(可執行檔),target Non-prelinked, target Strip, Install。


查看一下lottery_ray 檔案格式, 確實是ARM, executable...
$ file rayout/target/product/generic/system/bin/lottery_ray 


Step5:
把產生的lottery_ray(四個位置的任一個皆可)放到adb shell來執行
$ adb devices #查看有那些device
$ adb shell mkdir /dev/ray_test  #在emulator-5554中做一個目錄
$ adb push rayout/target/product/generic/obj/EXECUTABLES/lottery_ray_intermediates/LINKED/lottery_ray /dev/ray_test #把lottery_ray 放到emulator-5554
$ adb shell  #進入adb shell
# cd /dev/ray_test
# ./lottery_ray


在AVD上用Terminal Emulator看到的畫面就和用adb shell一樣, 確實好玩。


ps:
1) 這裡已經把android 的out 目錄改為rayout,可以參考cupcake/build/buildspec.mk.default說明。
2) adb shell 的command可以在adb shell中的/system/bin找到。

[參考]
[1] 編譯 Native C 的 helloworld模塊
[2] 手工編譯 C 模塊
[3] Android Toolchain 與 Bionic Libc
[4] Google 釋出 Android 1.5 原生開發套件
[5] GNU toolchain
[6] Android 1.6 NDK, r1

2009年10月26日 星期一

[2009-10-26-1] Git - download AOSP on Linux ( Ubuntu 9.04 Desktop )

因著Android才慢慢發現GNU的世界真的和Windows的不太一樣,該這麼說呢! 或許就是新鮮吧!抱著這樣求知及冒險的態度,慢慢的也就習慣Linux的野性。

Git(System): 是一個version conrol的系統,方便local端做branching, commints(上傳修改), diffs(比對修改)以及 edits(編寫)。
Repo(Tool): 是一個可以讓你更容易下載/上傳AOSP的工具, repo的指令是用Python script寫成。所以,抓AOSP我們會用repo 來完成。

Step1: 環境套件安裝(32-bit x86)
$ sudo apt-get install git-core gnupg sun-java5-jdk\
flex bison gperf libsdl1.2-dev libesd0-dev zip curl\
libwxgtk2.6-dev build-essential gawk expect gettext\
zlib1g-dev valgrind libreadline5-dev libncurses5-dev

Step2: 安裝Repo
$ cd ~  #到home目錄
$ mkdir bin  #產生bin目錄
$ echo $PATH #確定bin有在PATH中
$ curl http://android.git.kernel.org/repo >~/bin/repo  #抓檔案並存到repo file
$ chmod a+x ~/bin/repo #設成可執行權限

Step3: 初始Repo
$ mkdir mydroid   #產生mydroid目錄
$ cd mydroid #到mydroid
$ repo init -u git://android.git.kernel.org/platform/manifest.git
在初始成功"repo initialized in /mydroid"之前,會要求填入真實姓名/email(若要和Google溝通則填寫,一般是不用寫的)。另外若有改寫manifest.xml, 發現是不會覆寫舊的manifest.xml

Step3: 下載AOSP
$ repo sync

Step4: 建code
$ cd ~/mydroid
$ make  

[參考]
[1] AOSP - get source

2009年10月25日 星期日

[2009-10-25-7] Git - download AOSP on Windows

嘗試把在linux下抓到的AOSP放到windows,看來有些檔案(權限)無法copy。真不方便,還好有[1]的方法,才可以在winodws一窺AOSP的秘密。
下列是我的方法:
Step1: 下載 msysGit-netinstall-1.6.4-preview20090730.exe
Step2: 執行/安裝後,選Git Bash,如[1]提到的會出現git shell
Step3:
$mkdir raydroid
Step4: 下載getcode.bat到raydroid, 其中裡面所有的repository(程式下載點)來自於[3]
Step5:
$ getcode.bat
如果是第一次,就靜靜等待把code 抓完吧!若不是就判斷一下要不要保留or刪除重抓囉!!

[參考]
[1] ysl的程式天堂 - 如何在Windows平台上下載Android的原始碼?
[2] msysgit - Git on Windows
[3] anDROID open source project

2009年10月2日 星期五

[2009-10-02-5] Ubuntu - 修改語言別、輸入法、解析度

2009-10-02-5

修改語言別:
Systme>Administration>Language Support
選定中文(台灣)就可以"Install/Remove Languages",之後,就在登入畫面的選單(Options)做改變囉!


------------------------------------------

嘸蝦米輸入法:
換上中文介面後,再來就是裝上最常用的嘸蝦米輸入法。

1)下載Liu.bin,到Ubuntu的 "/usr/share/scim/tables"
2)系統>偏好設定>SCIM輸入法設定 即可。


[參考]
[1] Open Source 實驗室 - 嘸蝦米 for linux
[2] 摩托學園討論區 - Linux 嘸蝦米完美安裝法

PS: 我自己是用[1]的方法。上次有看到網友分享嘸蝦米 for anDROID,等anDROID手機到手再和大家分享囉!
------------------------------------------

解析度設定:
系統>偏好設定>顯示 解析度( 選1280x768(16:10) )