精华内容
下载资源
问答
  • 使用Arduino开发ESP32(01):开发环境搭建

    万次阅读 多人点赞 2018-12-12 10:19:14
    文章目录为什么使用Arduino开发ESP32开发环境搭建程序下载测试批量烧录固件到模块中总结 为什么使用Arduino开发ESP32 简单!(还能为什么呢?) 开发环境搭建 使用Arduino开发ESP32开发环境搭建方式和用Arduino...

    为什么使用Arduino开发ESP32

    简单!(还能为什么呢?)
    相比《Arduino for esp8266》,这次的《Arduino core for the ESP32》是由乐鑫官方主导的,项目地址在这里:https://github.com/espressif/arduino-esp32

    开发环境搭建

    使用Arduino开发ESP32开发环境搭建方式和用Arduino开发ESP8266相似:https://blog.csdn.net/Naisu_kun/article/details/80186950#t0

    1. 下载安装Arduino IDE:
      https://www.arduino.cc/en/Main/Software
    2. Arduino IDE中添加ESP32开发板数据:
      安装完成后选择:文件>首选项>附加开发板管理器网址 中加入Arduino core for esp32的地址 https://dl.espressif.com/dl/package_esp32_index.json
    3. 完成网址添加后就可以在:工具>开发板>开发板管理器 中搜索并下载esp32开发板数据包。(此过程可能需要科学上网!)

    在这里插入图片描述

    如果安装困难请参考下面文章:
    《Arduino core for the ESP32 安装失败问题处理方法》

    程序下载测试

    安装完开发板数据包后可以直接测试下,以输出Hello World为例,编写以下代码:

    void setup()
    {
      Serial.begin(115200);
      Serial.println("");
    }
    
    void loop()
    {
      Serial.println("Hello World");
      delay(1000);
    }
    

    上传到模块中就可以看到输出内容了:
    在这里插入图片描述
    这里用的电路模块原理图见下面说明:
    https://blog.csdn.net/Naisu_kun/article/details/84583785#_23

    批量烧录固件到模块中

    上面讲了如何编写上传程序,接下来讲讲如何量产。
    相比《Arduino for esp8266》的量产烧录,这次的ESP32相对来说麻烦些。
    仔细观察上面程序的上传过程(具体的字节数可能和上文程序有出入):
    在这里插入图片描述
    整个过程向ESP32模块中烧录了四块内容,这四块内容是什么?

    1. 第一块是boot_app0.bin,你可以在用户目录\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\tools\partitions中找到它,或者在官方项目地址:https://github.com/espressif/arduino-esp32/tree/master/tools/partitions 这里找到它;
    2. 第二块是bootloader,你可以在用户目录\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\tools\sdk\bin中找到它,或者在官方项目地址:https://github.com/espressif/arduino-esp32/tree/master/tools/sdk/bin 这里找到它,bootloader有很多个,分别对应不同的Flash芯片通讯接口模式和速度;
      在这里插入图片描述
    3. 第三块是你的程序内容,可以在Arduino IDE中导出二进制文件,然后在项目文件夹中获得:
      在这里插入图片描述
    4. 第四块是闪存区域划分信息,默认为default.bin,你可以在用户目录\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.0\tools\partitions中找到它,或者在官方项目地址:https://github.com/espressif/arduino-esp32/tree/master/tools/partitions 这里找到它;
      项目在每次编译或上传时会根据你的设置在用户文件夹临时目录生成临时的项目名称.ino.partitions.bin文件,你可以通过文件搜索找到它,当你在IDE中修改Partition Scheme设置后,就不能用默认的default.bin了,需要找到对应文件;

    有了全部的四个文件后就可以进行烧录了。
    烧录工具这里用乐鑫官方的:https://www.espressif.com/zh-hans/support/download/other-tools
    在这里插入图片描述
    软件打开不是很快,耐心等待。打开后选择ESP32 DownloadTool,然后再烧录软件界面选择对应的bin文件,填写对应地址,选择Flash速度、接口和大小,最后点击下方START按钮即可烧录。
    在这里插入图片描述

    总结

    到此为止所有用arduino开发esp32的开发环境就建立完成了,这个相比用官方的IDF开发环境搭建来说就简单不少,比较适合新手体验esp32。

    展开全文
  • 前端开发环境搭建

    万次阅读 多人点赞 2019-07-28 13:43:57
    前端开发环境搭建

    前端开发环境搭建:

    一:下载nodejs,下载地址:https://nodejs.org/en/

    监测nodejs是否安装完毕; node -v监测当前nodejs版本,,npm -v检测当前版本

    二: 选装cnpm

    $ npm install -g cnpm --registry=https://registry.npm.taobao.org
    //使用npm安装包的地方都可以使用cnpm替代(但是有些资源cnpm是下载不到的)
    $ npm config set registry https://registry.npm.taobao.org		//将npm设置使用cnpm
    
    npm使用简介:

    生成package.json文件的方法:

    $ npm init -y
    

    安装包的方法:

    $ npm install <包名(例如:gulp, webpack...)> -g --save-dev
    // -g表示全局安装
    // -save表示保存到package.json文件中"dependencies"属性中,生成环境下仍然依赖的包,使用-save,可以简写为-S
    // --save-dev表示保存到package.json文件中"devDependencies"属性中,只在开发环境下使用到的依赖包,使用--sabe-dev,可简写为-D
    

    安装yarn

    下载方法:
    请访问:https://yarnpkg.com/lang/zh-hans/docs/install/#windows-stable

    全局安装webpack (基于nodejs的自动化【模块】打包工具)

    $ npm install webpack -g
    

    webpack的使用方法:

    $ npm install webpack@3 -g  //@后面是你要安装的版本号
    $ webpack -v		//检测是否安装了webpack
    

    然后配置一个webpack.config.js文件,编译里面的内容:

    var path = require("path")
    
    module.exports = {
    	"entry": "./lib/index.js",	//入口文件设置
    	"output": {		//出口设置
    		"path": __dirname + "/build",
    		"filename": "xxhash.js", 
    		"library": "XXH", 
    		"libraryTarget": "umd",
    	}
    }
    

    // 安装插件:

    $ cnpm install style-loader css-loader //打包css的插件
    $ cnpm install url-loader //打包image的插件
    $ cnpm install file-loader //打包image的插件
    

    执行webpack命令,执行webpack.config.js/里面的内容

    全局安装gulp

    $ npm install gulp -g
    $ npm install -g nodemon  //自动检测文件更改,重启服务器
    

    require("**") //导入jquery模块
    module.exports = {} //导出模块

    全局安装Vue脚手架

    $ npm install vue
    $ npm install -g @vue/cli
    

    全局安装React脚手架

    $ npm install -g create-react-app
    

    全局安装React-Native脚手架(请在安装前按照官网进行环境配置)

    $ npm install -g react-native-cli
    
    $ react-native init <project-app>	//生成native项目
    

    react-native最大的坑就是与安卓的版本问题,
    1.遇到问题要修改配置准备降级。
    2.StyleSheet检查css属性是否符合
    3.通过StyleSheet的create()方法
    4.事件onPress={this.xxx}
    … …

    全局安装Dva脚手架

    $ npm install -g dva-cli
    

    全局安装TypeScript

    $ npm install -g typescript
    
    展开全文
  • Java开发环境搭建超全详解

    千次阅读 多人点赞 2019-08-01 10:20:11
    在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必须阶段,只有开发环境搭建好了,方可进行开发,良好的开发环境搭建,为后续的开发工作带来极大便利。 对于大公司来说,软件开发环境搭建工作一般是由...

           在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必须阶段,只有开发环境搭建好了,方可进行开发,良好的开发环境搭建,为后续的开发工作带来极大便利。

           对于大公司来说,软件开发环境搭建工作一般是由运维来做,然而,对于小公司来说,这个工作就交给开发人员来做了,如开发经理。不管这个工作是交给运维人员做,还是

    交给开发人员做,能确定的是:做这件事的人,一定是个资深的人,如此,方可让开发环境稳定运行,从而为后续的开发提供便利。

           现实中,只有极少部分开发人员接触服务器(能接触的人,基本都是开发组长及其以上,或资深开发,小公司除外),然而,对于一个技术人员来说,服务器相关环境搭建是个必

    不可少的环节,这就产生了一个矛盾:服务器相关搭建工作是程序员不可或缺技术,但大部分程序员又少接触服务器。鉴于此,本篇文章将详解这个专题,对于没搭建过服务器的开发

    人员,初中级开发人员,.NET转java开发人员提供帮助。

           本篇文章内容包括:Linux理论与实操,MySQL实操,JDK实操,Tomcat实操和Tomcat实操。

    一 Linux环境搭建


       本小结侧重于操作,主要内容大致包括:

    • 两大类操作系统简要介绍
    • VMware Workstation Pro 15简要介绍及安装
    • CentOS简要介绍及基于Wi'n'dows 操作系统的安装

    (一 )关于操作系统的介绍


        1.Windows 系统

           Window操作系统,是我们再熟悉不过的系统了。

    • 客户端操作系统:windows xp(已过时),win7,win8,win10
    • 服务器操作系统:windows server 2008(R2),windows server 2012(R2),windows server 2016

         2.Linux 系统

             Linux系统是一款开源的多用户操作系统(开源主要指它的内核),由于开源,从而衍生出不同版本Linux操作系统。它的内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。

    它是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。

    Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。从商业角度来说,分为商业版(收费,如Rechart系列)和非商业版(免费,如CentOS)。

    (二)虚拟机


          关于虚拟机,当前有两款比较流行:VMware  Workstation 和 VirtualBox。

          在本篇文章中,我们将选择VMware Workstation Pro 15(Wmware当前最新版本)作为演示虚拟机。

         1.下载地址

         官网:https://www.vmware.com/products/workstation-pro.html。官网提供了两种不同平台的虚拟机,即windows和linux。

       2.序列号

        GV7N2-DQZ00-4897Y-27ZNX-NV0TD

       3.安装步骤

           =》下载虚拟机

          由于本次演示是基于windows的,因此下载windows版本的虚拟机

    =》安装

    下载好的虚拟机安装包如下,双击进行安装。

    注意:一般在安装新软件时,尽量把杀毒软件关闭。

    弹出界面,选择“下一步”

    接受许可协议,下一步

     

    选择安装路径,选择增强版(也可以不选),下一步

    下一步

    下一步

    安装

    安装中....

    安装结束,输入许可证

    输入许可证

    重启电脑,安装完毕。

     

    (三) CentOS


         Linux镜像官网:https://www.centos.org/download/

    从官网,可以看出提供了三种类型的CentOS镜像:

    1.DVD ISO:常用版本,包含大部分功能,大小为4.2G左右;

    2.Everything ISO:功能最全版本,大小为8.8G左右;

    3.Minimal ISO:压缩版本,大小为906M左右,很多功能需要在线安装;

    4.无论是哪个版本镜像,均分为32位(x86)和64位(x64);

    (四) 安装CentOS


     1.启动虚拟机,文件=》新建虚拟机

    典型,下一步

    选择安装包,下一步

    下一步

    存储单个文件,下一步

    自定义硬件配置

    设置内存为8G,关闭

    完成

    安装准备中(等待60秒,自动安装,不要操作鼠标)

    准备中

    选择简体中文(中国),继续

    基本配置结束后,选择开始安装

    安装中

    配置Root密码

    完成配置

    重启

     登录

     

    注意:如果安装可视化桌面,请按照如下步骤

    软件选择

     GNOME

     登录

    桌面

     

    二  MySQL安装


     1  搭建mysql

    1.1  官网下载mysql压缩包

    下载压缩包时,可以先把安装包下载到本地,再上传到服务器,也可以在linux服务器上wget:

    wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

    官网:https://dev.mysql.com/downloads/mysql/5.7.html#downloads

    1.2  解压gz压缩包

    tar -zxvf mysql-5.7.26-linux-glibc2.12-x86_64.tar.gz

    1.3 将压缩包移动到 /usr/local/mysql/

    mv -v mysql-5.7.26-linux-glibc2.12-x86_64 /usr/lcoal/mysql

    1.4 创建用户组和添加用户

    groupadd mysql
    useradd -r -g mysql mysql

    1.5 将安装目录所有者及所属组改为mysql,这个根据自己的目录来

    #chown -R mysql.mysql /usr/local/mysql

    1.6  在mysql目录下创建data文件夹

    #mkdir data 

    1.7 初始化数据库

    #/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data
    如果出现以下错误是因为5.7版本的初始化命令后面要加 --initialize,如下:

    /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize

    1.8 编辑配置文件

    配置文件地址:/etc/my.cnf

    [mysqld]
    datadir=/usr/local/mysql/data
    basedir=/usr/local/mysql
    socket=/tmp/mysql.sock
    user=mysql
    port=3306
    character-set-server=utf8
    # 取消密码验证
    //skip-grant-tables
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid
    1.9 将mysql加入到服务

    #cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

    1.10 开机启动

    #chkconfig mysql on

    1.11 启动mysql

    #service mysql start

    1.12 设置密码

    由于在第7步my.cnf配置文件中取消了密码验证,故登录mysql不需要密码验证。

    /usr/local/mysql/bin/mysql -uroot

    无密码登录之后,修改密码:

    #use mysql;
    #update user set authentication_string=password('root') where user='root';
    或者#set password=password("root");
    #flush privileges;
    #exit

    1.13 将第7步改为需要密码验证

    1.14 添加远程账户

    使用root账户登录,并设置远程登录账户

    GRANT ALL PRIVILEGES ON *.* to 'Alan_beijing'@'%' IDENTIFIED by 'Shanghai2019' WITH GRANT OPTION

    1.15 防火墙设置

    方式一:关闭防火墙

    //停止
    systemctl stop firewalld.service
    //禁止开机启动
    systemctl disable firewalld.service

    方式二:开启端口

    //这里发现防火墙是开启的,再来查看防火墙控制的端口
    systemctl status firewalld
    //查看防火墙控制的端口,发现我想要监听的8081端口没有开启
    firewall-cmd --list-all
    //永久开启3306端口
    sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
    //重载防火墙
    sudo firewall-cmd --reload

    1.16 重启mysql服务

    service mysql start

    1.17 相关命令

      1 .安装numactl和libaio

        yum -y install numactl
        yum search libaio
        yum install libaio

      2.配置环境变量

          export PATH=$PATH:/usr/local/mysql/bin

     3.启动服务

    方式一:服务方式

    [root@localhost ~]service mysql start
    如果服务在启动状态,直接重启服务用以下命令:
    [root@localhost ~]service mysql restart

    方式二:命令行方式

    [root@localhost bin]cd /usr/bin

    [root@localhost bin]./mysqld_safe &

     4.关闭服务

    方式一:服务方式

    [root@localhost ~]service mysql stop

    方式二:命令行方式

    [root@localhost ~]mysqladmin -u root shutdown

     5.查看服务

    方式一:

    [root@localhost bin]ps -ef|grep mysql

    方式二:

    [root@localhost bin]netstat -nlp

     6.进程查询和杀死

    (1) ps -ef |grep redis

    ps:将某个进程显示出来
    -A  显示所有程序。 
    -e  此参数的效果和指定"A"参数相同。
    -f  显示UID,PPIP,C与STIME栏位。 
    grep命令是查找
    中间的|是管道命令 是指ps命令与grep同时执行

    这条命令的意思是显示有关redis有关的进程

    (2)kill[参数][进程号]

       kill -9 4394

    kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill -9发送的信号是SIGKILL,即exit。

    exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。当然你也可以使用kill发送其他信号给进程。

    7.查看mysql

    方法一:status;
    方法二:select version();

    2  卸载mysql
    2.1 RPM包安装方式的MySQL卸载

     1.检查是否安装了MySQL组件
       # rpm -qa | grep -i mysql

     2.卸载前关闭MySQL服务
         # service mysql status 

         # service mysql stop

         # service mysql status

     3.卸载删除MySQL各类组件

         # rpm -ev  组件名 
     4.收集MySQL对应的文件夹信息

         # find / -name mysql
    5.收集MySQL对应的文件夹信息

         # rm -rf  路径/文件名
    6.删除mysql用户及用户组

        # more /etc/passwd | grep mysql

        # more /etc/shadow | grep mysql 

        # more /etc/group | grep mysql  

        # userdel mysql

        # groupdel mysql

    7.确认MySQL是否卸载删除

        #  rpm -qa | grep -i mysql

    2.2  yum包安装方式的MySQL安装
    1.查看yum上提供的数据库可下载版本
        #  yum list | grep mysql

    2.安装mysql.i686,mysql-devel.i686,mysql-server.i686
       #  yum -y install mysql mysql-server mysql-devel

    3.查看是否开机启动
       # chkconfig --list | grep mysqld

    4.设置为开机启动
       #  chkconfig mysqld on

    5.设置数据库密码
      #  service mysqld start

      #  mysqladmin -u root -p password 'root'

    2.3  service mysql start出错:unrecognized service的解决办法
    [root@ctohome.com ~]# service mysql start
    mysql: unrecognized service
    [root@ctohome.com ~]# service mysql restart
    mysql: unrecognized service
     
    [root@ctohome.com ~]# rpm -q mysql   查询发现mysql已经正常安装
    mysql-5.1.52-jason.1

    [root@ctohome.com ~]# chmod 755 /etc/rc.d/init.d/mysqld  修改mysqld执行权限

    [root@ctohome.com ~]# service mysqld start  搞定
    Starting mysqld:  [  OK  ]
    [root@ctohome.com ~]# service mysqld status
    mysqld (pid 9487) is running...

    2.4  Navicat for mysql远程连接数据库详解(1130错误解决方法)
    1.进入MySql控制台: mysql -u root -p

    2.弹出Enter password:   输入您的数据库密码

    3.执行下命令: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '您的数据库密码' WITH GRANT OPTION;

    4.再执行下下命令:  flush privileges;

    5.mysql服务启动、停止、重启
    (一)启动方式

    (1)使用 service 启动:service mysqld start

    (2)使用 mysqld 脚本启动:/etc/inint.d/mysqld start

    (3)使用 safe_mysqld 启动:safe_mysqld&

    (二)停止

    (1)使用 service 启动:service mysqld stop

    (2)使用 mysqld 脚本启动:/etc/inint.d/mysqld stop

    (3)mysqladmin shutdown

    (4)杀掉进程:

      #  ps -ef  |  grep mysqld

     #  kill -9  进程号 

    (三)重启

    (1)(使用 service 启动:service mysqld restart

    (2)使用 mysqld 脚本启动:/etc/inint.d/mysqld restart

    6.mysql 查询的基本命令
       1)查看内存
      #  top

     2)mysql的安装路径和运行路径
      #  whereis mysqld

        3)PATH变量指定的路径中,搜索mysql的信息
      #  which mysqld

        4)查看配置文件
     #  vi /etc/my.cnf

    7.解决修改mysql的datadir所引发的错误问题
     1)修改datadir指向的文件路径
       1))复制默认指定路径里面的文件到新的指定路径的文件夹中        

       2))修改指定的文件夹的修改权限

        2)配置apparmor权限
       1))查看apparmor的配置:# vi /etc/apparmor.d/usr.sbin.mysqld

       2))配置新路径权限

        3)PATH变量指定的路径中,搜索mysql的信息
      1))查看selinux的配置:# vi /etc/selinux/config 

      2))修改配置: SELINUX=disabled

    三  JDK安装


     1.wget下载安装包

    我将jdk安装包下载在/TestPackages/  目录下

     

    wget url

    2.解压jdk安装包

    tar xzvf jdk-8u221-linux-x64.tar.gz

     

    解压后

     

    3.配置环境变量

    vim /etc/profile.d/java.sh

    4.使环境变量生效

    source /etc/profile

    5.测试jdk是否安装成功

    java -version

     

    四 Tomcat安装


     以安装tomcat 8 为例

    =》进入Tomcat官网,获取Tomcat下载地址

    https://tomcat.apache.org/download-80.cgi

     

    =》wget

    wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.43/bin/apache-tomcat-8.5.43.tar.gz

     

    =》解压

    tar -zxvf apache-tomcat-8.5.43.tar.gz

    =》启动Tomcat

     

    =>访问Tomcat

     用ip访问

     

     五 Redis安装


     (一)  Redis服务搭建

         1.在根路径建立目录 myredis

            mkdir myredis

          2.进入myredis目录

            cd myredis/

         3.Redis搭建

         (1)下载Redis

                 wget http://download.redis.io/releases/redis-5.0.4.tar.gz

         (2)解压Redis包

                  tar xzf redis-5.0.4.tar.gz

        (3)切换到(2)解压的包

                  cd redis-5.0.4

        (4)编译包

                 make

        Tip:当make命令出错时,请添加如下命令:

            yum install cpp
            yum install binutils
            yum install glibc
            yum install glibc-kernheaders
           yum install glibc-common
           yum install glibc-devel
           yum install gcc
           yum install make

           yum install tcl

    (二)Redis服务配置


          Redis服务相关配置,主要集中在Redis.conf文件中。 在除此配置Redis服务时,有六个参数是比较重要的:requirepass, bind,port,protected-mode,daemonize,logfile

          1.requirepass:配置redis登录密码

          redis.conf中,requirepass参数默认是不需要的,即不需要密码登录。

          ​

           这里,我将其更改为123456

         ​ 

           2.bind:配置ip

           redis.conf中,bind默认绑定的ip为127.0.0.1

         ​

           为了让远程能够访问,请使用Linux服务器ip地址代替,查看ip命令:ifconfig

        ​  

            3.port:配置端口号

             redis.conf默认端口号为6379,你可以改为你自己的端口号

          ​

            如下更改为6399

           ​

           4.protected-mode:设置保护模式

             redis.conf的protected-mode默认是开启保护模式的,需要更改为非开启模式

           ​

            如下设置为不保护模式

        ​   

           5.daemonize

             daemonize表示是否在后台启动redis-server,默认表示为非在后台启动服务,将其设置为后台运行

        ​  

           6.logfile

           redis.conf的logfile表示redis的配置文件,大家可以理解为sl4j.log等日志文件,

           创建文件:myredis.log

           vim  /myredis/redis-5.0.4/myredis.log

           ​

           配置logfile参数,其路径为myredis.log路径

           ​

    (三)  防火墙配置


    如下为防火前配置的基本流程
       1.查看防火墙状态

       防火墙状态为running或not running,若非running,则设置为running

       ​

        2.向防火墙添加开放端口

       firewall-cmd --permanent --zone=public --add-port=6399/tcp

         --permanet参数表示永久,否则表示临时

       ​

        3.加载配置

        firewall-cmd --reload

       ​

       4.查看开启的端口

        firewall-cmd --permanent --zone=public --list-ports

       ​

       5.启动redis服务

       需要注意的是,启动服务时,要带上redis配置文件

       src/redis-server  redis.conf

       ​

       查看配置文件,发现redis已经启动成功

      ​

    (四) 访问Redis服务


      1.通过xshell访问

       src/redis-cli -h 192.168.202.134 -p 6399 -a 123456

      如下为成功访问redis的截图

      ​

      测试一下: 

      ​

      2.通过redisDeskManager来访问redis服务

      ​

      打开db0,就能看到刚才set 的name

    ​  

    关于redis客户端工具,目前市场上还是比较多的,这里我推荐两款:

     RedisDeskManager和RedisClient

    (五)  相关命令


    (1)关闭redis服务
      redis-cli -h ip -p port shutdown

    六 版权区


    •  转载博客,必须注明博客出处
    •  博客园:http://www.cnblogs.com/wangjiming/ (侧重.NET)
    •  CSDN:https://blog.csdn.net/u010228798  (侧重JAVA)

    我有一个微信公众号,经常会分享一些Java技术相关的干货;如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。

    展开全文
  • Android Studio开发环境搭建

    万次阅读 多人点赞 2019-01-05 23:29:49
    目前关于AS(Android Studio)的环境搭建网上已经有很多教程了,但是实际操作起来还是会有各种意想不到的问题,对于大多数开发者来说可能还是会有困难,本教程根据笔者亲身实践,将搭建过程中的各种问题总结出来,方便...

    开发环境

    Win10 x64操作系统
    JDK 8
    Android Studio 3.2

    安装JDK

    下载地址:JAVA8 官方下载

    1. 下载完后双击直接安装。

    2. 选则JDK安装目录,从它的"功能说明"里可以看到,他同时会安装一个专用JRE,因为后面还会安装另一个JRE(公共JRE),所以这里先提示一下,二者还是有区别的。
      选择JDK安装目录

    3. 下一步:因为ORACLE对JAVA维护策略的改变,这里会有一些信息提示,不用关注,点击"确定"。
      JDK警告信息

    4. 选择公共JRE的安装目录,可以是任意目录,建议和JDK同级目录,因为看起来有条理一些。
      JRE安装目录
      前面提到过,安装JDK的时候已经装了JRE了,现在又装一个JRE,二者的区别是什么?其实从他们的名称已经大概了解:专用JRE和公共JRE,具体差异可以访问如下博客:
      https://www.cnblogs.com/PengLee/p/3970760.html

    5. 完成。
      JDK安装完成

    配置环境变量

    1. 在桌面"此电脑"上右键,依次选择"属性"->“高级系统设置”->“环境变量”,在"系统变量"栏目下点击"新建",创建JAVA_HOME系统变量,变量值为JDK的安装路径。
      JAVA_HOME

    2. 同理,新建"CLASSPATH",变量值为: [.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;]
      在这里插入图片描述

    3. 编辑PATH
      编辑PATH
      选择"新建",分别将%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin添加进去,点击"确定"。
      编辑PATH

    4. 一路"确定",退出环境变量配置。

    测试JDK是否安装配置OK

    依次在cmd窗口中输入java、javac和java -version,如果都不提示"不是内部或外部命令,也不是可运行的程序或批处理文件。" 表示安装配置成功。
    检验JDK配置

    安装Android SDK

    下载SDK Manager:SDK Manager

    1. 双击exe开始安装,它会自动检测JDK
      SDK安装

    2. 选择默认,Next:
      在这里插入图片描述

    3. 选择SDK安装路径
      选择SDK路径

    4. 开始安装
      开始安装

    5. 安装完成,点击"Finish",自动启动Android SDK Manager,或者手动在SDK安装路径下双击SDK Manager启动。
      安装完成

    6. 配置SDK下载代理
      由于众所周知的的原因,国内无法直接访问google官网,所以目前一般通过代理来更新SDK(有VPN的就不需要代理了)。点击"Tools"->"Options"打开代理界面,这里配置中国科学技术大学的代理服务器:debian.ustc.edu.cn,端口号填80。
      然后点击Close关闭窗口,接着关闭并重新打开SDK Manager进行组件更新。
      设置代理
      由于各种原因,代理服务器也可能不可用,如果科学技术大学的代理不可用,尝试东软的代理: mirrors.neusoft.edu.cn,端口号也是80,更多代理请参考

    7. 选择需要更新的组件,Tools下的Android SDK Tools、Android SDK Platform-tools和Android SDK Build-tools是要下载的;API下的组件根据自己的情况下载,我选择了API28和API26。TV、Wear和Play相关的,如果不涉及,可以不用下,因为太大了,会很慢。Extra下至少要下载Android Support Repository,因为这里是android的支持库,比如support-v7等。Google Repository也建议选上。
      选择组件
      选择Accept下载单独组件或者Accept License进行批量下载,建议后者。
      在这里插入图片描述

    8. 组件下载中…
      组件下载中

    注意:如果组件显示不全,比如API 下没有System Image或者Exstra为空,或者下载时提示服务器无响应,需要多次重启SDK Manager,然后点击Packages->Reload重试,如果还是不行,请尝试其他代理。

    1. 下载完毕后,退出SDK Manager,到此为此,准备工作已经基本完成。也可以先安装 AS,然后将SDK Manager和Android Studio进行绑定,这样当再需要更新SDK时就可以直接通过Android Studio进行。

    安装配置Android Studio

    下载地址:官方下载

    安装启动

    1. 双击安装包开始安装
      开始安装

    2. 下一步,这里可以把Android Virtual Device去掉,这是AS自带的模拟器,模拟运行APK,速度很慢,后面我们会安装Genymotion作为模拟器,比自带模拟器快的不只一个数量级。但是如果磁盘空间足够大,装上也无所谓,说不定以后还会用到。
      在这里插入图片描述

    3. 选择AS的安装目录
      选择AS的安装目录

    4. 点击"Install"开始安装,这里"Do not create shortcuts",根据自己的喜好勾选,如果不勾选的话,他会在开始菜单中创建快捷方式,我一般会勾选,不让它创建,因为几乎用不到开始菜单下的快捷方式,而是在桌面创建快捷方式。
      在这里插入图片描述

    5. 安装完成,点击"Finish"启动AS.
      启动AS

    6. 点击"OK"
      引入配置

    7. 这里会提示无法访问SDK add-on list,虽然刚才我们已经下载过SDK了,理论上只需要关联到AS就行了。但是关键的一点,我们并不清楚SDK组件依赖是否下载完全,所以建议这里点击"Setup Proxy"把刚才的代理重新设置一遍,因为在接下来的步骤中,当我们把SDK与AS关联后,AS会自动查找依赖组件并下载。当然选择"Cancel"也是完全没有问题的,不过后面如果遇到需要下载SDK的时候还是要设置代理。
      在这里插入图片描述
      这里还可以点击Check connection,来检测代理是否可用。
      设置代理

    8. 进入Welcome界面,选择Next
      在这里插入图片描述

    9. 选择默认,点击Next
      在这里插入图片描述

    10. 选择主题,这里给了Darcula和 IntelliJ两种,分别代表黑色和白色主题,当然主题也可以随时设置,这里就先保持默认。 选择主题

    11. 选择SDK的位置,将Android SDK和AS关联起来。
      选择SDK

    12. 点击Finish,它会做一些新的下载
      在这里插入图片描述
      如果报如下错误,点击Cancel跳过,不影响我们后面的使用,这里还是下载SDK Tools,我们已经下载过了。
      在这里插入图片描述

    13. 进入Welcome to Android Studio界面,说明配置也基本完成了,不过还是要对SDK做一些更新,点解Configure下的SDK Manager。
      在这里插入图片描述
      这里我们看到了熟悉的SDK相关配置,包括位置、代理、已下载组件等,将ConstraintLayout for Android和Solver for ConstraintLayout两项勾上,点击"Apply",进行下载. ConstraintLayout是一种新的布局方式,也是Android最新推荐的方式。
      下载ConstraintLayout

    14. 下载完毕,点击Finish,接着点击OK 退出SDK 配置界面。
      在这里插入图片描述

    创建新的Android工程

    1. 点击Start a new Android Studio project,创建新工程
      创建新的Android工程

    2. 设置工程名称、包名、工程储存路径等,下面的C++和Kotlin根据需要勾选,C++的话就是针对JNI,基本不用。由于目前android应用开发除了使用JAVA,还可以使用Kotlin,而且google是推荐Kotlin的,并且AS支持JAVA和Kotlin代码互转,所以这里也有Kotlin的选项,不过我们目前不需要,所以也不勾选。
      在这里插入图片描述

    3. 选择工程是针对哪些设备开发的,这里选择手机和平板,由于我的API28下载的比较全,所以这里选择它,但是同时也可以看出下面的提示,目前运行Android9.0的设备小于1%,我们只是测试,所以这里无所谓。
      在这里插入图片描述

    4. 选择主Activity类型,这里默认Empty Activity就可以。
      在这里插入图片描述

    5. 这里注意Backwards Compatibility,即向后兼容性,建议就保持默认勾选上,点击Finish。
      在这里插入图片描述

    6. 由于AS中的工程通过Gradle进行构建,所以它会提示更新Gradle时是否使用代理:更新Gradle是不使用代理的,只有更新SDK才需要代理,但是这里它自动把SDK的代理复制过来了,我们可以点击Cancel。如果点击了OK也没有关系,可以在设置中把代理关掉,比如我就点击了OK。
      在这里插入图片描述

    7. 项目打开后会提示Gradle更新失败,下面还有详情,我们可以发现是代理的原因。
      在这里插入图片描述
      所以要关闭代理,点击 File->Settings(或者快捷键Ctrl+Alt+S),打开设置,找到HTTP Proxy,勾选No proxy,点击OK,退出。
      在这里插入图片描述

    8. 点击Try Again,重新进行Gradle同步(友情提示:如果现在同步,会发现下载很慢,建议先把整段看完之后,再确认要不要直接同步)
      在这里插入图片描述
      看到下面窗口提示的syncing…,同步中,状态栏也会提示下载进度,可以看到大概有一百兆。
      Gradle更新
      当然如果嫌下载慢(确实很慢),至少有3种方式可以解决:
      (1) 打开File->Settings->Build,Execution,Deployment->Gradle->Android Studio,勾选右边的Enable embedded Maven repository,点击OK,重新同步工程。
      在这里插入图片描述
      (2) 配置全局Gradle,Gradle官方下载 (注意要下载当前项目配置的Gradle版本,在gradle-wrapper.properties中查看)。然后直接将压缩包放置在C:\Users\用户\.gradle\wrapper\dists下,不需要解压,重启AS就可以了。
      这里根据个人喜好选择。不过第一种方式还是建议勾选上,用来解决其他关于jcenter和google仓的问题。
      (3) 使用AS自带的Gradle
      打开设置->Gradle,选择[AndroidStudio安装目录]下的gradle,保存。
      在这里插入图片描述

    这里有必要插一段:

    AS、Gradle和Gradle插件的关系?
    AS和Gradle本来是两个完全不相干的工具,但是现在AS要使用Gradle来构建自己的工程,怎么办?当然是用插件了,这也就是Gradle插件的由来。但是三者间又存在一个版本兼容性的问题,具体可参考此网站:Gradle与Gradle插件的版本对应关系
    比如我目前使用的AS是3.2,在gradle下的build.gradle中可以看到插件的版本号为3.2.0:classpath ‘com.android.tools.build:gradle:3.2.0’。但是在gradle-wrapper.properties中配置的Gradle版本号是4.6:distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip,当然这些都是可以自定义的,只要不违背三者间的依赖规则。
    关于三者间的关系,如果还有疑问,可以参考此博客AS、Gradle与Gradle插件

    1. Gradle同步完成,但是构造时报错,Failed to find Build Tools revision 28.0.2,
      在这里插入图片描述
      去SDK的安装目录下查看,确实没有28.0.2,但是有28.0.3,
      在这里插入图片描述
      解决方法:打开app下的build.gradle,修改buildToolsVersion为已经存在的版本,如果没有buildToolsVersion这一项,手动新建一个。
      在这里插入图片描述

    2. 点击Try Again,又报错误Unable to resolve dependency for XXX,找不到依赖的库。
      在这里插入图片描述
      解决方案:
      (1) 同样是在app下的build.gradle中,找到dependencies ,把后面和test相关的三项都删掉,暂时用不到。
      在这里插入图片描述
      (2) 接着配置appcompat版本:进入SDK安装目录下的extras\android\m2repository\com\android\support\appcompat-v7,里面有appcompat-v7的各个版本,选择一个替换原dependcies中的appcompat版本号,建议选择最新的。
      (3) 配置constraint的版本号
      进入SDK安装路径下的extras\m2repository\com\android\support\constraint\constraint-layout查看已经存在的版本,替换dependency下constraint的版本。
      或者进入设置中的SDK里查看,我这里已安装1.0.2
      在这里插入图片描述
      配置好的dependency如下,保存之后,点击"Try Again"。如果没有Try Again,点击Build->Rebuild Project是一样的。
      在这里插入图片描述

    3. 构建成功
      在这里插入图片描述
      生成的apk在[你的工程目录\app\build\outputs\apk\debug]下,或者将AS试图切换到Project也可以看到:
      在这里插入图片描述
      接下来就是运行APK了,但是由于我们没有之前没有安装AVD(Android虚拟机),所以现在要先装Genymotion,当然如果有真机是最好的。

    安装Genymotion

    下载安装

    1. 官网下载: Genymotion Download
      Genymotion需要账号登陆之后才能下载,注册一个就可以了。进入之后有两个选项,一个是带VirtualBox,一个是没带的,由于Genymotion运行需要VitualBox,如果电脑上没有安装VirtualBox的话,选择第一个。
      下载Genymotion

    2. 下载完双击安装
      在这里插入图片描述

    3. 选择VirtualBox的安装路径
      VitualBox安装路径

    4. 一直下一步,到安装界面,点击安装
      在这里插入图片描述

    5. 中间会有一些提示,选择安装就行了
      在这里插入图片描述

    6. VirtualBox安装完成。
      在这里插入图片描述
      点击Finish启动Genymotion,
      在这里插入图片描述

    7. 第一次启动会让登录,方便后面下载镜像。
      在这里插入图片描述

    8. 这里选择Personal Use就可以了
      在这里插入图片描述

    9. 一路Next,直至完成,进入主界面,这里可以选择已存在的设备进行安装,或者自定义一个设备。
      在这里插入图片描述
      我就选择Google Pixel设备直接安装,点击后面三个圆点,选择Install,弹出确认界面,点击INSTALL开始下载安装。
      在这里插入图片描述
      但是虚拟机一般都是很大的,默认安装路径在C盘,如果想改成其他盘,可以依次点击Genymotion->Settings->VirtualBox,把路径改一下。如果不想改的话,直接装就行了。
      设置虚拟机的安装路径
      同理这里建议把ADB中SDK路径也指定成我们自己的,毕竟和AS用的是同一套,如下:
      设置Genymotion使用的SDK

    10. 开始下载
      开始下载镜像

    11. 下载完成后会在My installed devices下显示,点击右边三个小圆点,选择start开启虚拟机。
      在这里插入图片描述

    12. 启动后的虚拟机如下
      虚拟机界面

    在AS中安装Genymotion插件

    1. 打开AS,依次点击File->Settings->Plugins->Browse repositories,
      在这里插入图片描述

    2. 在弹出界面里搜索Genymotion,点击右边的Install进行安装(注意要关闭代理,切记一点:代理只用于SDK的更新):
      安装Genymotion插件

    3. 安装完成后重启AS
      在这里插入图片描述

    4. 重启之后,再次打开设置,找到Other Settings下的Genymotion,在右边指定其安装路径,点击OK,配置完成。
      在这里插入图片描述

    5. 如果显示工具栏(勾选View下的Toolbar),还可以在工具栏窗口中看到Genymotion的快捷按钮:
      在这里插入图片描述

    在Genymotion中运行APK

    点击Run->Run 'app’或者快捷键Shift+F10,弹出选择虚拟机的界面,如果有可用虚拟机的话,直接选择一个;如果没有的话先启动一个,这里已经有一个我们创建好并启动了的Google Pixel,直接使用,点击OK。
    在这里插入图片描述

    运行结果:
    虚拟机运行APK

    总结

    至此,关于Android Studio搭建Android开发环境的步骤已经说完了,主要分为以下几步:

    1. JDK 安装
    2. SDK 安装
    3. Android Studio安装
    4. Genymotion安装,当然如果有真机,完毕没必要用虚拟机,毕竟真机环境才是用户环境,更能够检验APK的稳定性和可靠性。

    这里主要讲的是开发环境的搭建,但不是每一步都有贴图,主要是一些容易出错的位置会详细说明,关于Android Studio的使用并没有太多涉及,读者可以参考 Android Studio的中文社区 进行学习,或者搜索相关博客,最后祝大家使用愉快!

    展开全文
  • MSYS2开发环境搭建

    万次阅读 2015-09-20 20:45:29
    MSYS2+MinGW64开发环境搭建软件下载 下载MSYS2 64bit软件包msys2-x86_64-20150916.exe 下载MinGW64工具链,根据需要选择版本,x86_64-5.2.0-release-posix-seh-rt_v4-rev0.7z 软件安装步骤 双击安装msys2-x86_64-...
  • 1.1Python 开发环境搭建

    万次阅读 2019-05-18 10:55:57
    1.1Python 开发环境搭建1.1Python 开发环境搭建1.1.1 Python环境搭建Python下载Unix & Linux 平台安装 Python:(源码式安装)通过ubuntu官方的apt工具包安装Mac安装Python3Windows下直接下载安装就可以了1.1.2 ...
  • C# 开发环境搭建

    千次阅读 2017-06-22 15:06:51
    C# 开发环境搭建
  • JavaScript开发环境搭建

    千次阅读 2016-11-21 17:38:18
    JavaScript开发环境搭建
  • VSCode 开发环境搭建 ----Lua开发环境搭建 及 代码运行 平台:Windows 10 IDE:VisualStudioCode :VSCode 功能环境:Lua 代码运行环境 目录 1. 开发平台确认 2. VSCode 下载及安装 【1】. VSCode下载: 【2...
  • 搭建飞控开发环境:ubuntu下pixhawk开发环境搭建(PX4开发) 关于开发环境,可以选择Windows、Linux或者Mac,若选择Linux,建议安装Ubuntu16.04的版本,版本太旧会导致一些核心库文件无法下载。 博主最开始是用...
  • Odoo13开发环境搭建

    千次阅读 2019-11-07 16:21:37
    ODOO13开发环境搭建 Odoo13开发环境搭建 准备:windows10 64位系统、Python3.6.8、Pycharm2019.2、postgresql-12.0-1、Odoo13 其它:nodejs、rtlcss、wkhtmltopdf 下载安装 Python3.6.8 ,按照官网文档,Odoo13需要...
  • 引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入...Android开发环境搭建分为以下四步: 第一步、安装JDK; 第二步、安装Eclipse; 第三步、下载并
  • 开发环境搭建开发环境搭建硬件准备系统烧录系统配置基本配置其他配置安装开发软件 开发环境搭建 硬件准备 SD-Card 树莓派(本人使用的英国版 RS 3B) 5V 2A 供电 Windows 电脑 开发相关工具可在这里找到 系统烧录 ...
  • .NET 开发环境搭建

    千次阅读 2018-07-13 15:27:51
    .NET 开发环境搭建网址:https://www.cnblogs.com/wangjiming/p/7047903.html
  • Goland开发环境搭建详解

    千次阅读 2018-08-19 17:31:02
    Golang开发环境搭建 首先学习一门开发语言首先先要搭建开发环境,有了环境我们才能进行代码的开发,先介绍在一些主流的操作系统编译环境的搭建和IDE选择。 一、Go语言开发环境搭建 要搭建Go语言开发环境,先...
  • Flutter开发环境搭建和调试

    千次阅读 2019-03-10 23:52:56
    Flutter开发环境搭建和调试开发环境的搭建1. 下载Flutter SDK2. 配置环境变量3.安装Visual Studio Code所需插件4.创建Flutter项目模拟器的安装与调试 Flutter开发工具很多,有很多支持Flutter开发的IDE。比如...
  • penfire开发环境搭建

    千次阅读 2012-09-10 10:16:05
    Openfirepenfirepenfirepenfire penfire开发环境搭建 开发环境搭建 开发环境搭建 开发环境搭建 开发环境搭建 开发环境搭建 说明: 开发环境 (IDE) (IDE)(IDE) :openfire openfire ...
  • 基于Eclipse的Android开发环境搭建

    万次阅读 多人点赞 2017-05-18 13:48:54
    对于才接触Android开发的人员来说,复杂的开发环境搭建,各种新知识,新内容要接触总是让人无从下手。通过这篇文章,让零基础开发人员成功搭建基于Eclipse的android开发环境。Android使用Java语言进行开发,首先我们...
  • Gatsby--开发环境搭建

    千次阅读 2019-11-16 09:16:54
    Gatsby--开发环境搭建
  • Unity开发环境搭建

    千次阅读 2018-11-12 17:56:51
    Unity开发环境搭建序言Unity 序言 工欲善其事必先利其器,想做开发,肯定得先选号工具,我们来看下,你需要什么:Unity和Microsoft Visual Studio,怎么样?简单吧!就两样工具你就能开发了,这简单的背后,是强大的...
  • VSCode 开发环境搭建 ---- C/C++ 开发环境搭建 及 代码运行 平台:Windows 10 IDE:VisualStudioCode :VSCode 功能环境:C/C++代码运行环境 目录 1. 开发平台确认 2. VSCode 下载及安装 【1】. VSCode下载:...
  • PhoneGap 开发环境搭建

    千次阅读 2015-10-13 12:21:37
    本文是基于Windows10与Android客户端的角度,讲解PhoneGap开发环境搭建。 一、环境下载 1、JDK下载 2、带ADT插件的Eclipse + Android SDK 3、Ant打包工具包 4、Node.js 二、安装环境 1、JDK的安装及配置就不说了,...
  • 本文的推荐开发环境搭建使用 PyCharm、Python3.7、odoo13社区版 Windows系统下环境搭建 系统:Windows10 64位 开发工具:PyCharm 推荐使用专业版 Python版本: 3.7 odoo版本:13社区版 安装开发工具PyCharm ...
  • Android基础入门教程——1.2 开发环境搭建

    万次阅读 多人点赞 2015-07-18 22:27:24
    Android基础入门教程——1.2 开发环境搭建标签: Android基础入门教程 现在主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio + SDK ③IntelliJ IDEA + SDK 现在国内大部分开发人员还是...
  • pyside2开发环境搭建

    千次阅读 2018-12-18 22:02:12
    @[TOC](pyside2开发环境搭建安装准备安装方法环境测试Hellp World 安装准备 Python 3.5+ or 2.7 Python Windows 版本下载地址: Python Releases for Windows 安装方法可参考:Windows 下 Python 环境搭建 pyside2...
  • 图文详解J2EE开发环境搭建全过程

    千次阅读 多人点赞 2019-06-12 00:29:35
    在J2EE项目实施过程中需要搭建一个完整的开发环境,涉及到的技能和工具包含:JDK、Eclipse、Tomcat、MySQL、Maven、Navicat等等。这些环境对于具备工作经验...故,在此以文档形式详细记录J2EE开发环境搭建的整个过程。
  • Ionic 开发环境搭建

    千次阅读 2017-03-26 01:31:08
    Ionic 开发环境搭建1.ionic 是啥ionic 是一个开源的Hibird App 开发框架,通过它就可以直接使用html、css和javascript编写跨平台的移动app了,目前支持 android、ios、windows phone。 ionic 在底层使用了 Cordova ...
  • 游戏开发环境搭建

    万次阅读 多人点赞 2018-12-15 16:47:11
    每次换新的电脑都需要重新搭建开发环境,将一些经常遇到的问题及解决方法列出以备忘 目录 1.Java开发环境(重要性:S) 2.资源服务器搭建(重要性:A) N.待续~~ 1.Java开发环境(重要性:S): 关键词:jdk ...
  • JEECG_3.7开发环境搭建与代码生成器入门级教程,该课程主要针对入门级同学,清晰讲解JEECG开发平台本地环境搭建步骤,针对jeecg的代码生成器做专题使用讲解,达到jeecg入门程度。
  • Ubuntu下Android开发环境搭建

    千次阅读 2018-08-08 00:54:50
    Ubuntu下Android开发环境搭建 最近开始学习Android APP开发,首先第一步就是搭建开发环境,在网上找了很多教程,发现大部分的教程都过时了,搞得比较麻烦。其实,现在使用Android Studio开发的话,环境搭建非常简单...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 120,810
精华内容 48,324
关键字:

开发环境搭建