系出名門Android(1) - 在 Windows 下搭建 Android 開發環境,以及 Hello World 程序 java
做者:webabcd android
介紹 搭建 Android 的開發環境,以及寫⼀個簡單的示例程序 在 Windows 下搭建 Android 開發環境 Android 項目的目錄結構說明 寫⼀個簡單的 Hello World 程序 ⼀、在 Windows 下搭建 Android 開發環境 一、安裝 JDK (Java Development Kit) http://download.java.net/jdk6/ 二、安裝 Android SDK http://developer.android.com/sdk 三、安裝 Eclipse http://www.eclipse.org/ 四、打開 Eclipse ,並安裝其 Android 插件(ADT) 打開菜單 "Help" -> "Install New Software",在 "Availabe Software" 中加入地址 http://dl-ssl.google.com/android/eclipse/ ,而後安裝 ADT(Android Development Tools) 五、新建 Android 項目 "New" -> Android Project,Project Name - 項目名稱;Build Target - 編譯項目的 SDK 版本 ;Application name - 程序名稱;Package name - 包名;Min SDK Version - 程序所支持的最低 SDK 版本代號(2 對應 1.1,3 對應 1.5,4 對應 1.6) 六、運行 Android 項目 打開菜單 "Run" -> "Run Configurations" -> New launch configuration,設置啓動項目名稱,在 Android 選項卡中選擇啓動項目,在 Target 選項卡中設置模擬器 七、建立/使用模擬 SD 卡 建立 SD 卡,運行相似以下命令:mksdcard -l sdcard 512M d:\android\sdcard.img 模擬器中使用 SD 卡,在項目配置的 Target 選項卡的 "Additional Emulator Command Line Options" 框中輸入相似以下參數:-sdcard d:\android\sdcard.img 八、配置模擬器 運行相似以下命令:android create avd --name android15 --target 2。或者直接在菜單 "Window" -> "Android AVD Manager" 中配置模擬器 九、瀏覽模擬 SD 卡中的內容 調試程序,在 DDMS 中選擇 "File Explorer" ,在其中的 sdcard 目錄下就是模擬 SD 卡中的內容 十、查看日誌 LogCat Window -> Show View -> Other -> Android -> LogCat 十一、在模擬器中安裝/卸載 apk 安裝 apk 運行相似以下命令:adb install name.apk;卸載 apk 運行相似以下命令:adb uninstall packagename(注:這裏的參數是須要卸載的包名) 十二、反編譯 Android 程序 解壓 apk 文件,取出其中的 classes.dex 文件,運行相似以下命令:dexdump.exe -d classes.dex > dump.txt(其意思是將 classes.dex dump 出來,並將反編譯後的代碼保存到指定的文本文件中) 1三、人品很差是出現的某些錯誤的解決辦法 若是出現相似以下的錯誤等 no classfiles specified Conversion to Dalvik format failed with error 1 解決辦法:Project -> Clean 出現 Android SDK Content Loader 60% (⼀直卡在 60%) 解決辦法:Project -> 去掉 Build Automatically 前面的勾 1四、查看 SDK 源代碼 先想辦法搞到源代碼,如這個地址 http://www.digginmobile.com/android.asp ,而後將其解壓到 SDK 根路徑下的 sources 文件夾內便可 2、Android 項目的目錄結構 一、src - 用於放置源程序 二、gen - 自動生成 R.java 文件,用於引用資源文件(即 res 目錄下的數據) 三、assets - 用於放置原始文件,Android 不會對此目錄下的文件作任何處理,這是其與 res 目錄 不一樣的地方 四、res/drawable - 用於放置圖片之類的資源;res/layout - 用於放置佈局用的 xml 文件;res/values - 用於放置⼀些常量數據 五、AndroidManifest.xml - Android 程序的清單文件,至關於配置文件,配置應用程序名稱、 圖標、Activity、Service、Receiver等 3、Hello World 程序 一、res/layout/main.xml 代碼 <?xml version="1.0" encoding="utf-8"?> <!--設置 ID 的方式:ID前加前綴,@+id/ 引用資源文件內字符串資源的方式:指定的資源名稱前加前綴,@string/ --> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/layout" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/txt" /> </LinearLayout> 二、res/values/strings.xml 代碼 <?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">layout 直接調用 values 中的字符串</string> <string name="hello2">編程方式調用 values 中的字符串</string> <string name="app_name">webabcd_hello</string> </resources> 三、res/drawable 目錄下放置⼀個名爲 icon.png 的圖片文件 四、AndroidManifest.xml 代碼 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.webabcd.hello" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Main" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <uses-sdk android:minSdkVersion="3" /> </manifest> 五、Main.java 代碼 package com.webabcd.hello; import android.app.Activity; import android.os.Bundle; import android.widget.LinearLayout; import android.widget.TextView; public class Main extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // 將指定的佈局文件做爲 Activity 所顯示的內容 setContentView(R.layout.main); // 動態地在指定的容器控件上添加新的控件 TextView txt = new TextView(this); txt.setText("動態添加控件"); // setContentView(txt); ((LinearLayout)this.findViewById(R.id.layout)).addView(txt); // 引用資源文件內的內容做爲輸出內容 TextView txt1 = (TextView)this.findViewById(R.id.txt); txt1.setText(this.getString(R.string.hello2)); } }