<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
>
<channel>
	<title>pansong291</title>
	<link>https://pansong291.wodemo.com/</link>
        <item>
        <title><![CDATA[Backend Resources]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/544431]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Fri, 24 May 2024 14:32:38 +0800]]></pubDate>
        <description><![CDATA[. init-global.js. init-emoji.js]]></description>
    </item>
        <item>
        <title><![CDATA[字幕文件]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/536577]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Fri, 26 Mar 2021 12:16:43 +0800]]></pubDate>
        <description><![CDATA[https://pansong291.wodemo.net/entry/536577/706440645100b3272698eafe36471aa0/zz%E5%BA%8F%E5%88%973.txt. zz序列3.txt]]></description>
    </item>
        <item>
        <title><![CDATA[剪映字幕导出工具]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/536353]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Wed, 10 Mar 2021 00:12:41 +0800]]></pubDate>
        <description><![CDATA[https://pansong291.wodemo.net/entry/536353/11168d3cf157674bb17e37bed8d3c175/JianyingPro.html. JianyingPro.html]]></description>
    </item>
        <item>
        <title><![CDATA[v2ray订阅链接]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/536352]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Wed, 10 Mar 2021 00:11:35 +0800]]></pubDate>
        <description><![CDATA[https://pansong291.wodemo.net/entry/536352/872434d905ae3443ea6a2d688ef0f050/v2ray.txt. v2ray.txt]]></description>
    </item>
        <item>
        <title><![CDATA[v2rayN配置]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/536261]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Sun, 28 Feb 2021 15:45:20 +0800]]></pubDate>
        <description><![CDATA[{
  &quot;dns&quot;: {
    &quot;hosts&quot;: {
      &quot;domain:googleapis.cn&quot;: &quot;googleapis.com&quot;
    },
    &quot;servers&quot;: [
      &quot;1.1.1.1&quot;,
      &quot;1.0.0.1&quot;,
      &quot;8.8.8.8&quot;,
      &quot;8.8.4.4&quot;
    ]
  },
  &quot;inbounds&quot;: [
    {
      &quot;listen&quot;: &quot;127.0.0.1&quot;,
      &quot;port&quot;: 10808,
      &quot;protocol&quot;: &quot;socks&quot;,
      &quot;settings&quot;: {
        &quot;auth&quot;: &quot;noauth&quot;,
        &quot;udp&quot;: true,
        &quot;userLevel&quot;: 8
      },
      &quot;sniffing&quot;: {
        &quot;destOverride&quot;: [
          &quot;http&quot;,
          &quot;tls&quot;
        ],
        &quot;enabled&quot;: true
      },
      &quot;tag&quot;: &quot;socks&quot;
    },
    {
      &quot;listen&quot;: &quot;127.0.0.1&quot;,
      &quot;port&quot;: 10809,
      &quot;protocol&quot;: &quot;http&quot;,
      &quot;settings&quot;: {
        &quot;userLevel&quot;: 8
      },
      &quot;tag&quot;: &quot;http&quot;
    }
  ],
  &quot;log&quot;: {
    &quot;loglevel&quot;: &quot;warning&quot;
  },
  &quot;outbounds&quot;: [
    {
      &quot;mux&quot;: {
        &quot;concurrency&quot;: -1,
        &quot;enabled&quot;: false
      },
      &quot;protocol&quot;: &quot;vmess&quot;,
      &quot;settings&quot;: {
        &quot;vnext&quot;: [
          {
            &quot;address&quot;: &quot;u8ey0s2l3d32.i7y8uxm02pls3.xyz&quot;,
            &quot;port&quot;: 443,
            &quot;users&quot;: [
              {
                &quot;alterId&quot;: 444,
                &quot;id&quot;: &quot;0c4bb91a-c7cd-4948-a3f8-d877e5616e18&quot;,
                &quot;level&quot;: 8,
                &quot;security&quot;: &quot;none&quot;
              }
            ]
          }
        ]
      },
      &quot;streamSettings&quot;: {
        &quot;network&quot;: &quot;ws&quot;,
        &quot;security&quot;: &quot;tls&quot;,
        &quot;tlssettings&quot;: {
          &quot;allowInsecure&quot;: false,
          &quot;serverName&quot;: &quot;u8ey0s2l3d32.i7y8uxm02pls3.xyz&quot;
        },
        &quot;wssettings&quot;: {
          &quot;connectionReuse&quot;: true,
          &quot;headers&quot;: {
            &quot;Host&quot;: &quot;u8ey0s2l3d32.i7y8uxm02pls3.xyz&quot;
          },
          &quot;path&quot;: &quot;/50d5c/&quot;
        }
      },
      &quot;tag&quot;: &quot;proxy&quot;
    },
    {
      &quot;protocol&quot;: &quot;freedom&quot;,
      &quot;settings&quot;: {},
      &quot;tag&quot;: &quot;direct&quot;
    },
    {
      &quot;protocol&quot;: &quot;blackhole&quot;,
      &quot;settings&quot;: {
        &quot;response&quot;: {
          &quot;type&quot;: &quot;http&quot;
        }
      },
      &quot;tag&quot;: &quot;block&quot;
    }
  ],
  &quot;policy&quot;: {
    &quot;levels&quot;: {
      &quot;8&quot;: {
        &quot;connIdle&quot;: 300,
        &quot;downlinkOnly&quot;: 1,
        &quot;handshake&quot;: 4,
        &quot;uplinkOnly&quot;: 1
      }
    },
    &quot;system&quot;: {
      &quot;statsInboundUplink&quot;: true,
      &quot;statsInboundDownlink&quot;: true
    }
  },
  &quot;routing&quot;: {
    &quot;domainStrategy&quot;: &quot;AsIs&quot;,
    &quot;rules&quot;: [
      {
        &quot;domain&quot;: [
          &quot;domain:googleapis.cn&quot;
        ],
        &quot;outboundTag&quot;: &quot;proxy&quot;,
        &quot;type&quot;: &quot;field&quot;
      },
      {
        &quot;domain&quot;: [
          &quot;translate.google.cn&quot;,
          &quot;services.googleapis.cn&quot;,
          &quot;googleapis.cn&quot;,
          &quot;google.cn&quot;
        ],
        &quot;outboundTag&quot;: &quot;proxy&quot;,
        &quot;type&quot;: &quot;field&quot;
      },
      {
        &quot;domain&quot;: [
          &quot;clickdealer2.info&quot;,
          &quot;teleproxy.info&quot;,
          &quot;djijds.com&quot;,
          &quot;auth.api.sonyentertainmentnetwork.com&quot;,
          &quot;native-ps3.np.ac.playstation.net&quot;,
          &quot;account.sonyentertainmentnetwork.com&quot;,
          &quot;auth.np.ac.playstation.net&quot;,
          &quot;accounts.api.playstation.com&quot;,
          &quot;native.np.ac.playstation.net&quot;,
          &quot;appsflyer.tk&quot;,
          &quot;checkingstatus.ml&quot;,
          &quot;dsfcxas321.gq&quot;,
          &quot;flirt4meetuponslocalstonight.com&quot;,
          &quot;fastfindgirlsonslocalus.com&quot;,
          &quot;gennisheyotrading.com&quot;,
          &quot;mer.hookuponsusacheatinggirlnearyou.com&quot;,
          &quot;jr2mww0.rufoof.com&quot;,
          &quot;vgs.untd.com&quot;,
          &quot;eggowebaxikwgb.com&quot;,
          &quot;HayloDirect.com&quot;,
          &quot;satwbtcjnhnrd.com&quot;,
          &quot;ort.chatwithlocalgirls40.top&quot;,
          &quot;monetarybenefit.website&quot;,
          &quot;speedtest.net&quot;,
          &quot;speedtest.cn&quot;,
          &quot;ip.sb&quot;,
          &quot;skk.moe&quot;,
          &quot;whoer.net&quot;,
          &quot;whatismyipaddress.com&quot;,
          &quot;ez2o.com&quot;,
          &quot;whatismyip.com&quot;,
          &quot;geoipview.com&quot;,
          &quot;ifreesite.com&quot;,
          &quot;nkuht.edu&quot;,
          &quot;myip.com&quot;,
          &quot;j4.com&quot;,
          &quot;ip-api.com&quot;,
          &quot;ipapi.co&quot;,
          &quot;ipstack.com&quot;,
          &quot;iplocation.net&quot;,
          &quot;expressvpn.com&quot;,
          &quot;kinsta.com&quot;,
          &quot;nordvpn.com&quot;,
          &quot;whatismybrowser.com&quot;,
          &quot;ip2location.com&quot;,
          &quot;whatsmyip.org&quot;,
          &quot;ipip.net&quot;,
          &quot;ip.cn&quot;,
          &quot;chinaz.com&quot;,
          &quot;ip138.com&quot;,
          &quot;baidu.com&quot;,
          &quot;bdstatic.com&quot;,
          &quot;bcebos.com&quot;,
          &quot;koreanwar.org&quot;,
          &quot;u2yxyrlph.ru&quot;,
          &quot;hamdsbwef.cf&quot;,
          &quot;icecyber.org&quot;
        ],
        &quot;outboundTag&quot;: &quot;direct&quot;,
        &quot;type&quot;: &quot;field&quot;
      },
      {
        &quot;ip&quot;: [
          &quot;geoip:private&quot;
        ],
        &quot;outboundTag&quot;: &quot;direct&quot;,
        &quot;type&quot;: &quot;field&quot;
      },
      {
        &quot;ip&quot;: [
          &quot;geoip:cn&quot;
        ],
        &quot;outboundTag&quot;: &quot;direct&quot;,
        &quot;type&quot;: &quot;field&quot;
      },
      {
        &quot;domain&quot;: [
          &quot;geosite:cn&quot;
        ],
        &quot;outboundTag&quot;: &quot;direct&quot;,
        &quot;type&quot;: &quot;field&quot;
      }
    ]
  },
  &quot;stats&quot;: {}
}]]></description>
    </item>
        <item>
        <title><![CDATA[minesweeper.html]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/535468]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Wed, 09 Dec 2020 11:21:23 +0800]]></pubDate>
        <description><![CDATA[https://pansong291.wodemo.net/entry/535468/e17fd9afdd3a156ea71f155f9e432cca/minesweeper.html. minesweeper.html]]></description>
    </item>
        <item>
        <title><![CDATA[minesweeper icon]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/535467]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Wed, 09 Dec 2020 11:15:40 +0800]]></pubDate>
        <description><![CDATA[. flag.png. flag_error.png. flag_light.png. mine.png. mine_burst.png. n0.png. n1.png. n2.png. n3.png. n4.png. n5.png. n6.png. n7.png. n8.png. normal.png. normal_light.png. sweep_error.png. unknown.png. unknown_light.png]]></description>
    </item>
        <item>
        <title><![CDATA[JsPoint.js]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/535466]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Wed, 09 Dec 2020 11:09:57 +0800]]></pubDate>
        <description><![CDATA[. JsPoint.js]]></description>
    </item>
        <item>
        <title><![CDATA[def_girl.jpg.html]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/file/480918]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Thu, 24 May 2018 18:41:10 +0800]]></pubDate>
        <description><![CDATA[File Size: 2.05 MiBWord Count: 2,013,664<a href="https://pansong291.wodemo.com/down/480918/def_girl.jpg.html">Open</a>&nbsp;|&nbsp;<a href="https://pansong291.wodemo.com/meta/480918">Meta</a>]]></description>
    </item>
        <item>
        <title><![CDATA[chl2h_example.html]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/file/477080]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Fri, 13 Apr 2018 12:59:09 +0800]]></pubDate>
        <description><![CDATA[File Size: 9.6 KiBWord Count: 9,310<a href="https://pansong291.wodemo.com/down/477080/chl2h_example.html">Open</a>&nbsp;|&nbsp;<a href="https://pansong291.wodemo.com/meta/477080">Meta</a>]]></description>
    </item>
        <item>
        <title><![CDATA[一些深刻的android知识]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/443006]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Wed, 07 Jun 2017 19:54:14 +0800]]></pubDate>
        <description><![CDATA[android 打开各种文件（setDataAndType）：
http://zengyan2012.iteye.com/blog/1646492
简介：详细地介绍了大部分文件的file type。

从内存方面解释Java中String与StringBuilder的性能差异：
http://m.jb51.net/article/84536.htm
简介：

内存充裕下的OOM (二), StringBuilder和均摊分析：
http://ahuaxuan.iteye.com/blog/669440
简介：

Android开发优化之——对Bitmap的内存优化：
http://m.blog.csdn.net/article/details?id=7953690
简介：

谈谈Runtime类中的freeMemory,totalMemory,maxMemory几个方法：
http://m.blog.csdn.net/article/details?id=8878644
简介：

decodeFile解析正确的路径却返回null？：
http://m.blog.csdn.net/article/details?id=53769255
简介：注意decodeFile()方法需要写入SD卡权限！

Android 6.0 运行时权限处理：
http://www.jianshu.com/p/b4a8b3d4f587
简介：

android_m2repository_rxx.zip下载地址以及MD5：
http://www.cnblogs.com/du-blog/p/6258087.html
简介：

github release 功能的使用及问题解决：
http://blog.csdn.net/Eggy2015/article/details/52138751
简介：

停止Java线程，小心interrupt()方法：
http://m.blog.csdn.net/wxwzy738/article/details/8516253
简介：

安卓使用Root权限实现后台模拟全局按键、触屏事件方法（类似按键精灵）：
http://www.cnblogs.com/cappuccino/p/4488503.html
简介：

android悬浮窗口的实现：
http://blog.csdn.net/stevenhu_223/article/details/8504058
简介：

Android Service完全解析，关于服务你所需知道的一切：
http://blog.csdn.net/guolin_blog/article/details/11952435
简介：

Android 高级混淆和代码保护技术：
http://drakeet.me/android-advanced-proguard-and-security/
简介：
]]></description>
    </item>
        <item>
        <title><![CDATA[Img_1496811738126.html]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/file/442972]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Wed, 07 Jun 2017 13:23:11 +0800]]></pubDate>
        <description><![CDATA[File Size: 0.63 MiBWord Count: 623,171<a href="https://pansong291.wodemo.com/down/442972/Img_1496811738126.html">Open</a>&nbsp;|&nbsp;<a href="https://pansong291.wodemo.com/meta/442972">Meta</a>]]></description>
    </item>
        <item>
        <title><![CDATA[img2html4android.html]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/file/442946]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Wed, 07 Jun 2017 01:03:47 +0800]]></pubDate>
        <description><![CDATA[File Size: 1.72 MiBWord Count: 1,686,518<a href="https://pansong291.wodemo.com/down/442946/img2html4android.html">Open</a>&nbsp;|&nbsp;<a href="https://pansong291.wodemo.com/meta/442946">Meta</a>]]></description>
    </item>
        <item>
        <title><![CDATA[一些Java经典算法]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/428613]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Fri, 03 Feb 2017 18:02:05 +0800]]></pubDate>
        <description><![CDATA[1.留言板分页问题
　有x条留言，每页显示n条留言，共m页。
　m=(x+n-1)/n
2.走马灯问题
　让x的值总在0到9之间循环变化。
　int x=0;
　while(true)
　{
　　x=(x+1)%10;
　}
3.时间复杂度最小的素数查找方法
public static void main(String[] args)
{
　int n=50;//素数查找上限，即素数查找范围是2到50，左闭右开
　int count=0;//素数个数
　int[]num=new int[n];//素数的集合
　double sqrt;//某数的平方根
　for(int i=2;i&lt;n;i++)
　{
　　System.out.println(&quot;正在检查&quot;+i+&quot;,素数已有&quot;+count+&quot;个&quot;);
　　num[count++]=i;//不管是不是素数，先放进素数集合，素数个数加1
　　sqrt=Math.sqrt(i);//得到它的平方根
　　for(int j=0;num[j]&lt;=sqrt;j++)
　　{
　　　if(i%num[j]==0)//如果不是素数
　　　{
　　　　count--;//素数个数减1
　　　　System.out.println(i+&quot;%&quot;+num[j]+&quot;=0,非素数，素数已有&quot;+count+&quot;个&quot;);
　　　　break;
　　　}else if(num[j+1]&gt;sqrt)//如果是素数
　　　{
　　　　System.out.println(i+&quot;%&quot;+num[j]+&quot;≠0,是素数,素数已有&quot;+count+&quot;个&quot;);
　　　}else//不能确定是不是素数
　　　{
　　　　System.out.println(i+&quot;%&quot;+num[j]+&quot;≠0&quot;);
　　　}
　　}
　}
}]]></description>
    </item>
        <item>
        <title><![CDATA[这是一个坑d(ŐдŐ๑)！！]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/419728]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Fri, 25 Nov 2016 19:00:58 +0800]]></pubDate>
        <description><![CDATA[

 
 呵呵→_→
 是不是被坑了呢，傻
  

  window.onload=function()
  {
   var _m;
   var ms=["恭喜你","不要惊讶",
"也不要慌张","你应该庆幸","成功地上当了",
"这是个很严肃的问题","你居然到这里来了",
"说明你对事物充满好奇心","很不错","孩子",
"你应该对自己很有自信"];
   for(var i in ms)
   {
    alert(ms[i]);
   }
   while(_m==null||_m=="")
   {
    _m=prompt("输入一句话以承接上文，并传递给下个光临者","");
   }
   alert("感谢亲的光临！");
  } 

 
 
]]></description>
    </item>
        <item>
        <title><![CDATA[大学生家庭经济情况调查表.doc]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/file/413014]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Sat, 24 Sep 2016 18:39:13 +0800]]></pubDate>
        <description><![CDATA[File Size: 49 KiBWord Count: 1,686,518&nbsp;|&nbsp;<a href="https://pansong291.wodemo.com/meta/413014">Meta</a>]]></description>
    </item>
        <item>
        <title><![CDATA[关于混淆打包的一些问题]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/389641]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Sun, 13 Mar 2016 17:33:58 +0800]]></pubDate>
        <description><![CDATA[Android加载第三方jar混淆出错的问题

如果工程引入了android-support-v4的jar类库，那么在工程打包混淆时，就会出现报错提示。例如提示你：You may need to specify additional library jars (using '-libraryjars')。
这里先给出解决方案，稍后我们再来解释如何处理类似情况：
在proguard.cfg里的后面，添加如下内容：
[java]
-libraryjars /android-support-v4.jar
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment
然后你再打包看看，应该可以正常生成apk安装包了。
打包出错：
情况一：
'类1 can't find referenced class 类2' 字面上的意思就是类1找不到类2的引用；它会建议你：'You may need to specify additional library jars (using '-libraryjars').';
需要使用-libraryjars加上项目中使用到的第三方库就OK了。
例如：-libraryjars /android-support-v4.jar
注意：这里引用方式是当前工程的根目录（也可以配置其他目录），也就是说，你要把第三方jar放到当前目录下，否则就会警告说找不到jar文件！
情况二：
例如： can't find superclass or interface android.os.Parcelable$ClassLoaderCreator，碰到这样的情况，可以使用-dontwarn com.xx.yy.**，不对错误提出警告。
注意：使用这个方式的话，要确保自己没有用到这个库里面的类！否则就会抛ClassNotFoundException！
情况三：
在工程中确实用到了该类，采用上面方式还是不行。这个时候就要再增加一项：-keep class com.xx.yy.** { *;}，让当前类不混淆。
小结：
对于引用第三方包的情况，可以采用下面方式避免打包出错：
-libraryjars /aaa.jar
-dontwarn com.xx.yy.**
-keep class com.xx.yy.** { *;}
我们可以使用
-dontwarn com.xx.bbb.**
-keep class com.xx.bbb.** { *;}
参数来保持第三方库中的类而不乱，-dontwarn和-keep 结合使用，意思是保持com.xx.bbb.**这个包里面的所有类和所有方法而不混淆，接着还叫ProGuard不要警告找不到com.xx.bbb.**这个包里面的类的相关引用。
【http://www.2cto.com/kf/201206/136678.html】
【http://blog.csdn.net/u_xtian/article/details/7495023】

Android--混淆打包找不到资源类的问题

android打包apk的时候一般都会混淆，而在eclipse中常使用的是proguard来混淆。有很多时候引用了第三方包的时候会导致打包不成功，或者打包成功不能运行的情况。
首先看看正常的proguard.cfg文件里面可以怎么写: 简单的android系统，没有第三方包
-injars bin/classes -outjars bin/classes-processed.jar -libraryjars /usr/local/java/android-sdk/platforms/android-9/android.jar -dontpreverify -repackageclasses '' -allowaccessmodification -optimizations !code/simplification/arithmetic -keep public class mypackage.MyActivity
完整的android系统
-injars bin/classes -injars libs -outjars bin/classes-processed.jar -libraryjars /usr/local/java/android-sdk/platforms/android-9/android.jar -dontpreverify -repackageclasses '' -allowaccessmodification -optimizations !code/simplification/arithmetic -keepattributes *Annotation* -keep public class * extends android.app.Activity -keep public class * extends android.app.Application -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider -keep public class * extends android.view.View { public &lt;&lt;/span&gt;init&gt;(android.content.Context); public &lt;&lt;/span&gt;init&gt;(android.content.Context, android.util.AttributeSet); public &lt;&lt;/span&gt;init&gt;(android.content.Context, android.util.AttributeSet, int); public void set*(...);} -keepclasseswithmembers class * { public &lt;&lt;/span&gt;init&gt;(android.content.Context, android.util.AttributeSet);} -keepclasseswithmembers class * { public &lt;&lt;/span&gt;init&gt;(android.content.Context, android.util.AttributeSet, int);} -keepclassmembers class * extends android.content.Context { public void *(android.view.View); public void *(android.view.MenuItem);} -keepclassmembers class * implements android.os.Parcelable { static android.os.Parcelable$Creator CREATOR;} -keepclassmembers class **.R$* { public static &lt;;&lt;/span&gt;fields&gt;;}
如果加了android.support包的话，那么要加上
-keep class android.support.**{*;}
-dontwarn android.support.**
一劳永逸，免得打包的时候就报错。加上keep就是 告诉proguard不用混淆这个包里面的类，如果不加这个，报错会比较明显，会报出support包的错，其它的第三方的包最好也不要混淆，原样就可以了。
还有一些是打包的时候不会出错，但是在打成包之后安装运行就不行了。这时候要注意观察一下提示的信息，比如空指针异常，或者是反射的时候报错，那么 这个时候要注意了，是不是实体类被混淆了。导致找不到实体类无法get或者set，那么这个时候应该做的事情是阻止proguard对实体类的混淆，比 如：
-keep public class mypackage.MyBean { public void setMyProperty(int); public int getMyProperty();}
这样的话实体类被保存下来了，就不会出现找不到的情况了，一般引用了json类的包或者orm类的包可能会有这样的错误出现。
当有注解的时候
-keepattributes Signature -keepattributes *Annotation*
别忘了加上这两句，减少错误的发生。 如果还有一些不明的错误的话，可以试着更新一下proguard的版本，使用最新的版本。毕竟再成熟的系统也是有BUG的。]]></description>
    </item>
        <item>
        <title><![CDATA[常用正则表达式]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/356530]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Thu, 03 Sep 2015 16:13:58 +0800]]></pubDate>
        <description><![CDATA[1，
[\s\S]匹配任意字符，而不是[.\n]，因为.在方括号里表达的是点的本意并非所有字符。
2，
(?&lt;=start)匹配一个位置，这个位置的前面是start，它只匹配位置不匹配字符，同样(?=end)匹配的位置后面是end。在javascript中不支持(?&lt;=start)这个表达式，在android中，(?&lt;=start)里面的start不能被无上限重复，例如(?&lt;=a+)和(?&lt;=b{2,})都是会报错的，而(?&lt;=b{2,6})是正确的，其原因大概是回顾比较吃cpu吧。]]></description>
    </item>
        <item>
        <title><![CDATA[留言板]]></title>
		<link><![CDATA[https://pansong291.wodemo.com/entry/329736]]></link>
		<dc:creator><![CDATA[潘松 (@pansong291)]]></dc:creator>
		<pubDate><![CDATA[Sun, 15 Feb 2015 15:51:21 +0800]]></pubDate>
        <description><![CDATA[

  ;(function () {
    document.head.insertAdjacentHTML('beforeend', `
    
      #paso-comments > form {
        display: none;
      }
    `)
    const commentInitHandler = (e) => {
      if (e.data?.name !== 'on-comment-init') return
      const { createElem, qs } = paso.function
      const msgBoardWrapper = qs('#paso-message-board-wrapper')
      const originForm = qs('#paso-comments > form')
      if (originForm) {
        originForm.querySelector('input[type=submit]').value = '留 言'
        msgBoardWrapper.append(originForm)
      } else {
        msgBoardWrapper.append(createElem('a', { href: `//wodemo.net/login?return_to=${encodeURIComponent(window.location.href)}` }, ['登录后可留言']))
      }
      window.removeEventListener('message', commentInitHandler)
    }
    window.addEventListener('message', commentInitHandler)
  }())
]]></description>
    </item>
    </channel>
</rss>
