文档章节

AndroidStudio配置Kotlin开发环境

猴亮屏
 猴亮屏
发布于 2017/07/10 14:47
字数 552
阅读 49
收藏 0
点赞 0
评论 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

© 著作权归作者所有

共有 人打赏支持
猴亮屏

猴亮屏

粉丝 29
博文 502
码字总数 52840
作品 2
北京
Android工程师
MVPArms官方首发一键生成组件化,体验纯傻瓜式组件化开发

原文地址: https://www.jianshu.com/p/2452ea776a45 前言 我在 上篇文章 中介绍了 MVPArms 的官方快速组件化方案 ArmsComponent 当时一直强调 ArmsComponent 是 快速 的组件化方案, 但是在文...

JessYan ⋅ 05/21 ⋅ 0

AndroidStudio gradle安装配置详解-透过现象看本质

背景 相信很多人第一次安装androidstudio跑工程时候,会遇到一个问题:android sutdio第一次打开一个工程巨慢怎么办? 或者是gradle project sync filded错误 有没有想过androidstudio是如何...

u010321471 ⋅ 05/27 ⋅ 0

Android Espresso AppNotIdleException

最近在研究安卓单元测试,看到官方推荐用Espresso做UI层面的测试,就简单用了下。虽然Espresso很简单,但是适配到真实项目中还是走了不少弯路,踩了不少坑的。这里记录一下: 由于项目开发的...

H3c ⋅ 05/10 ⋅ 0

[工具安装使用] [Websocket] Wesocket Server测试用例

介绍: 利用okHttp中自带的mock web server在AndroidStudio测试WebSocketServer 注意: 1.只能在本机回环测试 2. 端口号每次都是随机变化,client端每次都需要更改端口号才可以使用。 build....

kris_fei ⋅ 05/11 ⋅ 0

如何解决项目gradle过低/升级AndroidStudio后,项目打开很慢

如何解决项目gradle过低/升级AndroidStudio后,项目打开很慢。 备注: 使用As升级gradle版本始终提示超时;我们可以直接访问 https://services.gradle.org/distributions 下载需要的版本,然...

扶垚而上 ⋅ 04/18 ⋅ 0

Android项目实战(四十五):Usb转串口通讯(CH34xUARTDriver)

需求为:手机usb接口插入一个硬件,从硬件上获取数据 例如:手机usb插入硬件A,A通过蓝牙通讯获取设备a、b的数据,作为中转站(可以做些数据处理)将数据(设备a、b产生的)传给手机程序。 ...

听着music睡 ⋅ 04/28 ⋅ 0

[工具安装使用] [Websocket] Wesocket Client测试用例

利用okHttp中的WebSocket功能在AndroidStudio测试WebSocketClient, 其中Server是使用okHttp中的moc web server搭建的,所以在同一台机器上测试的(moc只能在本机上测试),如果没有搭server, 可...

kris_fei ⋅ 05/11 ⋅ 0

build.gradle 中 dependencies标签下,compile对应的线上地址

项目需要将工程打成jar包。因此要将线上引用的jar找出来,作为lib引入,然后使用打包脚本打进工程中。当然,可以在编译完成后,将AndroidStudio左侧的列表展示方式选择为“Project”,在Ext...

积木oooooo ⋅ 05/21 ⋅ 0

彻底掌握Android多分包技术MultiDex-用Ant和Gradle分别构建(二)

在上一篇博客中,我给大家详细介绍了ant实现Android多分包技术,具体可以点击查看:彻底掌握Android多分包技术MultiDex-用Ant和Gradle分别构建(一);接下来的这篇博客我将带领大家一起学习...

tan6458 ⋅ 2017/01/09 ⋅ 0

Gradle 入门--只此一篇

转载自:https://www.jianshu.com/p/001abe1d8e95 是什么? 在语法上是基于Groovy语言的(Groovy 是一种基于JVM的敏捷开发语言,可以简单的理解为强类型语言java的弱类型版本),在项目管理上...

亭子happy ⋅ 06/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

笔试题之Java基础部分【简】【一】

基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语法,集合的语法,io 的语法,虚拟机方面的语法,其他 1.length、length()和size() length针对...

anlve ⋅ 25分钟前 ⋅ 2

table eg

user_id user_name full_name 1 zhangsan 张三 2 lisi 李四 `` ™ [========] 2018-06-18 09:42:06 星期一½ gdsgagagagdsgasgagadsgdasgagsa...

qwfys ⋅ 49分钟前 ⋅ 0

一个有趣的Java问题

先来看看源码: public class TestDemo { public static void main(String[] args) { Integer a = 10; Integer b = 20; swap(a, b); System.out......

linxyz ⋅ 54分钟前 ⋅ 0

十五周二次课

十五周二次课 17.1mysql主从介绍 17.2准备工作 17.3配置主 17.4配置从 17.5测试主从同步 17.1mysql主从介绍 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单讲就是A和B两台机器做主...

河图再现 ⋅ 今天 ⋅ 0

docker安装snmp rrdtool环境

以Ubuntu16:04作为基础版本 docker pull ubuntu:16.04 启动一个容器 docker run -d -i -t --name flow_mete ubuntu:16.04 bash 进入容器 docker exec -it flow_mete bash cd ~ 安装基本软件 ......

messud4312 ⋅ 今天 ⋅ 0

OSChina 周一乱弹 —— 快别开心了,你还没有女友呢。

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享吴彤的单曲《好春光》 《好春光》- 吴彤 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :小萝莉街上乱跑,误把我认错成...

小小编辑 ⋅ 今天 ⋅ 8

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部