2012年8月30日 星期四

加入自己的 demo 程式 (Pure Java )

目前 Android ICS 可以運作了 , 自己放個 Demo Code 上去跑跑看吧 ! 順便看看要怎樣加 Code 到 這個 Source Tree 上 .

本人不會 Java 語言 , 所以先找別人的 code 了 !!  剛好 .... 2010年7月有去 "仕XXX科技" ( 避免廣告用 X 代替部份名稱) 上課 , 課程內容有 java 的 demo code ,  借來用一下吧 (著作權問題 , 尊重原作 , 公佈一下講師名稱: 梁文耀 ) ,這個 demo code 很簡單 , 輸入兩個數字 , 一個 button 會顯示結果. 

首先 , 我不想 "污染" 原來的 Source Tree 太多 , 所以另外建立一個目錄 "Instant_apps" , 並且在這資料夾內建立一個 Instant_app.mk 檔案 , 這檔案內容只有註明增加哪些 PACKAGES, 內容如下:

PRODUCT_PACKAGES := \
    Sample_1  \


在 Instant_apps 目錄下放入 sample code 資料夾 "AndroInt-ex1-activity"
在 Instant_apps/AndroInt-ex1-activity/ 建立 Android.mk file , 內容如下:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := Sample_1
include $(BUILD_PACKAGE)


## 注意 , Instant_app.mk 內的Samele_1 要和這個 Android.mk 中的 LOCAL_PACKAGES_NAME 相同 , 這樣 make 過程才會正確.

這樣就可以 make 了 , 不過 最後不會安裝到 out/target/product/am335xevm/ 下 , 需要在修改一個地方.主要是說明 am335xevm target 有包含這個 demo code (如果不想預載 ,可以找到 輸出的 .apk 然後用手動的方式在 target EVB 上安裝) , 所以修改 device/ti/am335xevm/am335xevm.mk 的內容 , 如下列紅色部份

# Inherit from those products. Most specific first.
$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk)
$(call inherit-product, device/ti/am335xevm/device.mk)

$(call inherit-product, Instant_apps/Instant_app.mk)

PRODUCT_NAME := am335xevm
PRODUCT_DEVICE := am335xevm


大功告成 , 最後 .apk 會放在 out/target/product/am335xevm/system/app/Sample_1.apk , target EVB 開機後就可以看到 預載的 Sample code 了.



沒有留言:

張貼留言