1、编译环境的选择

最开始啥都不知道的时候一直纠结是选择使用android studio还是使用eclipse,当然也体现出来了android并不像window一样具有一个权威的开发环境,

这里终于找到了一个比较合理的说法还是使用android studio +SDK开发:

现在主流的Android开发环境有:

 ①Eclipse + ADT + SDK 

 ②Android Studio + SDK

 ③IntelliJ IDEA + SDK 

现在国内大部分开发人员还是使用的Eclipse,而谷歌宣布不再更新ADT后,并且官网也去掉了集成Android开发环境的Eclipse下载链接,各种现象都表示开发者最后都终将过渡到Android Studio,当然这段过渡时间会很长,但如果你是刚学Android的话建议直接冲Android Studio着手;而且很多优秀的开源项目都是基于Android Studio!当然,在本教程中对两种开发环境都会进行一个介绍,用哪个取决与你自己~ 还有一个IntelliJ,和Android Studio差不多的,并不对此进行讲解!

2、JDK环境变量的配置

不管使用哪一种开发环境,都需要搭载SDK,而JDK可以视为SDK的一个封装,进行java开发一定需要安装JDK且配置他的环境变量,具体配置方式可以百度一下 http://www.runoob.com/w3cnote/android-tutorial-development-environment-build.html

JDK = Java Developer’s Kit java开发工具
SDK = Software Development Kit 软件开发工具包
JDK是一种SDK

3、相关术语

Dalvik: Android特有的虚拟机,和JVM不同,Dalvik虚拟机非常适合在移动终端上使用! AVD: (android virtual machine):安卓虚拟设备,就是安卓的模拟器,一般调试连接上adb之后可以使用真机来进行调试,在没有连接手机的情况下可以创建模拟器来实现。 ADT: (android development tools)安卓开发工具 SDK:(software development kit)软件开发工具包,就是安卓系统,平台架构等的工具集合,如adb.exe DDMS:(dalvik debug monitor service)安卓调试工具 adb:安卓调试桥,在sdk的platform-tools目录下,功能很多,命令行必备 DX工具:将.class转换成.dex文件 AAPT:(android asset packing tool),安卓资源打包工具 R.java文件:由aapt工具根据App中的资源文件自动生成,可以理解为资源字典 AndroidManifest.xml:app包名 + 组件声明 + 程序兼容的最低版本 + 所需权限等程序的配置文件 activity android有很多的activity组成,使用android studio向导里面的第一个Activity name就是第一个activity的名称,layout name是对应的布局文件 4、常用的adb命令

还有一种说法是安装adb也需要配置环境变量,晚上回去可以看看

1、adb remount:重新挂载系统分区,使系统分区重新可写,一般在push文件的时候使用

2、adb install apk路劲:安装软件

3、adb push Y:\cx\out\target\product\rlk6750_65_n\system\lib\libinputflinger.so /system/lib/

4、adb pull /sdcard/mtklog/mobilelog C:\Users\hui.yuan\Desktop\yhlog

5、adb shell  setenforce0 取消所有的selinux权限

5、apk的打包和安装流程

大致科普了一下,签名是可以单独使用工具来进行签名的,疑惑点是关于AndroidManifest.xml配置文件的检查项是不是在打包之后呢?因为里面涉及到一系列的权限检查?先暂时这样理解吧!



6、apk的安装过程

(当做是科普吧!不深入)

实际疑惑1、对于系统apk是没有看到在data/app下面显示出来的,如下只是自己定义的应用

com.example.huiyuan.myapplication-1 com.nd.assistance-1 com.oem91.market-1

2、所有的应用都会在data/data下面创建名为包名的文件夹

com.example.huiyuan.myapplication

包的名称实际上在你创建项目的时候就已经指定了,主要是根据你的company domain和application name来指定

比如说上述

company domian: huiyuan.example.com

application nane:.myapplication

就形成了上述的包名

3、data/system/packages.list里面包含的全部是包名以及一些签名信息

com.example.huiyuan.myapplication 10125 1 /data/user/0/com.example.huiyuan.myapplication default none
com.android.phone 1001 0 /data/user_de/0/com.android.phone platform:privapp 1013,3002,1023,1015,3003,3001,3008,3010,1004,2002

4、packages.xml

实际上是一些xml信息,暂时还不知道他是怎么生成的