- 远程调试代码
Statham_Jessie
远程debug调试java代码日常环境和预发环境遇到问题时,可以用远程调试的方法本地打断点,在本地调试。生产环境由于网络隔离和系统稳定性考虑,不能进行远程代码调试。整体过程是通过修改远程服务JAVA_OPTS参数,然后本地通过Eclipse或IDEA等工具调试。下面简单介绍下理论。理论JPDA(JavaPlatformDebuggerArchitecture)是Java平台调试体系结构的缩写。由3
- BTrace的使用
谁说咖啡不苦
简介BTrace可以动态地向目标应用程序的字节码注入追踪代码所依赖的技术:JavaComplierApi、JVMTI、Agent、Instrumentation+ASMBTrace安装新建环境变量:BTRACE_HOME,下载Release来使用。简单的使用packagecom.songshuang.btrace;importcom.sun.btrace.annotations.*;importc
- Thread相关学习之四 - ThreadStatus
AlanKim
javaClasses.hpp中对ThreadStatus的定义不过在jvm中,javaClasses.hpp中有一个枚举定义,如下://JavaThreadStatusforJVMTIandM&Muse.//ThisthreadstatusinfoissavedinthreadStatusfieldof//java.lang.Threadjavaclass.enumThreadStatus{NE
- java jdwp如何关闭_JVM 技术详解:Java 平台调试体系(JDWP)简介
何嵬嵬
javajdwp如何关闭
Java平台调试体系(JavaPlatformDebuggerArchitecture,JPDA),由三个相对独立的层次共同组成。这三个层次由低到高分别是Java虚拟机工具接口(JVMTI)、Java调试连接协议(JDWP)以及Java调试接口(JDI)。模块层次编程语言作用JVMTI底层C获取及控制当前虚拟机状态JDWP中间层C定义JVMTI和JDI交互的数据格式JDI高层Java提供JavaA
- 【漏洞复现】JDWP远程命令执行漏洞
ps_x
漏洞复现验证JDWPRCEdebug
0x01简介JPDA(JavaPlatformDebuggerArchitecture):即Java平台调试体系架构。Java虚拟机设计的专门的API接口供调试和监控虚拟机使用。JPDA按照抽象层次,又分为三层,分别是:JVMTI(JavaVMToolInterface):虚拟机对外暴露的接口,包括debug和profile。JDI(JavaDebugInterface):Java库接口,实现了J
- java JDWP调试接口任意命令执行漏洞
TaibaiXX1
javalinux安全dockerandroid
点击"仙网攻城狮”关注我们哦~不当想研发的渗透人不是好运维让我们每天进步一点点简介JDWP(JavaDEbuggerWireProtocol):即Java调试线协议,是一个为Java调试而设计的通讯交互协议,它定义了调试器和被调试程序之间传递的信息的格式。说白了就是JVM或者类JVM的虚拟机都支持一种协议,通过该协议,Debugger端可以和targetVM通信,可以获取目标VM的包括类、对象、线
- JPDA
stypace
JAVAJPDAJVMTIJDWPJDI
1java平台调试的特点java平台的调试,与其他平台有很大的区别。以C/C++的调试为例,目前比较流行的调试工具是GDB和微软的VisualStudio自带的debugger首先,必须编译一个“debug”模式的程序,这个会比“release”模式的程序大很多其次,在调试过程中,debugger将会深层介入程序的运行,获取运行时的信息,并将这些信息返回。这种介入对运行的效率和内存占用都有一定的需
- JDWP 远程命令执行漏洞
Brucetg
渗透测试
0x01.Java调试体系JPDA简介JPDA(JavaPlatformDebuggerArchitecture):即Java平台调试体系架构。Java虚拟机设计的专门的API接口供调试和监控虚拟机使用JPDA按照抽象层次,又分为三层,分别是:JVMTI(JavaVMToolInterface):虚拟机对外暴露的接口,包括debug和profile。JDWP(JavaDebugWireProtoc
- java 框架调试_JAVA 调试框架(JPDA)简介
Bot Trump
java框架调试
JPDA是一个多层的调试框架,包括JVMDI、JDWP、JDI三个层次。JAVA虚拟机提供了JPDA的实现。其开发工具作为调试客户端,可以方便的与虚拟机通讯,进行调试。Eclipse正是利用JPDA调试JAVA应用,事实上,所有JAVA开发工具都是这样做的。SUNJDK还带了一个比较简单的调试工具以及示例。JVMDI定义了虚拟机需要实现的本地接口JDWP定义了JVM与调试客户端之间的通讯协议调试客
- JDWP 协议及实现
SofterICer
工具javaide开发语言
什么是JDWP?JDWP是JavaDebugWireProtocol的缩写,它定义了调试器(debugger)和被调试的Java虚拟机(targetvm)之间的通信协议。JDWP协议介绍这里首先要说明一下debugger和targetvm。Targetvm中运行着我们希望要调试的程序,它与一般运行的Java虚拟机没有什么区别,只是在启动时加载了AgentJDWP从而具备了调试功能。而debugge
- Android逆向系列--JDWP协议
Tasfa
Android逆向分析androidjava开发语言
Android逆向系列--JDWP协议背景简介使用源码调用参考背景经常会遇到各种各样需要使用jdwp知识的场景,比如调试Java源码、比如抓帧等等,这些关联知识点通常都会极其复杂,如果不能很好的了解jdwp协议的相关知识,那么做进一步的逆向将极其困难,本文将对jdwp进行详细的介绍和使用介绍。简介JDWP(JavaDebugWireProtocol)即JAVA调试器无线协议,它定义了调试器(Deb
- 深入 Java 调试体系,第 3 部分: JDWP 协议及实现
killmice
java
深入Java调试体系,第3部分:JDWP协议及实现虞俊杰,软件工程师,IBM徐睿智,软件工程师,IBM简介:JPDA(JavaPlatformDebuggerArchitecture)是Java平台调试体系结构的缩写,通过JPDA提供的API,开发人员可以方便灵活的搭建Java调试应用程序。JPDA主要由三个部分组成:Java虚拟机工具接口(JVMTI),Java调试线协议(JDWP),以及Jav
- JDWP 简介
SofterICer
工具javaide开发语言
Java平台调试体系(JavaPlatformDebuggerArchitecture,JPDA),由三个相对独立的层次共同组成。这三个层次由低到高分别是Java虚拟机工具接口(JVMTI)、Java调试连接协议(JDWP)以及Java调试接口(JDI)。模块层次编程语言作用JVMTI底层C获取及控制当前虚拟机状态JDWP中间层C定义JVMTI和JDI交互的数据格式JDI高层Java提供JavaA
- Java JVM远程调试
一码胜千言
示例在5005端口上开启远程调试java-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005-jartarget/ai-parter-server-0.0.1-SNAPSHOT.jar
- tomcat 开启jpda远程调试
Lisong
TOMCAT开放远程调试端口方法1、WIN系统,在catalina.bat里:SETCATALINA_OPTS=-server-Xdebug-Xnoagent-Djava.compiler=NONE-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899Linux系统,在catalina.sh里:CATALINA_OPTS="-se
- frostmourne
阿里极风
1、快速入门产品简介使用场景诊断内存泄露诊断方法性能重现误吞的异常数据订正字节码增强快速开始系统支持2、原理&设计相关技术instrumentjnijvmtijavassistjline系统架构HowtoattachSystemArchitecture功能扩展拓展点拓展口开发部署构建开发环境工程目录结构依赖的三方库TOLIST3、命令详解helpcdclearclosefindgcinvokels
- 基于JDK8的SpringBoot-2.7.6应用程序的jar包能直接通过java -jar 命令运行的原因
mister-big
springjavaspringbootjar
文章目录前言一、JAR是什么?二、嵌套JAR1.java官方不支持嵌套jar读取和加载2.嵌套“shade”jar方案3.SpringBoot的解决方案三、SpringBoot的ExecutableJars1.核心支持模块(spring-boot-loader)2.运行调试工具(JDWP)2.1.保姆级IDEA添加JDWP远程调试示例3.运行调试(java-jar)3.1.JAR启动入口:org.
- JPDA框架和JDWP协议
SofterICer
eSEjavaide
前言在逆向开发中,一般都需要对目标App进行代码注入。主流的代码注入工具是Frida,这个工具能稳定高效实现java代码hook和native代码hook,不过缺点是需要使用Root设备,而且用js开发,入门门槛较高。最近发现一种非Root环境下对DebugApp进行代码注入的方案,原理是利用Java调试框架,通过调试器与目标虚拟机之间通讯,实现对虚拟机进程的修改。JPDA框架和JDWP协议Jav
- idea对服务器正在运行的代码进行debug操作
liaozk_c
日常工作总结intellij-idea服务器pycharm
前言在开发过程中,常常会遇到在本地环境运行正常,但是部署到服务器环境运行就异常;本文解决的问题是怎么对服务器代码进行debug操作,帮助我们更好的找出原因准备工作保证本地代码和服务器运行的代码一致开始1、在idea配置远程debug启动2、停止服务器正确运行的jar3、通过下面命令重启jar包服务注意更换jar包名字和端口号nohupjava-Xdebug-agentlib:jdwp=transp
- word转pdf
半日孤独
1.功能实现使用poi对进行word文件进行解析处理,使用aspose进行pdf转换aspose下载路径:https://pan.baidu.com/s/1vJWgYAAaHpnXmyKhZa4ljg提取码:jdwp注:如果导入了easyExcel,则只需要导入一部分poi(关于doc文件的解析),防止版本不一致的问题2.导入依赖org.apache.poipoi-ooxml3.17org.apa
- tomcat
一码胜千言
配置项目路径server.xmldebug启动,远程端口8000catalina.batjpdastart启动catalina.batrun
- IDEA远程调试和调试本地war包
chace_tse
1、远程调试JPDA概念JPDA(Javaplatformdebuggerarchitecture)是java平台调试架构的简称,由java虚拟机后端和调试平台前端组成。1、java虚拟机提供了java调试功能;2、调试平台通过调试交互协议向java虚拟机请求服务,以对在虚拟机中运行的程序进行调试。idea配置方法1、启动tomcat的jpda支持启动tomcat的时候,不能只用默认启动方法./c
- java远程debug(idea)
芸尚非
javaintellij-idea开发语言
1、启动java服务java-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n-jarxxx.jar2、idea开启远程debug
- Java-远程Debug
更新失败
java服务器linux远程debug
添加启动参数java-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=192.168.6.50:5005-jarleek-demo-0.0.1-SNAPSHOT.jar参数说明transport指定了调试数据的传送方式,dt_socket是指用SOCKET模式,另有dt_shmem指用共享内存方式,其中,dt_shmem只适
- Tomcat远程调试
<黑科技T_T
tomcat服务器java
windows环境写一个startup-debug.bat,指定tomcat的根目录,端口自己定义rem*******设置Tomcat目录*******--setCATALINE_HOME=D:\asd\A8-2\tomcatd:rem8787为可用端口,为远程调试监听端口--cd%CATALINE_HOME%/binsetJPDA_ADDRESS=8787setJPDA_TRANSPORT=dt
- IDEA进行远程Debug调试的来龙去脉
掉发的小王
修复bug合集和小技巧intellij-ideajavaide
一、前言我们在测试环境时,遇到一些bug,看上下文的日志,还是无法判断出问题所在时,此时需要Debug来解决。为了更方便、更高效地定位和解决问题,远程调试成为一种常见的实践方式。这个还是不建议在生产中使用,可以在测试环境走和生产一样的单据来Debug。要是生产环境忘记去掉断点,直接炸了!还是不到万不得已不要在生产使用,使用完也要把本地的断点全部取消掉!二、JPDA在实战之前,我们可以了解一下JPD
- IDEA远程调试
YMY_666
intellij-ideajava服务器
启动命令java-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9091-jarxxx.jar参数说明transport:指定运行的被调试应用和调试者之间的通信协议,它由几个可选值:dt_socket:主要的方式,采用socket方式连接。dt_shmem:采用共享内存方式连接,仅支持Windows平台。server:指定
- 阿里JVM-sandbox
zi萱
先唏嘘一番:我与阿里有不解之缘,却每每错过。今天给大家推荐一款工具,也是阿里开源的。已经有许多公司应用于生产环境。于2018年开源=>地址。我从下面两方面来简要介绍一些这款开源工具:1.JVM-sandbox原理2.JVM-sandbox在测试中的应用JVM-sandbox原理JVM-sandbox基于JVMTI技术规范,利用动态字节码增强技术,使用插桩代替代理来实现的一个灵活的、非侵入代码的AO
- SpringBoot项目使用IDEA远程调试
司展超
一、首先准备一个简单的Springbootweb项目,打包发布到服务器上。image.png二、配置IDEAimage.png三、配置好后,启动服务器上我们提前上传的jar包,启动命令需要带上上图的命令。java-jar-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005xxx.jar四、启动我们的IDEA,打赏tes
- idea通过remote远程调试云服务器
lanren312
javajavaide
引用了第三方的包,调试是看不到运行流程,于是想到了idea的remote方法-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9002写一个.sh文件并启动nohupjava-jar-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9002./demo
- 怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
- java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
- mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
- 微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
- Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
- 读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
- centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
- 23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
- 开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
- js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
- 周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
- 前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
- 【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
- Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
- Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
- java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
- color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
- [信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
- oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
- zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
- C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
- 那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
- iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
- Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
- 通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
- 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
- 应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
- 一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
- Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
- 更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found