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

2012年9月25日 星期二

adb devices no permissions 的解決方法

使用adb devices 出现如下:
List of devices attached
???????????? no permissions

解决方法:
1. 找出usb vid,pid
$ lsusb      #列出usb device內容
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 003: ID 192f:0916 Avago Technologies, Pte.
Bus 003 Device 002: ID 0e8f:0022 GreenAsia Inc.
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 005: ID 18d1:4e26
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

只要插入usb device查乙次,拔出usb device查詢一次,比較差異就可以知道我們要的usb device是哪一個。
如:
Bus 003 Device 002: ID 0e8f:0022 GreenAsia Inc.
其中的0e8f就是vid,0022就是pid.

2. 編輯權限
$ sudo vim /etc/udev/rules.d/70-android.rules
加入以下內容
SUBSYSTEM=="usb", ATTRS{idVendor}=="0e8f", ATTRS{idProduct}=="0022",MODE="0666" 

3. 重新啟動 udev service
$ sudo chmod a+rx /etc/udev/rules.d/70-android.rules 
$ sudo service udev restart 

4. 重新啟動 adb
$ sudo ./adb kill-server 
$ ./adb devices

完成

2012年4月25日 星期三

android default luncher 決定流程

今天介紹一下Android如何決定使用哪一個luncher的。
我們在market上可以下載很多不同廠商製作的luncher,那當我們的luncher超過一個時,Android如何決定要使用哪一個luncher?

基本上Android system會先查看有多少luncher被安裝了,如果多於一個時,Android會再查看是否有default的luncher設定,如果有的話,優先使用deault luncher,如果沒有的話,會跳一個視窗讓使用者選擇要使用的luncher,同時也可以選擇將這個luncher設成預設。整個流程如下。

那如果已經設定一組default的luncher之後,如何變更呢?
只要到 [設定] / [應用程式] / [管理的應用程式] / [全部] 頁面,點選目前預設的luncher,然後點擊 [清除預設值],然後按 [Home] 時即會出現可以選擇luncher的視窗了。

2012年4月24日 星期二

Linux 環境下如何擷取Android畫面

開發Android難免會需要擷取Adnroid的畫面,不管是開發前期,開發中,或是最後製作說明文件。
提供幾個方法可以擷取Android畫面的方式:
1. 最困難,也最簡單的方法:最困難是使用前要安裝一堆環境,但是最後最容易使用。本方法適用於一般app的開發者。
就是透過eclipse裏面的ddms直接擷取畫面。
2. 有點簡單的方法:
如果你已經有build好的Android source tree的話,在out/host/linux-x86/bin目錄下執行 ./ddms會呼叫ddms的UI介面,然後選擇Menu中的device -> capture screen 就可以了。
3. 最簡單的方式:
這跟#2一樣,適用於已經有build好的Android source tree的使用者,直接到out/host/linux-x86/bin目錄下執行 ./screenshot2 -d {要存的檔名}即可。

2012年4月23日 星期一

ANDROID_SWT問題


在Linux環境下執行ddms時有時候會出現
SWT folder '/XXXX/android/out/host/linux-x86/framework/x86' does not exist.
Please export ANDROID_SWT to point to the folder containing swt.jar for your platform.
這是因為swt.jar找不到。

很簡單的方法可以解決:
先用 locate swt.jar 找到哪裡有swt.jar.
然後直接 export ANDROID_SWT={找到的路徑}
就可以正常使用了。

2011年12月29日 星期四

如何設定android開發環境

這裡來介紹一下如何設定android的開發環境。
我們分為幾個階段:
1. linux基本環境設定
2. android apk 開發環境設定
3. android os 開發環境設定

首先,linux環境設定:

1. 安裝 ubuntu version 10.04 LTS 64bit (以下是以ubuntu來舉例說明)
1.1. 設定 eth0.
1.2. 設定 samba service. (這個是為了方便與windows共享檔案用)
參考資料: http://ithelp.ithome.com.tw/question/10027945
1.3. 最好執行 system / administration / update manager 將系統更新到最新.
2. 安裝瀏覽器 google chrome. (也可以用內建的firefox)
下載位置: https://www.google.com/chrome?hl=zh-TW
3. 安裝 ssh (方便用其他電腦連線進去作業)
參考資料: http://twntwn.info/blog/ajer001/archives/2822
安裝指令: sudo apt-get install ssh
4. 安裝中文輸入法 gcin.
參考資料: http://cle.linux.org.tw/trac/wiki/GcinInstallUbuntu


接下來,安裝 android apk 開發環境:

參考資料: http://developer.android.com/sdk/requirements.html

1. 安裝 jdk 6 (non-rpm version for ubuntu)
參考資料: http://source.android.com/source/initializing.html
安裝指令: sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
安裝指令: sudo apt-get update
安裝指令: sudo apt-get install sun-java6-jdk
2. 安裝 eclipse
下載位置: http://www.eclipse.org/downloads/
3. 安裝 android sdk
參考資料: http://developer.android.com/sdk/installing.html
4. 安裝 android adt from eclipse.
參考資料: http://developer.android.com/sdk/eclipse-adt.html
5. 安裝相關 android sdk 元件.
5.1. 設定 android sdk folder for eclipse.
5.2. 啟動 android sdk manager and download necessary components.
6. 安裝 android ndk (非必要步驟)
參考資料: http://developer.android.com/sdk/ndk/index.html


最後,安裝 android os 開發環境

1. 安裝必要元件.
參考資料: http://source.android.com/source/initializing.html    (key word: "Installing required packages")
安裝指令: sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc
安裝指令: sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
安裝指令: sudo apt-get install sharutils    //for uudecode

2. 設定 USB Access 權限
參考資料: http://source.android.com/source/initializing.html (key word: "Configuring USB Access")
安裝指令: sudo vim /etc/udev/rules.d/51-android.rules
add following lines:
----------------------------------------------------------
SUBSYSTEM=="usb", SYSFS{idVendor}=="vendor id here", MODE="0666"
SUBSYSTEM=="usb", SYSFS{idVendor}=="vendor id here", OWNER="user name here" GROUP="group name here"
----------------------------------------------------------
!!NOTE: This is known to work on both Ubuntu Hardy Heron (8.04.x LTS) and Lucid Lynx (10.04.x LTS).

3. 設定 ccache (加快 build image 速度)
參考資料: http://source.android.com/source/initializing.html (key word: "Setting up ccache")
安裝指令: mkdir ~/data/ccache
安裝指令: vim ~/.bashrc
add following lines at end of file:
----------------------------------------------------------
export USE_CCACHE=1
export CCACHE_DIR=~/data/ccache
----------------------------------------------------------

4. 設定開啟檔案最大值
安裝指令: sudo vim /etc/security/limits.conf
add following lines at end of file:
----------------------------------------------------------
user_name_here      -       nofile          4096
root             -       nofile          4096
----------------------------------------------------------




其他實用的設定
1. format history command:
安裝指令: vim ~/.bashrc
add following line at end of file:
----------------------------------------------------------
export HISTTIMEFORMAT="%F %T "
----------------------------------------------------------

2. format vim editor
安裝指令: vim ~/.vimrc
add following lines
----------------------------------------------------------
set hlsearch            "高亮度反白
set backspace=2         "可隨時用倒退鍵刪除
set autoindent          "自動縮排
set ruler               "可顯示最後一行的狀態
set showmode            "左下角那一行的狀態
set nu                  "可以在每一行的最前面顯示行號啦!
set bg=dark             "顯示不同的底色色調
syntax on               "進行語法檢驗,顏色顯示。
----------------------------------------------------------

2011年6月13日 星期一

Android Porting 問題(三)

根據 google 文件,開始 build 之後,突然之間出現了以下錯誤訊息。
『GL/glx.h : No such file or directory』


看起來應該是找不到 glx 的問題。
請安裝下列  package

sudo apt-get install libgl1-mesa-dev
再重新 build 乙次就可以啦!

Android Porting 問題(二)

一旦開始 build 就會發生一大堆問題,接下來就是見招拆招了!

我遇到的第二個問題是
『/usr/bin/ld: cannot find -lncurses』

目前可以將他歸類為
 cannot find -lxxxx 錯誤類別。
其中xxxx為類別名稱

解決方式:直接安裝缺少的module.
如
sudo apt-get install libncurses-dev

網路參考資料

Android Porting 問題(一)

根據 google 文件,開始 build 之後,突然之間出現了以下錯誤訊息。
『X11/Xlib.h : No such file or directory』


看起來應該是找不到 xlib 的問題。
請安裝下列  package



sudo apt-get install x11proto-core-dev
sudo apt-get install libx11-dev

再重新 build 乙次就可以啦!