文档章节

AndroidStudio配置Kotlin开发环境

猴亮屏
 猴亮屏
发布于 2017/07/10 14:47
字数 552
阅读 49
收藏 0

一、安装Kotlin插件

1、在as中添加Kotlin插件,下载这个插件需要开挂,但是我找到了更好的方法,我没有试过,希望大家试一试把结果告诉我:

方法1:从阿里云的地址下载:

Module的build.gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'//这里添加
apply plugin: 'kotlin-android-extensions'//这里添加

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "com.xiaolei.kotlinapp"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    //主要是这两个依赖
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    //下面这个依赖我自己试的时候不能加,不知道为什么很多人加上都没事,我不加没事,加了反而出事,不明白了。。
    //compile "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
}
repositories {
    //修改成国内阿里云的maven地址,否则某些地方下载不下来
    maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}
Project的build.gradle

buildscript {
    ext.kotlin_version = '1.1.0'
    repositories {
        maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
allprojects { 
    repositories {
        maven {url 'http://maven.aliyun.com/nexus/content/groups/public/'}
    }
}
task clean(type: Delete) {
    delete rootProject.buildDir
}

方法二:从其他地址手动下载,然后再附加到as

插件地址:http://download.csdn.net/detail/feibendexiaoma/9848739 
先下载好插件,然后同样File–>Settings–>Plugins–>Install Plugin from disk 选择你本地已经下载好的kotlin插件。

二、提高kotlin项目编译运行速度

据说现在的AS编译运行kotlin项目的速度很慢,所以网上有人给出了解决办法:

项目根目录的gradle.properties里加

    kotlin.incremental=true

三、让kotlin自动识别布局文件中的View

写findViewById()是在太烦,还得强制转换,显得太low怎么办?用ButterKnife?实际上官方已给我们提供了解决方案。这个官方当然不是狗哥,而是我们的jetbrains神!

//在module的build.gradle最上面加上这句话:
apply plugin: 'kotlin-android-extensions'//这货是kotlin插件里的一个拓展包


然后在Activity里引入
import kotlinx.android.synthetic.main.「布局文件名称,如:activity_main」.*

然后就可以直接用View的id来对View进行设置了,如:

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import kotlinx.android.synthetic.main.activity_start.*


class StartActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_start);
        
        //直接用布局文件中View的id来调用
        iv1.setImageResource(R.drawable.abc_ab_share_pack_mtrl_alpha);
    }
}

 

参考资料:

http://www.cnblogs.com/princenwj/p/6888226.html

© 著作权归作者所有

共有 人打赏支持
猴亮屏

猴亮屏

粉丝 33
博文 518
码字总数 58250
作品 2
北京
Android工程师
Cocos2d-x 3.4在AndroidStudio上编译配置

1.准备好以下文件   1) AndroidStudio: https://dl.google.com/dl/android/studio/install/1.1.0/android-studio-bundle-135.1740770-windows.exe   2) NDK:https://dl.google.com/and......

simpower
2015/07/31
0
0
图文详解Android Studio搭建Android集成开发环境的过程

有很长一段时间没有更新博客了,最近实在是太忙了,没有时间去总结,现在终于可以有时间去总结一些Android上面的东西了,很久以前写过这篇关于使用Android Studio搭建Android集成开发环境,不...

查杰
06/29
0
0
Android批量打包-如何一秒内打完几百个apk渠道包

在国内Android常用渠道可能多达几十个,如: 谷歌市场、腾讯应用宝、百度手机助手、91手机商城、360应用平台、豌豆荚、安卓市场、小米、魅族商店、oppo手机、联想乐商、中兴汇天地、华为、安...

SuShine
2017/10/23
0
0
Android 尝试解决 Gradle 升级时 offline mode 类型问题

小菜每次升级 AndroidStudio 和 Gradle 都倍感头疼,没有梯子真的好痛苦,这次小菜从 2.3.3 升级到 3.1.4 版本,被 Gradle 的 offline modle 问题困扰了很久,现在整理一下小菜的处理方式。 ...

阿策神奇
08/14
0
0
Android Studio 提示帮助文档 一直显示:fetching documentation

1 如果没有下载document for android sdk,先从sdk manager 中下载对应的document 2 已经有了document,但是还是一直fetching documentation,可能是androidstudio配置文件没有配置好,此处所...

dj_归去来兮
2015/03/18
0
3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

jetbrains系产品IDEA:mac上面提示快捷键设置

原因 由于Mac上面的Ctrl+空格变成输入法切换的快捷键,在使用IDEA的过程中,代码提示很不方便,需要使用option+/这种传统eclipse上面的代码提示快捷键作为主要快捷键。 怎么修改? 移除【opt...

亚林瓜子
33分钟前
0
0
Exclipse 输出结果时换行

System.out.println(f1 + "\n" + d1 + "\n" + d2);

笑丶笑
33分钟前
1
0
怎样治疗标签不能触发onblur事件

I realize this was over a year ago, but it showed up for me in Google while trying to solve this same issue. It seems Chrome does not consider some elements, like body and ancho......

Weijuer
36分钟前
0
0
vue常见库安装

移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击。为了能够立即响应用户的点击事件,才有了FastClick。 安装fastclick npm insta...

林夏夕
38分钟前
0
0
kafka 教程(三) kafka Java API 编程

下午写

MrPei
39分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部