- check keystore info
keytool -list -v -keystore xxx.keystore
- check sign status
jarsigner -certs -verbose -verify xxx.apk
| # 拉取浅拷贝仓库 | |
| git clone --depth 1 https://github.com/test_user/demo_repository | |
| git fetch --unshallow | |
| # clone only the remote primary HEAD (default: origin/master) | |
| git clone <url> --single-branch | |
| # as in: | |
| git clone <url> --branch <branch> --single-branch [<folder>] | 
| //Use AnimationUtility get AnimationClip frameCount | |
| public static int GetAnimationClipFrames(AnimationClip clip) | |
| { | |
| int frame = 0; | |
| foreach (var binding in AnimationUtility.GetCurveBindings(clip)) | |
| { | |
| AnimationCurve curve = AnimationUtility.GetEditorCurve(clip, binding); | |
| frame = Mathf.Max(frame, curve.keys.Length - 1); | |
| } | 
keytool -list -v -keystore xxx.keystore
jarsigner -certs -verbose -verify xxx.apk
| 啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼 | 
| /* | |
| ** Copyright (c) 2012, Romain Dura romain@shazbits.com | |
| ** | |
| ** Permission to use, copy, modify, and/or distribute this software for any | |
| ** purpose with or without fee is hereby granted, provided that the above | |
| ** copyright notice and this permission notice appear in all copies. | |
| ** | |
| ** THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | |
| ** WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | |
| ** MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY | 
| using System; | |
| using DG.Tweening; | |
| using UnityEngine; | |
| public static class TweenExt | |
| { | |
| public static Quaternion LookAt2D(this Transform trans, Transform target, float facing = 0) | |
| { | |
| return trans.LookAt2D(target.position, facing); | |
| } | 
| [MenuItem("MyTest/SaveSprite")] | |
| static void SaveSprite() | |
| { | |
| string path = AssetDatabase.GetAssetPath(Selection.activeObject); | |
| int counter = 0; | |
| var sprites = AssetDatabase.LoadAllAssetRepresentationsAtPath(path); | |
| if (sprites.Length > 0) | |
| { | |
| // 创建导出文件夹 | 
| public class RemoveMissingScriptComponents | |
| { | |
| /// <summary> | |
| /// 删除一个Prefab上的空脚本 | |
| /// </summary> | |
| /// <param name="path">prefab路径 例Assets/Resources/FriendInfo.prefab</param> | |
| [MenuItem("CastleBurnRes/Remove Missing Scripts")] | |
| public static void RemoveSelectionMissingCom() | |
| { | |
| foreach (var gameObject in Selection.gameObjects) | 
| convert imageA.png imageB.png -alpha off -compose CopyOpacity -composite out.png | |
| //combine folder image alpha+rgb batch | |
| @echo off | |
| SETLOCAL ENABLEDELAYEDEXPANSION | |
| for /R %DIR% %%f in (*_alpha.png) do ( | |
| echo %%f | |
| set FILE_NAME=%%~nf | |
| echo !FILE_NAME! | |
| set RGB_FILE_NAME=!FILE_NAME:~0,-6! | 
| --生成反对称矩阵 | |
| local function skew_symmetric_matrix(mt) | |
| for i = 1,#mt[1] do | |
| for j = 1,#mt do | |
| mt[i][j] = -mt[j][i] | |
| end | |
| end | |
| return mt | |
| end |