开发工具总结(10)之Flutter从配置安装到填坑指南详解

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.jianshu.com/p/399c01657920

本文同步发布在公众号Flutter那些事,欢迎大家关注。

转载请标明出处:
https://www.jianshu.com/p/399c01657920
本文出自 AWeiLoveAndroid的博客


Flutter系列博文链接 ↓:

工具安装:

Flutter基础篇:

Flutter进阶篇:

Dart语法系列博文链接 ↓:

Dart语法基础篇:

Dart语法进阶篇:


在 Google I/O ’17 上,Google 向我们介绍了 Flutter —— 一款新的用于创建移动应用的开源库。

Flutter是什么呢?它是Google使用Dart语言开发的移动应用开发框架,用来帮助开发者在iOS和Android平台上开发高性能、高质量的原生应用。Flutter是跨平台的免费开源UI框架,iOS和Android可以共用一套代码

2018年2月,Flutter推出了第一个Beta版本。这真是个好事。期待正式版早日发布。最近研究了一下Flutter,这个工具从安装到运行经历了九九八十一难,好在终于成功运行起来了。下面看一下官方的Demo在Android模拟器的运行效果图:

默认的Demo运行图

本文同步发布在github,更多关于Flutter的信息请点击
https://github.com/AweiLoveAndroid/Flutter-learning

更多干货,请关注我的公众号Flutter那些事

下面就 详细的 讲一下我的安装之路和遇到的一些问题:

社会我韦哥,人好干货多。开始撸码!


一、Flutter安装:

要安装并运行Flutter,你的开发环境必须满足这些最低要求:
这里以windows系统为例(https://flutter.io/setup-windows/),
macos安装文档请查看:https://flutter.io/setup-macos/
linux安装文档请查看:https://flutter.io/setup-linux/

(一) 系统要求:Windows 7 SP1或更高版本(64位),磁盘空间:400 MB(不包括IDE /工具的磁盘空间)。CPU请用intel的,CMD的不能开发安卓(卡到爆!!)!内存条8G以上就行,其他硬件不做要求。

具体描述:略


(二) 下载JDK 1.8(必须是1.8版本)

1.首先打开java官网
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,找到对应版本下载,如图所示,我的电脑是Win7 64位,我就选择最后一个下载。

2.下好之后,双击安装,一直点击下一步,选择安装路径,安装完毕之后,配置环境变量。

打开环境变量的步骤:桌面“我的电脑”(或“计算机”)--> 右键“属性”--> 选择“高级系统设置”-->选择下方的“环境变量”。

  • a.在弹出的“环境变量”窗口中,点击下方的“新建”按钮,在弹出的“新建系统变量”窗口中,新建一个名为 JAVA_HOME 的环境变量,变量值为Java的安装路径,我的为:D:\develop\my_java\
  • b.编辑Path环境变量,在原变量值的最后面加上;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,注意前面的分号别忘了。
  • c.新建一个名为“CLASSPATH”的环境变量,变量值为:
    .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar,注意:一定不要忘了前面的点。

如图所示:

  • d.然后打开命令行,输入java -version,如果有版本号输出,说明环境配置好了,否则请按上述步骤重新操作一次。具体输出如图所示:

(三) Android Studio、SDK、JDK以及模拟器配置(如果是真机运行不需要安装模拟器)

Tips:
工具 工具对应的版本要求
Android Studio 3.0 或者更高的版本
SDK Android 4.1(API 16)或者更高版本
Android模拟器镜像 推荐使用x86或者x86_64镜像
  • (1)Android Studio下载

    Android Studio的下载地址请看:https://developer.android.google.cn/studio/#downloads
    安装方式:指定安装路径,一直点击下一步就可以了。然后解压到一个英文目录即可。我这里选择的是免安装版。后面的介绍都是根据免安装版进行讲解的。安装版的步骤其实也是差不多的。

  • (2)Android Studio安装

1.双击桌面的Android Studio图标(或者进入解压之后的路径/bin目录,双击studio.exe),会出现一个导入配置的窗口,如图所示。

2.因为是初次打开Android Studio,我们一般不需要导入配置,直接点击Do not import settings,点击OK进入下一步,这时候会显示logo加载页面。如图所示。

3.然后是弹窗,提示 让你发送反馈给谷歌,我们点击“Don't send”,不发送。

4.然后会有一个弹窗如图所示。因为首次允许Android Studio它找不到SDK,会提示你设置代理,我这里选择取消。

然后我们打开android studio安装路径/bin目录,找到idea.properties,打开这个文件,在末尾加上一行
disable.android.first.run=true,那么以后再打开android studio就不会再出现这个提示。如图所示:

5.接下来我点击next进入下一步,如图所示。

6.然后会提示我安装版本,第一个是标准安装,第二个是自定义安装,我们这里选择默认的第二个Custom自定义安装,直接点击next进入下一步既可。如图所示:

7.然后就是设置风格,这里有白色和黑色可选,我选择的右边的黑色,如图所示。

8.接下来是设置安装选项,如图所示。默认会安装Android SDK 以及Android SDK Platform,由于我电脑用的Intel的CPU,所以我这里勾选了第三个选项Intel HAXM,这个主要是启动模拟器时加速用的,顺便我把第四个模拟器选项也勾选上,后续如有需要可以在模拟器安装App进行操作。最下面是sdk的安装路径。默认是在C盘,一般我们要选定一个非C盘的安装目录,比如我这里选择的是D:\develop\sdk路径。选好之后点next进入下一步。

9.这里是设置Intel HAXM默认的大小,我这里就选择默认的2G,如图所示。点击next进入下一步。

10.现在就开始安装sdk了,稍作等待既可安装完成了,如图所示。

11.安装完成之后,点击Finish表示安装完成。如图所示。

  • (4)SDK和安卓模拟器:

1.我们双击打开Android Studio,进入欢迎页,如图所示:

2.然后打开右下角的Configure右边的倒三角按钮,选择Settings,如图所示:

3.然后一次选择Appearance and Behavior --> System Settings --> Android SDK,进入Android SDK页面,我们可以看到SDK Platforms,这个就是前面安装的时候默认安装的那个文件,是sdk的核心文件。我们看看Android API 28下面有一个Google APIs Intel x86 Atom System Image模拟器,这个是带有包含Google Play service 等 Google 的应用和服务的模拟器,一般情况我们使用Intel x86 Atom System Image模拟器(32位),或者Intel x86 Atom_64 System Image模拟器(64位)就可以了。在实际开发中,为了兼容不同版本,你可以根据需要下载不同API对应的模拟器。如图所示。

【注意】关于Build Tools 版本的一些建议,建议下载Android SDK Platform 不同版本 以及对应的SDK Tools 版本。每一个文件的详细信息说明截图如下:

4.需要在Path环境变量中添加两个值。分别是 Android SDK中tools目录的路径和platform-tools的路径。(如果已经配置,就不用再去配置了。)

D:\develop\sdk\tools;
D:\develop\sdk\platform-tools;

(四) 工具:Flutter需要用到以下2个工具:

(1) PowerShell 5.0或更新版本

PowerShell是微软推出的代替cmd的更方便的命令行工具,不管是win7 win8 还是win10windows系统都自带有这个命令行工具。

查看PowerShell有没有安装,可以点击电脑左下角 --> 控制面板 --> 程序 --> 程序和功能,找一下PowerShell,有时候安装了也可能找不到(我电脑就找不到),那就win + R,输入powershell回车,输入$PSVersionTable ,查看powershell版本。下图就是我的powershell版本号信息。

如果报错说明没有安装PowerShell,请按以下要求进行安装:
如果或者你的版本号低于5.0,请点击电脑左下角 --> 控制面板 --> 程序 --> 程序和功能,找一下PowerShell,卸载。然后再按上述安装步骤去安装PowerShell。

【注意:】关于命令行无法显示某些字符或者中文乱码问题的解决:

  • 1、无法显示√或者×字符
    原因是点阵字体搞的鬼。设置一下控制台字体就可以了。
    在控制台标题右键,选择字体,把点阵字体改为其他字体就可以了。

  • 2、cmd中文乱码的解决:

1. win+R 输入regedit 进入注册表 
2. 找到 `HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe` 
如果该项下已存在CodePage项,则把值改为十进制”65001”;
如果不存在,在该项下新建一个 DWORD(32位值),命名为“CodePage”,值设为“65001” 
3. 重启cmd后生效
  • 3、PowerShell中文乱码的解决:
1. win+R 输入regedit 进入注册表
2. 找到 `HKEY_CURRENT_USER\Console\%SystemRoot%_system32_WindowsPowerShell_v1.0_powershell.exe` 下的项。
如果该项下已存在CodePage项,则把值改为十进制”65001”;
如果不存在,在该项下新建一个 DWORD(32位值),命名为“CodePage”,值设为“65001”
3. 重启PowerShell后生效

安装好之后,运行一下看看版本号,我这边的powershell版本号相关信息如下:

    PSVersion                      5.1.15063.1029
    PSEdition                      Desktop
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
    BuildVersion                   10.0.15063.1029
    CLRVersion                     4.0.30319.42000
    WSManStackVersion              3.0
    PSRemotingProtocolVersion      2.3
    SerializationVersion           1.1.0.1
(2) Git for Windows

使用git命令行(关于如何使用git,请查看我的博文 Git及GitHub快速入门图文全面详解):

git clone -b beta https://github.com/flutter/flutter.git

运行过程截图(这里下载的是beta版的,你也可以下载其他分支的,比如master分支):


二、配置环境变量

(一)配置 flutter 环境变量

如果想在命令行中使用 flutter 命令,你需要添加flutter的路径到path中去。这个和配置java环境变量是同样的做法,找到flutter安装路径,比如我的是E:\develop\flutter\bin,我复制这个路径,右键我的电脑-->属性-->高级系统属性-->环境变量-->找到PATH,点击编辑-->在最后把刚复制的路径粘贴进来,-->一直保存确定就可以了。

接下来,使用flutter --version 查看一下版本号,看看环境变量配置好了没有。。如果如下图所示表示OK。

【大坑】注意:如果只输入flutter 或者输入flutter -version, 那么flutter以为是下达了自动更新命令,会自动更新最新版本,这个一定要注意了。

(二)配置国内镜像(为了以后的稳定性,这一步一定要做,免得老是翻墙)

如果你在国内使用 Flutter,那么你可能需要找一个与官方同步的可信的镜像站点,帮助你的 Flutter 命令行工具到该镜像站点下载其所需的资源。你需要为此设置两个环境变量:PUB_HOSTED_URLFLUTTER_STORAGE_BASE_URL,然后再运行 Flutter 命令行工具。

上海交通大学 Linux 用户组
FLUTTER_STORAGE_BASE_URL: https://mirrors.sjtug.sjtu.edu.cn
PUB_HOSTED_URL: https://dart-pub.mirrors.sjtug.sjtu.edu.cn

Flutter 社区
FLUTTER_STORAGE_BASE_URL: https://storage.flutter-io.cn
PUB_HOSTED_URL: https://pub.flutter-io.cn

建议使用Flutter 社区这个镜像,这个比较快

配置国内镜像

三、打开flutter命令行

win + R 快捷键,输入cmd,回车,输入flutter doctor,回车。

这个命令初次运行可能会很慢,Flutter会自动安装所需依赖,并进行编译。建议科学上网

使用flutter doctor命令下载的dart sdk会放到flutter安装路径/bin/cache/dart-sdk目录(例如:我的路径是:E:\develop\flutter)。

【注意】直接下载dart sdk是无法再flutter中使用的,使用flutter doctor命令下载的dart sdk是阉割版的dart,很多api都有变更,并且flutter和dart版本号是一一对应的,直接下载dart sdk是最新的,不适用于flutter。切记!!别为了图一时方便直接下载dart sdk,放到flutter安装路径/bin/cache/dart-sdk目录而导致flutter无法使用!!!

安装过程截图:

输入flutter doctor命令
安装完成之后(这里没有安装Flutter和Dart插件,大家可以打开AS自己搜索安装,如何安装下文有介绍)

注意:
[√]这个是安装OK的,[X]是需要安装的,或者是已安装但是没有运行起来的。(具体这里面有标记[X]的那些项如何安装后文有详细讲解,这里简单提一下。)

这里面有四项内容:

  • (1)Flutter 这是Flutter工具,就是刚才git下载的那个。
  • (2)Android工具链,这里指的是SDK,会标注出SDK的最大版本号。
  • (3)IDE工具的对应版本,比如我的是Android Studio 2.2版本(这个是下载安装的版本),Android Studio 3.2版本(这个是免安装的版本,所以也会显示出来),还有Intellij IDEA
  • (4)已连接的设备,可以是模拟器,也可以是真机,如果已连接会显示出来。

四、几个flutter常用命令

查看版本号的命令使用截图如下:

以下是常用命令:

常用命令 含义
--version 查看Flutter版本
-h或者--help 打印所有命令行用法信息
analyze 分析项目的Dart代码。
build Flutter构建命令。
channel 列表或开关Flutter通道。
clean 删除构建/目录。
config 配置Flutter设置。
create 创建一个新的Flutter项目。
devices 列出所有连接的设备。
doctor 展示了有关安装工具的信息。
drive 为当前项目运行Flutter驱动程序测试。
format 格式一个或多个Dart文件。
fuchsia_reload 在Fuchsia上进行热重载。
help 显示帮助信息的Flutter。
install 在附加设备上安装Flutter应用程序。
logs 显示用于运行Flutter应用程序的日志输出。
packages 命令用于管理Flutter包。
precache 填充了Flutter工具的二进制工件缓存。
run 在附加设备上运行你的Flutter应用程序。
screenshot 从一个连接的设备截图。
stop 停止在附加设备上的Flutter应用。
test 对当前项目的Flutter单元测试。
trace 开始并停止跟踪运行的Flutter应用程序。
upgrade 升级你的Flutter副本。

五、开发工具的安装

(一)AS

Flutter对Android Studio的要求:需要安装3.0 或者更高的版本

关于AS安装,这个就不用说了,大家都安装了吧,jdk,sdk这些都配置好了吧.直接看下文好了。

(二) Flutter和Dart插件安装

Flutter需要FlutterDart插件才可以使用:

File --> settings --> Plugins --> Browse repositories,然后输入Flutter就可以下载了,Drat也是一样的道理。

  • Flutter插件安装:
  • Dart插件安装:

安装好之后重启一下AS就可以使用插件了。


六、需要更新Flutter请看以下操作(不更新Flutter的就跳过此步):

要同时更新Flutter SDK和包,请使用以下命令:

flutter upgrade

七、如果已经安装Fluttter,需要切换Flutter分支,比如我要下载PreView版本 如何操作:

前面我们下载的beta分支下面的包,最近Flutter推出了PreView版本,那么我们应该如何更新呢?

先看几个命令:

查看远程分支:

git branch -a 

查看本地分支:

git branch -v

切换分支:

git checkout -b 分支名称

> 例如 切换到master分支:

git checkout -b master

git如何clone远程github中的分支?

git clone -b 分支名称  github上的url

例如:下载flutter的master分支(PreView版本就是这个分支),命令如下所示:

git clone -b master https://github.com/flutter/flutter.git

八、运行一个demo app

Flutter支持的sdk环境:Android 4.1(API 16)或者更高版本。
Android模拟器:推荐使用x86或者x86_64镜像。

创建project过程和普通安卓项目是很类似的。

(一)打开AS,点击 File --> New Flutter Project,选择Flutter application

然后点击next,输入一个工程名字。

注意:项目名称必须是小写,单词之间用下划线隔开,你看我这样创建就给我提示错误了,报错的如图所示。

错误示范

(二)输入包名,点击next,点击finish,等待编译就可以了。如果没配置好,这个时候往往会报错。

注意:这里可以支持ios和kotlin,如果需要的话可以勾上。

(三)首先模拟器,然后选择要运行的项目,注意了,这里有一个MainActivitymain.dart,选择main.dart,然后点击绿色的三角号图标运行(或者点击菜单栏 Run)就可以了。

Run运行示意图

我用的AS3.2,我截个图,菜单栏跟以前版本有点不同,之前的AS版本可以在Build菜单找到编译选项的。

AS3.2编译菜单栏

如果代码有更改,可以点击 黄色的闪电图标 或者编辑完代码之后按 Ctrl + S 键也可以 启动热重载 功能。


点击它之后就可以进行热加载。

运行之后的截图:

工程目录结构:


九、隐藏句尾注释:

我们看到代码会发现每个句尾都有一个注释,提示你当前是属于哪个组件的范围,如果你不喜欢可以设置不显示:点击菜单栏File -> Settings,点击Editor,选择Appearance,把最后一个 去掉即可隐藏句尾注释。如下图所示:


十、遇到的一些问题:

【注意:】更多详细的坑请看博客 Flutter填坑全面总结,这是最全面的总结。

(一)卸载flutter相关环境

    1. Dart的插件安装包在 C盘路径:
      \AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org文件夹里面
      所以只需要找到Pub文件夹,删掉Pub文件夹。
    1. flutter源代码文件,就是你在github下载下来的那个项目源代码,
      比如我放在了E:\develop\flutter,我只需要把flutter这个文件夹删除就可以了。
    1. C盘用户名下面有个.AndroidStudioXXX的文件夹,这个是AS的缓存目录,
      比如我的是 C:\Users\luzhaowei.AndroidStudio2.2
      打开,找到插件目录 C:\Users\luzhaowei.AndroidStudio2.2\config\plugins
      把里面的Dart 和 flutter-intelliJ两个文件夹删掉
    1. 把环境变量里面的flutter和dart有关的设置删掉。

(二) 卸载flutter之后,重新git命令安装flutter之后,然后命令行运行flutter doctor时,会有以下错误(以下是我的填坑指路全过程):

注意:由于下载的国外的网站上的资料,需要科学上网!!!

首次运行报的错
自动重试

我退出命令行再运行,还是照样出错。

后来我想是不是BITS传输服务未开启,于是我一顿操作猛如虎,操作如下,打开BITS:

计算机 --> 右键 “管理” -->  服务和应用程序里面,点击“服务”,然后如下图所示:

然后选中图中标记的这个,右键点击“属性”,然后改成自动,确定。如下图所示:

然后我把刚下载的flutter文件夹删掉,重新执行git命令,下载flutter。(下好了之后记得配置环境变量)然后执行flutter doctor 命令,这次好一些了,但是命令行更新的很慢,一直停留在命令行,如图所示:

等了好久,终于出来了。

image.png

然后又是漫长的等待,在下载Material fonts这里出错了,于是我关掉了命令行,重新打开命令行,执行flutter doctor命令。

然后又是失败。。不等了,关闭命令行吧。

然后重新打开命令行,执行flutter doctor命令。经历了几个小时的折腾,终于环境安装好了!
看到下面那个对勾,表示flutter已经更新完成了。

然后重新打开命令行,执行flutter doctor -v命令,。看看还有什么需要安装的?(目前我安装的flutter最新版是0.4.4),如下图所示:

新版的跟旧版的有区别,这里的每一项里面的小项都很详细的列举了类目,只要是正确安装了IDE,以及配置了jdk,sdk环境的,都会详细列出来。

Flutter支持Android Studio、VSCode以及 控制台+文本编辑器 的方式。如果你还安装了VSCode,命令行里面也会列举出来的。

【重点提示】按照提示来操作即可,哪个缺少(前面是 X 符号的)就配置哪一个。。一般来说,命令行会给你一些提示,比如需要使用什么命令操作,需要在哪个路径下面操作等。。

有3点需要特别注意的:
    1. Flutter,这里面有4个工具,缺一不可:Flutter本身的安装包,Framework(这是flutter的核心代码部分),Engine(flutter的引擎),Dart sdk。
    1. Android toolchain(开发Android设备的一些工具),这里是完整版的安装,有7个工具:sdk(sdk路径),ndk(ndk路径),Platform(android-27)以及build-tools(27.0.3),给sdk路径配置ANDROID_HOME环境变量,jdk配置路径,jdk运行环境版本,android licenses(协议)。
    1. Android Studio环境,包括安装包路径,Flutter插件,Dart插件,AS自带jdk版本号。
      我这里还安装了IDEA, 所以也会把它的环境列举出来。

下面是安装过程中出现的一些安装包缺少的问题:

↓下面这个 问题的原因:是sdk环境变量没配置,找到sdk路径,比如我的是E:\debelop\sdk,我复制这个路径,打开环境变量,新建一个变量,取名为ANDROID_HOME,然后在path变量里面最后加入;%ANDROID_HOME\%

↓下面这个 问题的原因:一些android licenses没有同意,按上面的要求在命令行输入flutter doctor --android-licenses,回车,然后会出现要你输入y/n 你只要输入 y 回车就好了。

↓其他问题:基本都是开发工具的配置了,这个就不多说了,大家应该很熟悉了。


(三) 使用cmd执行flutter doctor报错:无法与服务器建立连接

报错如下所示:

执行flutter doctor出的错

问题排查:

首先:我在电脑属性服务里面开启了BITS,这个问题已排除。
其次:我的环境配置都是没问题的。

最后我看flutter官方安装文档推荐使用PowerShell,于是我打开PowerShell命令行(必须安装5.0+版本),输入flutter doctor,终于好了。所以为了不出奇怪的错误,请下载使用 PowerShell 5.0版本


(四) Flutter插件不支持当前AS版本。当前的AS是3.2,我的gradle编译的api是27的,可能Flutter目前最高只能支持26,果然我在build.gradle里面的编译版本改成了26,重新编译一下,OK了。



(五)系统重装了,flutter工具也是重新安装的,由于没有备份C盘的之前下载的三方库,导致项目加载的时候重新加载一大堆三方库,很卡,下载用了很长时间(需要科学上网)。

【顺便说明一下三方库使用方式】:

Flutter使用外部开源包,打开pubspec.yaml文件,在如下加了中文注释之处添加依赖库:

dependencies:
  flutter:
    sdk: flutter

  cupertino_icons: ^0.1.2
  # 在这里添加依赖库,比这个是英文单词的库
  english_words:^3.1.0
  # 这个是图片选择的库
  image_picker: ^0.4.1

格式:库名称: ^库版本号

注意:冒号是中文标点,有一些库需要^,不要忘记^

可以在 pub.dartlang.org 上找到开源软件包。(需要翻墙)直接添加依赖,可能会很慢,

也可以直接去https://pub.dartlang.org/packages/ 查找想要的依赖库,直接下载压缩包,然后复制到以下路径:

C:\Users\XXX\AppData\Roaming\Pub\Cache\hosted\pub.dartlang.org\(使用依赖库安装完成后的本地路径也是这个),建议把这个文件夹备份,以便系统出故障之后或者重装系统之后好还原。


(六)明明开启了模拟器,可是AS就是不显示模拟器,如下图所示:

然后新建了一个API 26的模拟器,然后命令行窗口提示以下错误:


(七) 编译一个demo居然安装包是30多M,这个也太坑了吧。。安卓原生的apk包最多就几M。但是这是debug模式下的apk包,签名打包后的release版本的包很小,大概几兆的样子。


(八)Flutter有一个Flutter Inspector的工具,主要是检查Widget的,可以用于诊断布局渲染问题,查看app当前的视图树结构。但是:这个视图树层次太深了,看起来很费劲有木有。。 详细使用描述可以参考官网文档:http://doc.flutter-dev.cn/inspector/

费了好大的劲截的图---- 完整的视图树

【备注:】不同电脑视图树工具显示不一样,可能跟cpu是x86或者x64有关,另外一台电脑就没有这么多层次了,用到了哪些控件就显示哪些,很明确清晰。如下图所示:

换台电脑显示就不一样了

(九)Flutter初次创建项目一直进不去,错误如图所示:

Flutter创建项目一直进不去

【解决方式】打开Android Studio安装目录下的 bin 目录,找到 idea.properties 文件,在文件最后追加以下这行代码,然后保存,以后打开Android Studio创建项目就不会卡住了:

disable.android.first.run=true

(十)Flutter编译之后工程目录没有build目录怎么解决?

【解决方式】点击project(如果不是project,请点击右边的倒三角按钮切换到project视图)旁边的齿轮图标,勾选Show Excluded Files就OK了。


十一、几个相关学习网站

Flutter有关网站

Dart有关网站

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容