android基础的回顾(一)开发工具的转变---android studio

android有段时间没有接触了,工作以后的学习如前辈所说都是不系统的学习,所以可能会有很多漏洞,自己还是要抽时间去系统学习一下。正因如此,尽管基础,依然想拿出来再翻一翻。

1、首先,不得不说的一个变化,就是android的开发工具------android studio,之后Google又宣布了停止对Eclipse Android开发工具的一切支持,这一切都表明了谷歌的态度,要采用自己专用的开发工具进行android开发,如今,gitHub上的android项目中也都基本采用android studio来进行开发的。所以,必须要转变了。android studio采用了多种工程视图:


android studio也装了两遍了,mac版和windows版都装过一次,过程还是比较简单,网上也有教程,具体的使用后面在慢慢积累。

2、创建虚拟机参考(注意选用arm处理器,intel的话需要下载之外还需要在bios中打开Vt-x):

https://segmentfault.com/a/1190000002411926

3、快捷键慢慢来:

导包:alt+enter(很人性化,每次需要导包都会提示快捷键)

删除:ctrl+x进行删除行

复制并粘贴一行:ctrl+d

撤销操作:依然是ctrl+z

将一段代码放到一个方法中:ctrl+alt+m

提示补全:alt+/

4、今天上手就遇到了问题,先前转过一篇关于compileSdkVersion和buildToolsVersion的文章,buildToolsVersion>=compileSdkVersion;今天使用android studio,在更改不支持的minSdkVersion(19)后,仍然提示minSdkVersion(19)>deviceSdkVersion(17)(我的手机4.2,版本比较低。。),在网上,几乎所有的文章都在说更改minSdkVersion后即可,但后面确实还应该有一句话(可能大家都觉得太简单不用说),注意马上同步一下文件(Sync Now),如图中标出所示:


在这个过程中,我看到了一位网友翻译的对于compileSdkVersion、targetSdkVersion和minSdkVersion的讲解,很细致,网址如下:

http://www.open-open.com/lib/view/open1453253049558.html

但是文中有段这样的话:

如果你按照上面示例那样配置,你会发现这三个值的关系是:

?
1
minSdkVersion <= targetSdkVersion <= compileSdkVersion
这种直觉是合理的,如果 compileSdkVersion 是你的最大值,minSdkVersion 是最小值,那么最大值必需至少和最小值一样大且 target 必需在二者之间。

理想上,在稳定状态下三者的关系应该更像这样:

?
1
2
minSdkVersion (lowest possible) <= 
     targetSdkVersion == compileSdkVersion (latest SDK)
用较低的 minSdkVersion 来覆盖最大的人群,用最新的 SDK 设置 target 和 compile 来获得最好的外观和行为。
但从理解上我觉着很有道理,但是我自己更改了一下,使minSdkVersion<=compileSdkVersion<targetSdkVersion时(运行此程序的手机版本为17),是没有问题的。实际配置如下:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 17
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.dhasa.myfirstapplication"
        minSdkVersion 17
        targetSdkVersion 20
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:20.0.0'
}

希望有网友能对这个问题给出自己的见解,非常感谢!

5、在编译打包apk安装运行app的过程中,报错:

Error:Execution failed for task ':app:clean'.> 

Unable to delete directory: F:\DHASA_WORKSPACE\studyDemo\app\build\outputs\apk,既然重新编译打包生成apk时无法clean,权限问题,手动获取管理员权限删除相应目录下的文件,然后去重新编译打包apk即可。出差用的笔记本为win8系统,win8获取管理员权限参考:http://jingyan.baidu.com/article/5d6edee22b1e8999eadeec11.html,重启计算机好用。

6、将compileSdkVersion设置为一个未下载的版本,会发生如下错误:


17是未下载的版本,所以会发生如下错误,升级编译sdk时也可能发生上面错误,都可能是版本未下载或者下载版本中缺少部分文件的原因。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值