【攻克Android (2)】Android各版本、app开发流程、apk构建过程

[b][size=large]本文围绕以下八个部分展开: [/size][/b]

[b][size=large]一、Android系统各版本及与API号对应关系[/size][/b]
[b][size=large]二、Android系统各版本Logo[/size][/b]
[b][size=large]三、Eclipse和Android Studio中工作区、项目及引用的对应关系[/size][/b]
[b][size=large]四、Android Studio中项目(module)的新建和删除[/size][/b]
[b][size=large]五、Android四种应用组件简介[/size][/b]
[b][size=large]六、Android App开发流程[/size][/b]
[b][size=large]七、Android apk的构建过程[/size][/b]
[b][size=large]八、Android Studio项目目录及代码介绍[/size][/b]


[b][size=large]一、Android系统各版本及与API号对应关系[/size][/b]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2635/f1dff1e5-6390-39ce-a548-8266b3e4fc98.jpg[/img][/align]


[b][size=large]二、Android系统各版本Logo[/size][/b]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2637/88ac8b25-eca4-3548-a38d-93d51afb471c.jpg[/img][/align]


[b][size=large]三、Eclipse和Android Studio中工作区、项目及引用的对应关系[/size][/b]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2639/20b1f254-f13d-3585-b863-01a04df0e77e.png[/img][/align]


[b][size=large]四、Android Studio中项目(module)的新建和删除[/size][/b]

[size=medium][b]1.新建项目[/b][/size]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2641/98e12862-0502-3cc8-8d27-1efac0dcd790.png[/img][/align]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2643/d9537b39-faad-3341-a2a8-457d4fb9d2e0.png[/img][/align]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2645/75771d7b-aa1e-308e-966b-eed5c221dd55.png[/img][/align]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2647/88eb97df-675b-3ed3-b88d-d7d0bef57efe.png[/img][/align]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2649/f7dd5c75-550d-3078-b505-8ef0c06d769d.png[/img][/align]

[size=medium][b]2.删除项目[/b][/size]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2651/cd973201-e7b1-3013-82f8-e4f2314e27b8.png[/img][/align]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2653/80dffc09-40da-3dab-af76-c59ebf657728.png[/img][/align]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2655/70e591c4-d162-33ad-9e4b-274931f46ed7.png[/img][/align]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2657/a80dd52b-d570-3c84-b561-b79846252a46.png[/img][/align]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2659/131edb8e-da64-3046-b0b5-6e4b3df323cf.png[/img][/align]


[b][size=large]五、Android四种应用组件简介[/size][/b]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2661/db1c732c-e8ac-3124-aed3-6806b9eb2726.png[/img][/align]


[b][size=large]六、Android App开发流程[/size][/b]

[size=medium]1. 配置开发环境(Android Studio)[/size]
[size=medium]2. 开发App[/size]
[size=medium]3. 调试[/size]
[size=medium]建议使用真机进行调试。调试之前:[/size]
[size=medium](1)在计算机上,给真机安装USB驱动;[/size]
[size=medium](2)开启“开发者选项”(点击7次“内部版本号”);(附:点击7次“Android版本”,会进入“彩蛋”。)[/size]
[size=medium](3)开启“USB调试”。 [/size]
[size=medium]4. 发布[/size]


[size=medium]附:通过命令行把apk安装到真机/模拟器[/size]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2663/da21195a-c44a-3709-956c-d53e731db352.png[/img][/align]

[size=medium]这种方式不安全(很容易中病毒等)。建议到官方Android App市场去下载安装。[/size]


[b][size=large]七、Android apk的构建过程[/size][/b]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2665/ef527d80-69b1-3ab3-92a4-7d5ab850b873.jpg[/img][/align]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2667/673589a2-b01e-31d5-a699-39a8b591b731.png[/img][/align]

[size=medium]详细的构建过程如下:[/size]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2669/1a3fe569-0110-339e-9322-b9b820e6f921.jpg[/img][/align]

[size=medium]具体构建过程如下:[/size]
[size=medium](1)aapt生成R.java [/size]
[size=medium](2)aidl生成相应的java文件[/size]
[size=medium](3)javac编译源文件生成class文件[/size]
[size=medium](4)dx转换class为classes.dex[/size]
[size=medium](5)aapt生成资源包文件resources.arsc[/size]
[size=medium](6)apkbuilder打包资源和dex生成未签名的apk [/size]
[size=medium](7)jarsigner签名apk生成签名apk[/size]
[size=medium](8)zipalign优化签名后的apk[/size]

[size=medium]其中用到的构建工具介绍如下:[/size]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2671/52642e2d-d284-3412-9904-9d1b735df0a7.png[/img][/align]


[b][size=large]八、Android Studio项目目录及代码介绍[/size][/b]

[size=medium][b]1. Android Studio项目目录[/b][/size]

[align=center][img]http://dl2.iteye.com/upload/attachment/0110/2677/220e637d-35d7-30ad-9626-665778943d74.png[/img][/align]

[size=medium]附:res文件夹里面的,都会编译成十六进制数放入R.java文件中,这样在调用的时候,就会快一些。[/size]

[size=medium][b] 2. 项目基础代码介绍[/b][/size]

[size=medium](1)AndroidManifest.xml[/size]

 <?xml version="1.0" encoding="utf-8"?>  
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xiangdong.i18nscreen" >
<!--xmlns: xml name space 命名空间
表示里面所有的命名,都必须符合Android的命名规范
-->

<!--应用程序
allowBackup 允许备份数据
icon App图标
label App名字
theme 主题风格(类似于Web程序的css)
-->
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<!--活动(界面)
MainActivity 主活动(主界面),类似于index.jsp(首页)
android:name=".MainActivity"
如果换成其他Activity,则启动的时候,主界面就成为了其他Activity。
label 标题栏上的文本
-->
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<!--意图过滤器 (必须有)-->
<intent-filter>
<!--动作:启动主界面的入口 (相当于java中的main方法)-->
<action android:name="android.intent.action.MAIN" />
<!--类别:启动主界面。 launcher(启动)-->
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>


[size=medium](2)MainActivity.java [/size]

 package com.xiangdong.i18nscreen;  

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

/**
* 主活动 (主界面) 类似于首页
*/
public class MainActivity extends ActionBarActivity {

/**
* 第一次启动活动时,创建界面
* @param savedInstanceState 保存实例状态
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
// 显式调用父类的创建方法(保留activity状态)
super.onCreate(savedInstanceState);
// 加载布局文件
setContentView(R.layout.activity_main);
}


/**
* 创建可选菜单
* @param menu
* @return
*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
// 填充菜单,加入菜单选项
getMenuInflater().inflate(R.menu.menu_main, menu);
// 返回true:菜单可见
return true;
}

/**
* 选中菜单选项的事件
* @param item
* @return
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值