編輯:關於Android編程
這是我在ubuntu和XP上,搭建Android應用開發環境的過程與總結。期間參考了不少博客,我的Android應用程序跑起來了,在這裡總結下,怕以後忘了。
先說在ubuntu上搭建android應用開發環境,再在XP上搭建android應用開發環境
一、在ubuntu上搭建android應用開發環境
1.安裝JDK
系統自帶有openjdk,所以當在終端中輸入java -version命令的時候,會有一些提示的,這個不要擔心,沒什麼影響,下面自己手動配置自己的jdk
(1)下載JDK
可下載最新版jdk-7-linux-i586.tar.gz,我下載的jdk-7u5-linux-i586.gz
(2)安裝
把jdk-7u5-linux-i586.gz復制到/si/java/目錄下
(3)配置環境變量
sudo gedit /etc/environment
在文件中輸入以下三行
export JAVA_HOME=/si/java/jdk1.7.0_05
export JRE_HOME=/si/java/jdk1.7.0_05/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
sudo gedit /etc/profile
在此文件中添加以下四行
export JAVA_HOME=/si/java/jdk1.7.0_05
export JRE_HOME=/si/java/jdk1.7.0_05/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
(4)測試
注銷用戶後.終端輸入
java -version
顯示
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) Client VM (build 23.1-b03, mixed mode)
下面寫個程序測試
在/si/test/目錄下新建文件Hello.java,打開,輸入以下內容
[java]
public class Hello{
public static void main(String args[]){
System.out.println("hello wrold");
}
}
public class Hello{
public static void main(String args[]){
System.out.println("hello wrold");
}
}cd /si/test/
編譯Hello.java
javac Hello.java
在/si/test/ 生成hello.class
運行 hello
java Hello
hello wrold
2.安裝 eclipse
(1)下載
我下載32bit的eclipse-SDK-4.2-linux-gtk.tar.gz
(2)安裝
只接解壓縮到/si/eclipse/就行
雙擊eclipse就可以啟動eclipse程序,啟動的時候選擇自己的workspace
下載好了之後雙擊打開,解壓方式跟之前的jdk解壓方式一樣,不再重復
3.在eclipse安裝 adt插件
sdk相當於一個軟件管理器,如果要做android開發的話,至少要有一個android版本的,此時是空的,接下來在eclipse中配置ADT插件
官方提供兩種安裝方式http://developer.android.com/sdk/eclipse-adt.html#installing,第一種是在線安裝,第二種是先下載安裝包,然後用eclipse直接安裝,兩種方式結果是一樣的,在此推薦在線安裝方式
打開eclipse--->help--->Install New Software
點擊work with後面的輸入框後面的Add
在Name後面輸入:ADT Plugin(可以隨便起名)
在Location後面輸入:https://dl-ssl.google.com/android/eclipse/
點擊OK,選擇 Developer Tools,一路 Next 就可以了,根據提示,一步一步安裝
下面是報的錯已及解決方法,這裡折騰了很久
(1)The operation cannot be completed. See the details.
Cannot complete the install because one or more required items could not be found.
Software being installed: Android Development Tools 21.0.1.v201212060256-543035 (com.android.ide.eclipse.adt.feature.group 21.0.1.v201212060256-543035)
Missing requirement: Android Development Tools 21.0.1.v201212060256-543035 (com.android.ide.eclipse.adt.feature.group 21.0.1.v201212060256-543035) requires 'org.eclipse.wst.sse.core 0.0.0' but it could not be found
解決方法
說明你沒有安裝一個叫“GEF”的插件,你可以通過添加這個插件來解決這個問題。
方法就和你添加Android插件一樣,點擊Add按鈕,將GEF插件的名字和它的地址復制進去,然後點擊next來安裝GEF插件。
GEF插件的地址是 http://download.eclipse.org/tools/gef/updates/releases/
Review the items to be installed.一步一步安裝,GEF插件安裝完成,會提示你重啟eclipse
重新嘗試安裝Android插件了,在Work with中選擇之前填入的
adt - https://dl-ssl.google.com/android/eclipse選項,然後嘗試重新執行一次操作。
終於有動靜了,跟著提示一步步操作,希望安裝成功
4.安裝SDK
(1)下載
(2)配置環境變量
為避免每次都要手動修改,在.bashrc 文件中,添加環境變量
cd ~/
gedit .bashrc
末尾添加
export ANDROID_SDK_HOME=/si/android/android-sdk-linux/
這就完成了Android軟件開發工具包安裝的第一步,之所以說這是”第一步“,是因為剛解壓的這個包,稱之為Android Developer Kit Starter,只是整個Android開發工具包的其中一部分,一個完整可運行Android軟件開發工具包,包含以下三個組件:
Android SDK tools
Android SDK Platform-tools
SDK Platform Android
Android SDK tools就是我們剛下載的包android-sdk_r20.0.3-linux.tar,為開發提供調試和測試工具(詳細列表: http://developer.android.com/guide/developing/tools/index.html#tools-sdk),並提供對整個軟件工具包的更新功能。
Android SDK Platform-tools,提供平台(也就是,不同版本的Android系統)所需的軟件。
SDK Platform Android,Android平台,SDK的核心,提供開發所需的庫和代碼,分版本(比如2.2,3.1等等)。
Android SDK tools我們已經下載了,現在要使用它,去獲得Android SDK Platform-tools和SDK Platform Android。
cd /si/android/android-sdk-linux/tools/
./android
然後就會有一個窗口彈出來,你可以切換到"Installed packages",看看那些包安裝了。
剛開始默認只有Android SDK Tools
接下來的任務就是安裝Android SDK Platform-tools和SDK Platform Android,選中"Avaliable packages",可以發現裡面有很多可選包
其中Android SDK Platform-tools是一定要裝的,而SDK Platform Android有多個版本,你可以按照你自己的選擇來裝,不用全部裝了,但最少要裝一個,不然沒法運行程序,比如2.2,3.1,3.2等等,選一個適合你的來安裝。
這裡根據OK6410的android 2.1開發平台,我選中了2.1版本的SDK Platform Android作為SDK Platform Android版本.然後在extras 選了Android Support Library
下載時間有點長,根據網速而定
中間出現了,但還是安裝完成,不知道啥問題
stopping ADB server failed(code -1)
最後還必須將Android軟件開發工具包的地址關聯到Eclipse,這樣Eclipse才能使用工具包裡面的代碼。
點擊菜單欄的“Window -> Preferences",點擊左邊的“Android“頁面
在Location項中打開之前下載並解壓的SDK tools文件夾(我這裡是//si/android/android-sdk-linux),然後點擊“Apply”按鍵,這樣你的Android Platform應該就可以識別出來了。
5.創建Android工程
Android插件adt安裝完了,並且Android軟件開發工具包的地址也關聯到Eclipse,這樣Eclipse能使用工具包裡面的代碼.下面開始創建我們自己的Android Project
5.1創建AVD
創建AVD即添加一台虛擬機,接下來就可以在電腦上仿真一台Android手機
(1)啟動Eclipse,點擊菜單欄的“ Window -> Android Virtual Device Manager ”
彈出窗口,點擊右邊菜單的“new”按鍵
之後的選項比較多,分別的意思如下:
Name : 虛擬機的名字,隨便就可以。eg AVDTest
Target : 目標平台,這裡選你自己裝的Android版本,我這裡是2.1版。
SD Card : 虛擬手機裡面的硬盤空間大小,可以按你的需要設置。eg 100M
Snapshot : 快照,勾選之後可以支持保存虛擬機的狀態,這樣就可以像真機一樣保存設置了,不用每次都重新設定;這個選項也有助於快速啟動虛擬機,但相應地,保存速度會減慢。
Skin : 你的虛擬機的屏幕大小,可以根據你的需要來設定。eg HVGA320x480
Hadrware: 你虛擬機的硬件,可以根據你的需要來設定。
(2) 點擊OK,接著選擇 Start 啟動模擬器.點 Launch就會出現啟動畫面
5.2創建Android Project
(1)點擊菜單欄的“File -> New -> project“,找到”Android Project“
接下來跟著提示next,直至完成工程創建
[java]
MainActivity.java:
package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
TextView tv = new TextView(this);
tv.setText("Hello world!");
setContentView(tv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
MainActivity.java:
package com.example.helloworld;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
TextView tv = new TextView(this);
tv.setText("Hello world!");
setContentView(tv);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
然後點菜單Run下的Run.模擬器就會運行我們剛剛創建的helloworld 程序
5.3把創建的helloworld程序放到開發板
cd /si/android/android-sdk-linux/tools/
./adb shell
bash: ./adb: 沒有那個文件或目錄
解決方法:
cd ../platform-tools
./adb shell
# cd /data/app
# ls
ApiDemos.apk
GestureBuilder.apk
SoftKeyboard.apk
CubeLiveWallpapers.apk
com.example.helloworld.apk
# exit
change@change-laptop:/si/android/android-sdk-linux/platform-tools$ ./adb pull /data/app/com.example.helloworld.apk
304 KB/s (180283 bytes in 0.578s)
一切正常,接著將com.example.helloworld.apk放 到 android_fs/system/app 的 目 錄 下
然後重啟android系統,運行helloworld程序一切正常
至此搭建android應用開發環境結束.遺留問題安裝SDK更新時stopping ADB server failed(code -1),但是把程序放到板子運行,一切正常.
網上解決辦法,執行如下命令安裝好相應的庫文件,重啟Eclipse即可:
sudo apt-get install ia32-libs
但是我機子裝不了
sudo apt-get install ia32-libs
[sudo] password for change:
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關系樹
正在讀取狀態信息... 完成
E: 無法找到軟件包 ia32-libs
其時在64-bit機器上運行32-big的應用程序是,需要安裝ia32-libs庫,就沒安裝了
二、在XP上搭建android應用開發環境
其實在XP上搭建環境簡單多了,加上google把adt和eclipse集成在一起,安裝就更簡單了。只需安裝java和adt-bundle-windows-x86
最近在項目中遇到了這樣的需求:需要在特定的其他應用之上懸浮自己的UI交互(拖動、輸入等復雜的UI交互),和九游的浮窗類似,不過我們的比九游的體驗更好,我們越過了很多授權的
在軟件開發的過程中,為了讓軟件在不同的場景下都可以使用,所以機型適配是不可或缺並且非常重要耗時的一個環節。一:機型適配需要考慮的幾個方面:1,Android的版本2.手機
本文實例講述了Android不使用自定義布局情況下實現自定義通知欄圖標的方法。分享給大家供大家參考,具體如下:自定義通知欄圖標?不是很簡單麼。自定義布局都不在話下!是的,
前言大家都知道Android Studio目前已經更新到2.0 Preview 6了,作為Google大力推崇的開發工具,相對於Eclipse ADT有著不可比擬的優勢。