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

本文围绕以下八个部分展开:

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






一、Android系统各版本及与API号对应关系

【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第1张图片



二、Android系统各版本Logo

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



三、Eclipse和Android Studio中工作区、项目及引用的对应关系

【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第3张图片



四、Android Studio中项目(module)的新建和删除

        1.新建项目

【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第4张图片


【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第5张图片


【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第6张图片


【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第7张图片


【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第8张图片


        2.删除项目

【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第9张图片


【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第10张图片


【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第11张图片


【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第12张图片


【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第13张图片



五、Android四种应用组件简介

【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第14张图片



六、Android App开发流程

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


        附:通过命令行把apk安装到真机/模拟器

【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第15张图片


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


七、Android apk的构建过程

【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第16张图片


【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第17张图片


        详细的构建过程如下:

【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第18张图片


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

        其中用到的构建工具介绍如下:

【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第19张图片



八、Android Studio项目目录及代码介绍

        1. Android Studio项目目录

【攻克Android (2)】Android各版本、app开发流程、apk构建过程_第20张图片


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

        2. 项目基础代码介绍

        (1)AndroidManifest.xml

 <?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> 


        (2)MainActivity.java

 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);  
     }  
 }  

你可能感兴趣的:(Android各版本,app开发流程,app构建过程)