准备Java环境
本文仅仅安装sdk,不安装什么IDE,由于我仅仅须要命令行模式开发就可以。
首先安装openjdk 1.6。然后安装ant。这个不赘述。
下载SDK
从这里下载SDK for Linux 64bit的版本号: http://developer.android.com/sdk/index.html?hl=sk#download
wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz
下载后,解压到本地文件夹,比方/opt/文件夹下, 然后环境变量设置,加入三行到~/.bashrc文件
export ANDROID_HOME=/opt/android-sdk-linux PATH=$PATH:/opt/android-sdk-linux/tools PATH=$PATH:/opt/android-sdk-linux/platform-tools
执行Android SDK Manager
执行android命令。将会弹出SDK Manager对话框,从中选择须要的package进行安装
安装模拟设备
android avd详细參考官方文档:http://developer.android.com/training/basics/firstapp/running-app.html
我创建了一个模拟设备。 最后执行该模拟设备。
创建工程
显示targets
$ android list targets Available Android targets: ---------- id: 1 or "android-10" Name: Android 2.3.3 Type: Platform API level: 10 Revision: 2 Skins: WQVGA400, HVGA, WVGA854, QVGA, WQVGA432, WVGA800 (default) Tag/ABIs : default/armeabi ---------- id: 2 or "android-19" Name: Android 4.4.2 Type: Platform API level: 19 Revision: 3 Skins: WQVGA400, HVGA, WXGA800-7in, WXGA800, WVGA854, QVGA, WQVGA432, WVGA800 (default), WSVGA, WXGA720 Tag/ABIs : default/armeabi-v7a ---------- id: 3 or "Google Inc.:Google APIs:10" Name: Google APIs Type: Add-On Vendor: Google Inc. Revision: 2 Description: Android + Google APIs Based on Android 2.3.3 (API level 10) Libraries: * com.android.future.usb.accessory (usb.jar) API for USB Accessories * com.google.android.maps (maps.jar) API for Google Maps Skins: WVGA854, WVGA800 (default), WQVGA400, QVGA, WQVGA432, HVGA Tag/ABIs : default/armeabi ---------- id: 4 or "Google Inc.:Google APIs x86:19" Name: Google APIs x86 Type: Add-On Vendor: Google Inc. Revision: 4 Description: Android + Google APIs x86 Based on Android 4.4.2 (API level 19) Libraries: * com.google.android.media.effects (effects.jar) Collection of video effects * com.android.future.usb.accessory (usb.jar) API for USB Accessories * com.google.android.maps (maps.jar) API for Google Maps Skins: WVGA800 (default), QVGA, WSVGA, WXGA800-7in, WQVGA400, WVGA854, WXGA720, WXGA800, WQVGA432, HVGA Tag/ABIs : default/x86
创建工程
$ android create project --target android-10 --name MyFirstApp --path MyFirstApp --activity MainActivity --package com.example.myfirstapp > Created project directory: MyFirstApp Created directory /home/dean/work/gitlab_cloud/android/example/MyFirstApp/src/com/example/myfirstapp Added file MyFirstApp/src/com/example/myfirstapp/MainActivity.java Created directory /home/dean/work/gitlab_cloud/android/example/MyFirstApp/res Created directory /home/dean/work/gitlab_cloud/android/example/MyFirstApp/bin Created directory /home/dean/work/gitlab_cloud/android/example/MyFirstApp/libs Created directory /home/dean/work/gitlab_cloud/android/example/MyFirstApp/res/values Added file MyFirstApp/res/values/strings.xml Created directory /home/dean/work/gitlab_cloud/android/example/MyFirstApp/res/layout Added file MyFirstApp/res/layout/main.xml Added file MyFirstApp/AndroidManifest.xml Added file MyFirstApp/build.xml Added file MyFirstApp/proguard-project.txt dean@dean-Aspire-V7-481G:~/work/gitlab_cloud/android/example$ ls MyFirstApp README dean@dean-Aspire-V7-481G:~/work/gitlab_cloud/android/example$ cd MyFirstApp/ dean@dean-Aspire-V7-481G:~/work/gitlab_cloud/android/example/MyFirstApp$ ls AndroidManifest.xml ant.properties bin build.xml libs local.properties proguard-project.txt project.properties res src
编译
执行以下的命令编译
ant debug
假设报以下错误:
[aapt] /opt/android-sdk-linux/build-tools/19.0.3/aapt: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
安装库:
sudo apt-get install lib32z1
部署程序到模拟器
$ adb install bin/MyFirstApp-debug.apk 97 KB/s (4858 bytes in 0.048s) pkg: /data/local/tmp/MyFirstApp-debug.apk Success
执行程序
好了,如今能够在模拟器里面执行程序了。 执行程序MainActivity。显示以下的文字:Hello World, MainActivity
该文字事实上是定义在./res/layout/main.xml 文件里:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello World, MainActivity" /> </LinearLayout>
定义应用程序名称
假设想要改动Android中的应用程序名,不是在pom.xml中编辑,而是在src/values/strings.xml中定义,比方:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">mvn_example1</string> <string name="edit_message">Enter a message</string> <string name="button_send">Send</string> <string name="action_settings">Settings</string> <string name="title_activity_main">MainActivity</string> </resources>