<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[袁科的博客]]></title><description><![CDATA[一个程序员的奋斗史]]></description><link>https://blog.youkuaiyun.com/Jason_Fish</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Jason_Fish]]></copyright><item><title><![CDATA[Flutter 跨平台开发环境搭建指南]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/151023057</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/151023057</guid><author>Jason_Fish</author><pubDate>Sat, 30 Aug 2025 17:27:42 +0800</pubDate><description><![CDATA[本文提供了在macOS上搭建Flutter跨平台开发环境的完整指南，支持iOS、Android、Web等多个平台。主要步骤包括：通过Homebrew安装Dart SDK和Flutter SDK，配置环境变量，运行flutter doctor检查环境。详细说明了项目创建、运行方法，以及各平台的支持状态。针对常见问题如权限问题、PATH配置、版本冲突等提供了解决方案，并推荐了开发工具和性能优化建议，帮助开发者快速搭建高效的Flutter开发环境。]]></description><category></category></item><item><title><![CDATA[前端学习-0125]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/135854004</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/135854004</guid><author>Jason_Fish</author><pubDate>Thu, 25 Jan 2024 23:27:53 +0800</pubDate><description><![CDATA[2.无序列表ul(disc-实心圆，circle-空心圆，square-小方块，none-不显示,)嵌套li,相互嵌套。1.有序列表ol (1,a,A,i,I)嵌套 li,相互嵌套。无序列表应用比较广泛，后期配合css可以有个很好的效果。表格合并属性：水平合并。]]></description><category></category></item><item><title><![CDATA[前端学习-0125]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/135833644</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/135833644</guid><author>Jason_Fish</author><pubDate>Thu, 25 Jan 2024 00:57:10 +0800</pubDate><description><![CDATA[前端学习]]></description><category></category></item><item><title><![CDATA[集合框架图]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/121186214</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/121186214</guid><author>Jason_Fish</author><pubDate>Sat, 06 Nov 2021 23:02:05 +0800</pubDate><description><![CDATA[资深


]]></description><category></category></item><item><title><![CDATA[Java 冒泡、插入排序和二分法查值]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/100572559</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/100572559</guid><author>Jason_Fish</author><pubDate>Fri, 06 Sep 2019 09:12:00 +0800</pubDate><description><![CDATA[//1.插入排序	
private static int[] sort(int[] data) {
		if (data == null || data.length &lt; 2) {
			return data;
		}

		for (int i = 1; i &lt; data.length; i++) {
			for (int j = i; j &gt; 0; j--) {
			...]]></description><category></category></item><item><title><![CDATA[kotlin MVVM]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/100541023</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/100541023</guid><author>Jason_Fish</author><pubDate>Wed, 04 Sep 2019 16:16:29 +0800</pubDate><description><![CDATA[kotlin中加入MVVM思想

1.配置


//外部工程配置build.gradle
buildscript {
    ext.kotlin_version = '1.3.41'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.andro...]]></description><category></category></item><item><title><![CDATA[kotlin 一些使用]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/100540261</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/100540261</guid><author>Jason_Fish</author><pubDate>Wed, 04 Sep 2019 15:37:35 +0800</pubDate><description><![CDATA[kotlin 一些使用

1.Handler使用


//1.初始化Handler  
var mHandler = Handler {
        if (it.what == 0) {
            it.target.sendEmptyMessageDelayed(0, 2000)
        }
        false
    }


 //2.线程中调用
 mHan...]]></description><category></category></item><item><title><![CDATA[!!. 与 ?. 的区别]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/100143517</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/100143517</guid><author>Jason_Fish</author><pubDate>Thu, 29 Aug 2019 17:50:47 +0800</pubDate><description><![CDATA[?. 


//kotlin:

a?.run()


//与java相同:

if(a!=null){

a.run();

}

!!.


//kotlin:

a!!.run()


//与java相同:

if(a!=null){

a.run();

}else{

throw new KotlinNullPointException();

}

?.与 !!.都是Kot...]]></description><category></category></item><item><title><![CDATA[Some index files failed to download, they have been ignored, or old ones used instead.的问题]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/96474888</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/96474888</guid><author>Jason_Fish</author><pubDate>Fri, 19 Jul 2019 09:59:46 +0800</pubDate><description><![CDATA[今天开发部门给我反映apt-get update的时候报404错误，并且apt-get install xxx 不能安装软件，鼓捣了俩小时，最后临时解决了，先说临时解决办法：

sudo vim /etc/apt/sources.list (要注意，有的系统里面是source.list，ubuntu 17.04是souces.list，多了个s)

(遇到这个问题脑海里第一时间想到的是源的问题，...]]></description><category></category></item><item><title><![CDATA[Linux安装jdk1.8和配置环境变量]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/96473813</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/96473813</guid><author>Jason_Fish</author><pubDate>Fri, 19 Jul 2019 09:17:04 +0800</pubDate><description><![CDATA[linux 下安装jdk和windows下的安装是一样的，之前在windows安装的时候是先下载压缩包，然后再配置环境变量。其实在linux下也是一样的。

　　第一步：创建jdk安装目录(该/usr/local/src目录是空的,最好把我们自己下载的放到这,容易区分)

   　　命令：mkdir -p /usr/local/src/jdk

　　第二步：查看安装程序

 　　 ...]]></description><category></category></item><item><title><![CDATA[android 编译碰到的问题及解决办法:(ubuntu下编译)]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/96441606</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/96441606</guid><author>Jason_Fish</author><pubDate>Thu, 18 Jul 2019 18:12:40 +0800</pubDate><description><![CDATA[android 编译碰到的问题及解决办法:
虽然照着说明来进行，但还是会遇到一些问题。下面是记录及解决方法
35G 的文件集，编出70多G的文件，是一件苦差事，动用nmon全程监视
自己晚上，白天受累是免不了的。成功愉快！
------------------------------------------------------------
问题1: JDK 版本不对
-------------...]]></description><category></category></item><item><title><![CDATA[github Android优秀项目源码]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/96422852</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/96422852</guid><author>Jason_Fish</author><pubDate>Thu, 18 Jul 2019 09:10:30 +0800</pubDate><description><![CDATA[BeautifulRefreshLayout-漂亮的美食下拉刷新

https://github.com/android-cjj/BeautifulRefreshLayout/tree/BeautifulRefreshForFood
Material Design-动画风格的选项卡tab切换功能

https://github.com/neokree/MaterialTabs
Twinkling...]]></description><category></category></item><item><title><![CDATA[Android系统adb命令查看CPU与内存使用率]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/95967014</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/95967014</guid><author>Jason_Fish</author><pubDate>Mon, 15 Jul 2019 14:46:17 +0800</pubDate><description><![CDATA[1 查看内存信息


 命令：
adb shell dumpsys meminfo


输入命令：dumpsys meminfo pid，比如查看手机安装的360安全卫士，那么实际命令应该为：dumpsys meminfo 3253，如下图所示：







    参数含义：  
    dalvik : dalvik使用的内存  
    native : native堆上的内存，指C\C...]]></description><category></category></item><item><title><![CDATA[Android7.0系统应用包名信息]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/95594433</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/95594433</guid><author>Jason_Fish</author><pubDate>Fri, 12 Jul 2019 10:18:22 +0800</pubDate><description><![CDATA[Chrome  com.android.chrome/com.google.android.apps.chrome.Main  
  通讯录  com.android.contacts/com.android.contacts.activities.PeopleActivity  
  时钟  com.android.deskclock/com.android.desk...]]></description><category></category></item><item><title><![CDATA[7.1去掉权限申请]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/95592435</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/95592435</guid><author>Jason_Fish</author><pubDate>Fri, 12 Jul 2019 10:00:02 +0800</pubDate><description><![CDATA[1、第三方应用

如果不需要弹出此对话框来手动授予权限，而是默认授权，可修改frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.java文件下面的内容

doHandleMessage()下的case POST_INSTALL下

把final boolean grantPermissions...]]></description><category></category></item><item><title><![CDATA[修改源码实现Android危险权限通过]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/95496461</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/95496461</guid><author>Jason_Fish</author><pubDate>Thu, 11 Jul 2019 17:23:37 +0800</pubDate><description><![CDATA[#修改源码实现Android危险权限直接通过

在Android系统做6.0以后需要通过危险权限，
比如读写，录音，相机等，在都是需要动态申请才能获取到权限。

但是在系统开发中有时需要设置把危险权限设置和普通权限一样，
在AndroidManifest中申请就能通过，这就需要修改Android源代码来实现了。

网上看到几个方法，基本都不是很靠谱。

比如网上的这个方法：



如果不需要弹出此...]]></description><category></category></item><item><title><![CDATA[源码去掉ANR/Crash]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/94405197</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/94405197</guid><author>Jason_Fish</author><pubDate>Mon, 01 Jul 2019 19:39:14 +0800</pubDate><description><![CDATA[系统层屏蔽crash和anr弹框:若是需要屏蔽两种弹框，需要在frameworks\base\services\core\java\com\android\server\am中的ActivityManagerService中将mShowDialogs置为false，如此，不管什么情况都不会出现弹框。
...]]></description><category></category></item><item><title><![CDATA[Android7.1编译]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/94404240</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/94404240</guid><author>Jason_Fish</author><pubDate>Mon, 01 Jul 2019 19:16:11 +0800</pubDate><description><![CDATA[source build/envsetup.sh
lunch msm8953_64-userdebug
make -jn   (n为多少个线程如make -j8)
7.0编译注意事项
1.export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m"
2.out/host/linu...]]></description><category></category></item><item><title><![CDATA[adb 模拟按键]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/93717926</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/93717926</guid><author>Jason_Fish</author><pubDate>Wed, 26 Jun 2019 10:30:15 +0800</pubDate><description><![CDATA[例子：



//这条命令相当于按了设备的Backkey键
adb shell input keyevent 4 


//可以解锁屏幕

adb shell input keyevent 82



//在屏幕上做划屏操作，前四个数为坐标点，后面是滑动的时间（单位毫秒）

adb shell input swipe 50 250 250 250 500



//在屏幕上点击坐...]]></description><category></category></item><item><title><![CDATA[Beyond Compared4 破解]]></title><link>https://blog.youkuaiyun.com/Jason_Fish/article/details/92988913</link><guid>https://blog.youkuaiyun.com/Jason_Fish/article/details/92988913</guid><author>Jason_Fish</author><pubDate>Thu, 20 Jun 2019 11:00:16 +0800</pubDate><description><![CDATA[1.删除安装目录下的BCUnrar.dll，然后可以在 帮助-输入秘钥弹出秘钥框

2.BCompare4注册码：


w4G-in5u3SH75RoB3VZIX8htiZgw4ELilwvPcHAIQWfwfXv5n0IHDp5hv 1BM3+H1XygMtiE0-JBgacjE9tz33sIh542EmsGs1yg638UxVfmWqNLqu- Zw91XxNEiZF7DC7-iV1XbSfs...]]></description><category></category></item></channel></rss>