發表文章

替換android開機圖示,以pandaboard為例

此例子是以pandaboard為例,一般手機可能要root且開機是跑android原生方式才可以,作法是將 system/framework/framework-res.apk 用rar打開,要改的圖片放在assets/images裡面,對了就是 android-logo-mask.png及android-logo-shine.png這兩個檔,將他替換掉就可以,記得長寬要2的冪次方。 android-logo-mask.png及android-logo-shine.png的功用是 android-logo-mask.png前景圖示 android-logo-shine.png背景圖示 android開機時運用程式的方式將android-logo-shine.png光亮的部分在android-logo-mask.png下面跑 而android-logo-mask.png圖中的android是簍空透明的,所以會有閃亮的效果,如我們不需要這樣的效果,可以將android-logo-shine.png作成全透明。 但記住android-logo-shine.png要有android-logo-mask.png的兩倍寬度,如android-logo-mask.png是512,那麼android-logo-shine.png就要有1024這樣才可以。 如果功力行的話可以改寫frameworks/base/cmds/bootanimation/BootAnimation.cpp,不過那程式就需要重新編譯了,那又是另一個課題了。

跨平台遊戲引擎Libgdx心得(一) 環境建立

圖片
Libgdx是一個開源的的遊戲引擎, 可到 官方網址 下載,詳細介紹可到此 Libgdx Game 觀看,Libgdx的強項是跨平台,也就是開發者可以不必執行Android那運作緩慢的模擬器,直接可跑windows程式來debug程式是否執行無誤,不過還是要遵守遊戲規則,啥遊戲規則!?請看如下介紹。 不囉唆,底下就開始介紹如何建立開發環境        Libgdx是一個開源的的遊戲引擎, 可到 官方網址 下載,詳細介紹可到此 Libgdx Game 觀看,Libgdx的強項是跨平台,也就是開發者可以不必執行Android那運作緩慢的模擬器,直接可跑windows程式來debug程式是否執行無誤,不過還是要遵守遊戲規則,啥遊戲規則!?請看如下介紹。        不囉唆,底下就開始介紹如何建立開發環境,首先要有Eclipse android開發環境,這是開發android程式人員都會有的,這裏不多作介紹,直接說明Libgdx環境建立。 1.下載最新 Libgdx  解壓縮後得到下列檔案。           2.建立一般java專案,也就是Desktop程式,在pc上跑的,這樣我們將來驗證程式時可以不需開啟模擬器     這裏專案名稱假設是TestLibgdx。 3.Desktop專案建立好了之後在專案底下建立libs資料夾並將剛剛解壓縮的gdx-backend-jogl-natives.jar、gdx.backend-jogl-sources.jar、    gdx-backend-jogl.jar、gdx-natives.jar、gdx-sources.jar、gdx.jar等複製到這個資料夾裡面。 4.開啟Project->Properties->Java Build Path->Libraries->Add JARs,選擇專案本身底下的libs資料夾中的下列檔案     gdx-backend-jogl-natives.j...

讓pandaboard以原始1比1顯示full HD

pandaboard 開機後會以較大的圖示顯現,原因是由於pandaboard預設是1920x1080的解析度,可能是怕顯示出的圖示太小,所以就將螢幕密度設為240 了,要修改他我們可以到 system/build.prop這個文件中找到ro.sf.lcd_density=240,將它改成android原始密度160即可。 這個數值有以看出來,數字小,顯示的icon就越小,160是基準點,也可以看成 大於160 放大, 小於160 縮小。試試看囉

Android的實際解析度在Game上的現象

      在pandaboard上的基本設定dp(dip)是預設為240,而在android要讓顯示幕1:1輸出時是以160 dp為基準,所以在pandaboard上的圖形載入後是為1.5倍的被放大(240/160=1.5)。       所以如果我們希望圖片能1:1的被呈現,則須將system/bulid.prop文件中ro.sf.lcd_density改為160如此圖片才會是1:1的載入而不會被放大。

ubuntu10.04以後java改安裝java-6-sun

由於ORACLE收購sun所以ubuntu java 變成openjdk,如想安裝原來的java-6-sun可以依下列步驟 先要加入 repository add-apt-repository "deb http://archive.canonical.com/lucid partner" (如果顯示add-apt-repository未安裝,請執行sudo apt-get install python-software-properties 安裝) 接下來開始安裝jdk apt-get update apt-get install sun-java6-jdk sun-java6-plugin 安裝完成後,鍵入 update-java-alternatives -s java-6-sun 如此就換回sun-jdk了

Android模擬器無法上網的問題

如果遇到模擬器無法上網時,可能是DNS跑掉了,如下解決 使用android-sdk中所附加的工具 adb 開啟終端機,輸入 adb shall    <--進入shall環境 getprop      <--查看屬性 當中你會看到 [net.dns1]: [192.168.2.1]   <--這就是DNS設定 使用 setprop net.dns1 192.168.2.1   <--改成中華電信 DNS 或 setprop net.dns1 8.8.8.8 <--google DNS exit

TI Pandaboard Android 核心取得及編譯

Pandaboard 核心編譯完全參考 Pandaboard的網站文件,請到 這裡 觀看,原則上只要依照網頁上的步驟 即可完成,但有幾個必須注意的地方。 以下是在ubuntu10.04(32bit)環境下編譯完成。 一開始會先要求安裝下列編譯工具 sudo apt-get install git-core flex bison gperf libesd0-dev libwxgtk2.6-dev zlib1g-dev build-essential libstdc++6 tofrodos sudo apt-get install x-dev sudo apt-get install libx11-dev sudo apt-get install libncurses5-dev sudo apt-get install sun-java6-jdk 如果你的OS是64位元需安裝 sudo apt-get install g++-multilib 如果你的ubuntu是8.10,請安裝 sudo apt-get install lib32readline5-dev” 另外,筆者在網路上查詢到的Android核心編譯條件須包含下列幾項工具,如不放心請一一檢查是否都有安裝 以免編譯失敗 sudo apt-get install build-essential sudo apt-get install make sudo apt-get install gcc sudo apt-get install g++ sudo apt-get install libc6-dev sudo apt-get install flex sudo apt-get install bison sudo apt-get install patch sudo apt-get install texinfo sudo apt-get install libncurses-dev sudo apt-get install git-core gnupg  //(gnupg 系統可能已自帶 ) sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev buil...