1.çµèç³»ç»ï¼
2.手把手教你从源码开始编译Magisk APP和依赖项
3.Android-gradle plugin
4.Android性能优化:ProGuard,混淆,R8优化
çµèç³»ç»ï¼
æä½ç³»ç»
æä½ç³»ç»(Operating Systemï¼ç®ç§°OS)æ¯ç®¡ç计ç®æºç³»ç»çå ¨é¨ç¡¬ä»¶èµæºå æ¬è½¯ä»¶èµæºåæ°æ®èµæºï¼æ§å¶ç¨åºè¿è¡ï¼æ¹å人æºçé¢ï¼ä¸ºå ¶å®åºç¨è½¯ä»¶æä¾æ¯æçï¼ä½¿è®¡ç®æºç³»ç»ææèµæºæ大é度å°åæ¥ä½ç¨ï¼ä¸ºç¨æ·æä¾æ¹ä¾¿çãææçãååçæå¡çé¢ã
æä½ç³»ç»é常æ¯æé è¿ç¡¬ä»¶çä¸å±ç³»ç»è½¯ä»¶ï¼å®æ硬件裸æºæ¹é æ为åè½å®åçä¸å°èææºï¼ä½¿å¾è®¡ç®æºç³»ç»ç使ç¨å管çæ´å æ¹ä¾¿ï¼è®¡ç®æºèµæºçå©ç¨æçæ´é«ï¼ä¸å±çåºç¨ç¨åºå¯ä»¥è·å¾æ¯ç¡¬ä»¶æä¾çåè½æ´å¤çæ¯æã
æä½ç³»ç»æ¯ä¸ä¸ªåºå¤§ç管çæ§å¶ç¨åºï¼å¤§è´å æ¬5个æ¹é¢ç管çåè½:è¿ç¨ä¸å¤çæºç®¡çãä½ä¸ç®¡çãåå¨ç®¡çã设å¤ç®¡çãæ件管çãç®åå¾®æºä¸å¸¸è§çæä½ç³»ç»æDOSãOS/2ãUNIXãXENIXãLINUXãWindowsãNetwareçã
计ç®æºèµæºå¯å为两大类ï¼ç¡¬ä»¶èµæºå软件èµæºã硬件èµæºæç»æ计ç®æºç硬设å¤ï¼å¦ä¸å¤®å¤çæºã主åå¨å¨ãç£å¸¦åå¨å¨ãæå°æºãæ¾ç¤ºå¨ãé®çè¾å ¥è®¾å¤çã软件èµæºä¸»è¦æåå¨äºè®¡ç®æºä¸çåç§æ°æ®åç¨åºãç³»ç»ç硬件èµæºå软件èµæºé½ç±æä½ç³»ç»æ ¹æ®ç¨æ·éæ±æä¸å®ççç¥åé åè°åº¦ã
æä½ç³»ç»çå¤çå¨ç®¡çæ ¹æ®ä¸å®ççç¥å°å¤çå¨äº¤æ¿å°åé ç»ç³»ç»å çå¾ è¿è¡çç¨åºã
æä½ç³»ç»ç设å¤ç®¡çè´è´£åé ååæ¶å¤é¨è®¾å¤ï¼ä»¥åæ§å¶å¤é¨è®¾å¤æç¨æ·ç¨åºçè¦æ±è¿è¡æä½ã
æä½ç³»ç»çæ件管çåç¨æ·æä¾å建æ件ãæ¤æ¶æ件ã读åæ件ãæå¼åå ³éæ件çåè½ã
æä½ç³»ç»çåå¨ç®¡çåè½æ¯ç®¡çå åèµæºã主è¦å®ç°å åçåé ä¸åæ¶ï¼åå¨ä¿æ¤ä»¥åå åæ©å ã
æä½ç³»ç»çä½ä¸ç®¡çåè½æ¯ä¸ºç¨æ·æä¾ä¸ä¸ªä½¿ç¨ç³»ç»çè¯å¥½ç¯å¢ï¼ä½¿ç¨æ·è½ææå°ç»ç»èªå·±çå·¥ä½æµç¨ï¼å¹¶ä½¿æ´ä¸ªç³»ç»é«æå°è¿è¡ã
æä½ç³»ç»ï¼Operating Systemï¼ç®ç§°OSï¼ä¼ ç»ä¸æ¯è´è´£å¯¹è®¡ç®æºç¡¬ä»¶ç´æ¥æ§å¶å管ççç³»ç»è½¯ä»¶ãæä½ç³»ç»çåè½ä¸è¬å æ¬å¤çå¨ç®¡çãåå¨ç®¡çãæ件管çã设å¤ç®¡çåä½ä¸ç®¡ççãå½å¤ä¸ªç¨åºåæ¶è¿è¡æ¶ï¼æä½ç³»ç»è´è´£è§å以ä¼åæ¯ä¸ªç¨åºçå¤çæ¶é´ã
ä¸ä¸ªæä½ç³»ç»å¯ä»¥å¨æ¦å¿µä¸åå²æ两é¨åï¼å æ ¸(Kernel)以å壳(shell)ãä¸ä¸ªå£³ç¨åºå 裹äºä¸ç¡¬ä»¶ç´æ¥äº¤æµçå æ ¸ï¼ç¡¬ä»¶<->å æ ¸<->壳<->åºç¨ç¨åº
å¨æäºæä½ç³»ç»ä¸å æ ¸ä¸å£³å®å ¨åå¼ï¼ä¾å¦UnixãLinuxçï¼ï¼è¿æ ·ç¨æ·å°±å¯ä»¥å¨ä¸ä¸ªå æ ¸ä¸ä½¿ç¨ä¸åç壳ï¼èå¦ä¸äºçå æ ¸ä¸å£³å ³ç³»ç´§å¯ï¼ä¾å¦Microsoft Windowsï¼ï¼å æ ¸å壳åªæ¯æä½å±æ¬¡ä¸ä¸åèå·²ã
Windows æ¯ä¸ä¸ªåè¡äºå¹´6ææ¥çæ··åä½/ä½çå¾å½¢æä½ç³»ç»ãè¿ä¸ªæ°çç³»ç»æ¯åºäºWindows ä¸ç¼åçï¼å®æ¹è¯äºç¡¬ä»¶æ åçæ¯æï¼ä¾å¦USBãMMXåAGPãå ¶å®ç¹æ§å æ¬å¯¹FATæ件系ç»çæ¯æãå¤æ¾ç¤ºå¨ãWeb TVçæ¯æåæ´åå°Windowså¾å½¢ç¨æ·çé¢çInternet Explorerï¼ç§°ä¸ºæ´»å¨æ¡é¢ï¼Active Desktopï¼ãWindows SEï¼ç¬¬äºçï¼åè¡äºå¹´6ææ¥ãå®å æ¬äºä¸ç³»åçæ¹è¿ï¼ä¾å¦Internet Explorer 5ãWindows Netmeeting 3ãInternet Connection Sharingå对DVD-ROMçæ¯æãWindows 被人æ¹è¯ä¸ºæ²¡æ足å¤çé©æ°ãå³ä½¿è¿æ ·ï¼å®ä»ç¶æ¯ä¸ä¸ªæåç产åã第äºç被æ¹è¯ä¸ºä¸è½å¨ç¬¬ä¸ççåºç¡ä¸èªç±å级ã
Windows çæä½ç³»ç»éæ±ï¼DX/MHzææ´é«çå¤çå¨ï¼MBçå åï¼æ´å¤çå åå°æ¹åæ§è½ï¼å¦æ使ç¨FATæ件系ç», å ¸åå®è£ éå ï¼å ç³»ç»è®¾ç½®åé项ä¸å, æé空é´èå´å¨å å°å ä¹é´ï¼å¦æ使ç¨FATæ件系ç», å ¸åå®è£ éå ï¼å ç³»ç»è®¾ç½®åé项ä¸å, æé空é´èå´å¨å å°å ä¹é´ï¼CDï¼ROMæDVDï¼ROM驱å¨å¨åVGAææ´é«å辨ççæ¾ç¤ºå¨ï¼å¾®è½¯é¼ æ æå ¼å®¹çæå设å¤ã
Windows MEæ¯ä¸ä¸ªä½å¾å½¢æä½ç³»ç»ï¼ç±å¾®è½¯å ¬å¸åè¡äºå¹´9ææ¥ãè¿ä¸ªç³»ç»æ¯å¨Windows åWindows çåºç¡ä¸å¼åçãå®å æ¬ç¸å ³çå°çæ¹åï¼ä¾å¦Internet Explorer 5.5ãå ¶ä¸æ主è¦çæ¹åæ¯ç¨äºä¸æµè¡çåªä½ææ¾è½¯ä»¶RealPlayerç«äºçWindows Media Player 7ãä½æ¯Internet Explorer 5.5åWindows Media Player 7é½å¯ä»¥å¨ç½ä¸å è´¹ä¸è½½ãMovie Makeræ¯è¿ä¸ªç³»ç»ä¸çä¸ä¸ªæ°çç»ä»¶ãè¿ä¸ªç¨åºæä¾äºåºæ¬ç对è§é¢çç¼è¾å设计åè½ï¼å¯¹å®¶åºç¨æ·æ¥è¯´æ¯ç®åæå¦çãä½æ¯ï¼æéè¦çä¿®æ¹æ¯ç³»ç»å»é¤äºDOSï¼èç±ç³»ç»æ¢å¤ä»£æ¿äºã
å¨æ¦å¿µä¸ï¼è¿æ¯ä¸ä¸ªå¤§çæ¹è¿ï¼æ¥æ¤ä¸åéè¦æç¥ç§çDOSè¡å½ä»¤çç¥è¯å°±å¯ä»¥ç»´æ¤åä¿®å¤ç³»ç»ãå®é ä¸ï¼å»é¤äºDOSåè½å¯¹ç»´æ¤æ¥è¯´æ¯ä¸ä¸ªéç¢ï¼èç³»ç»æ¢å¤åè½ä¹å¸¦æ¥ä¸äºéº»ç¦ï¼æ§è½æ¾èçéä½ï¼å®ä¹è¢«è¯æ并ä¸è½ææçèä»»ä¸äºé常çé误ãç±äºç³»ç»æ¯æ¬¡é½èªå¨å建ä¸ä¸ªå åç³»ç»ç¶æçå¤ä»½ï¼ä½¿å¾éä¸ä¸äººåå¾é¾å®è¡ä¸äºæ¥éçä¿®æ¹ï¼çè³æ¯å é¤ä¸ä¸ªä¸æ³è¦çç¨åºæç æ¯ãæè§ç¹è®¤ä¸ºè¿ä¸ªç³»ç»åªæ¯Windows çå级çæ¬ï¼ä¸åºè¯¥ç¬èªæ为ä¸ä¸ªçæ¬ãä¹æè§ç¹è®¤ä¸ºè¿æ¯å¾®è½¯èª3.0ç以åæå·®ç第ä¸ä¸ªæ²¡æåè¡ç¬¬äºççWindowsã
Microsoft Windows ï¼èµ·å称为WinNT 5.0ï¼æ¯ä¸ä¸ªç±å¾®è½¯å ¬å¸åè¡äºå¹´ææ¥çä½å¾å½¢åä¸æ§è´¨çæä½ç³»ç»ãWindows æå个çæ¬ï¼ProfessionalãServerãAdvanced ServeråDatacenter Serverãå¦å¤ï¼å¾®è½¯æä¾äºWindows Advanced Serveréå®çï¼ç¨äºè¿è¡äºè±ç¹å°Itanium ä½å¤çå¨ä¸ãææçæ¬çWindows é½æå ±åçä¸äºæ°ç¹å¾ï¼NTFS5ï¼æ°çNTFSæ件系ç»ï¼EFSï¼å 许对ç£çä¸çæææ件è¿è¡å å¯ï¼WDMï¼å¢å¼ºå¯¹ç¡¬ä»¶çæ¯æã
Microsoft Windows çæä½ç³»ç»è¦æ±ï¼ MHZææ´é«ä¸»é¢çPentiumçº§å ¼å®¹CPUï¼æ¨èæå°å å为MBï¼æ´å¤çå åé常å¯ä»¥æ¹åç³»ç»ååºæ§è½[æå¤æ¯æ4GBå å]ï¼è³å°æ1GBå¯ç¨ç£ç空é´ç2GB硬çï¼å¦æéè¿ç½ç»è¿è¡å®è£ ï¼å¯è½éè¦æ´å¤çå¯ç¨ç£ç空é´ï¼ï¼Windows Professionalæ¯æåCPUååCPUç³»ç»ã
Windows XPï¼æè§çªXPæ¯å¾®è½¯å ¬å¸ææ°åå¸çä¸æ¬¾è§çªæä½ç³»ç»ãå®åè¡äºå¹´ææ¥ï¼åæ¥çå称æ¯Whistlerã微软æååè¡äºä¸¤ä¸ªçæ¬ï¼å®¶åºçï¼Homeï¼åä¸ä¸çï¼Professionalï¼ã家åºççæ¶è´¹å¯¹è±¡æ¯å®¶åºç¨æ·ï¼ä¸ä¸çåå¨å®¶åºççåºç¡ä¸æ·»å äºæ°ç为é¢ååä¸ç设计çç½ç»è®¤è¯ãåå¤çå¨çç¹æ§ãåæ¯XP表示è±æåè¯çâä½éªâï¼experienceï¼ã
å¨XPä¹åï¼å¾®è½¯æ两个ç¸äºç¬ç«çæä½ç³»ç»ç³»åï¼ä¸ä¸ªæ¯ä»¥Windows åWindows ME为代表çé¢åæ¡é¢çµèçç³»åï¼å¦ä¸ä¸ªæ¯ä»¥Windows åWindows NT为代表çé¢åæå¡å¨å¸åºçç³»åãWindows XPæ¯å¾®è½¯æææç¨æ·è¦æ±åæä¸ä¸ªæä½ç³»ç»çå°è¯ï¼è为æ¤ä»åºç代价æ¯ä¸§å¤±äºå¯¹åºäºDOSç¨åºçæ¯æã
Windows XPæ¯åºäºWindows 代ç ç产åï¼åæ¶æ¥æä¸ä¸ªæ°çç¨æ·å¾å½¢çé¢ï¼å«åæç¥Lunaï¼ï¼å®å æ¬äºä¸äºç»å¾®çä¿®æ¹ï¼å ¶ä¸ä¸äºçèµ·æ¥æ¯ä»Linuxçæ¡é¢ç¯å¢ï¼desktop environmenï¼è¯¸å¦KDEä¸è·å¾ççµæã带æç¨æ·å¾å½¢çç»éçé¢å°±æ¯ä¸ä¸ªä¾åãæ¤å¤ï¼Windows XPè¿å¼å ¥äºä¸ä¸ªâåºäºäººç©âçç¨æ·çé¢ï¼ä½¿å¾å·¥å ·æ¡å¯ä»¥è®¿é®ä»»å¡çå ·ä½ç»èãç¶èï¼æ¹è¯å®¶è®¤ä¸ºè¿ä¸ªåºäºä»»å¡ç设计æ示å¢å äºè§è§ä¸çæ··ä¹±ï¼å 为å®é¤äºæä¾æ¯å ¶å®æä½ç³»ç»æ´ç®åçå·¥å ·æ 以å¤å¹¶æ²¡ææ·»å æ°çç¹æ§ãèé¢å¤è¿ç¨çèè´¹åæ¯å¯è§çã
å®å æ¬äºç®åäºçWindows çç¨æ·å®å ¨ç¹æ§ï¼å¹¶æ´åäºé²ç«å¢ï¼ä»¥ç¨æ¥ç¡®ä¿é¿æ以æ¥ä»¥çå°æ°å¾®è½¯çå®å ¨é®é¢ã
ç±äºå¾®è½¯æå¾å¤ä»¥åæ¯ç±ç¬¬ä¸æ¹æä¾ç软件æ´åå°æä½ç³»ç»ä¸ï¼XPåå°äºçççæ¹è¯ãè¿äºè½¯ä»¶å æ¬é²ç«å¢ãåªä½ææ¾å¨ï¼Windows Media Playerï¼ï¼å³æ¶é讯软件ï¼Windows Messengerï¼ï¼ä»¥åå®ä¸Microsoft Pasportç½ç»æå¡çç´§å¯ç»åï¼è¿é½è¢«å¾å¤è®¡ç®æºä¸å®¶è®¤ä¸ºæ¯å®å ¨é£é©ä»¥å对个人éç§çæ½å¨å¨èãè¿äºç¹æ§çå¢å 被认为æ¯å¾®è½¯ç»§ç»å ¶ä¼ ç»çåç«äºè¡ä¸ºçæç»ã
å¦å¤åå°å¼ºçæ¹è¯çæ¯å®ç产åæ¿æ´»ææ¯ãè¿ä½¿å¾ä¸»æºçé¨ä»¶åå°çå¬ï¼å¹¶å¨è½¯ä»¶å¯ä»¥æ°¸ä¹ 使ç¨åï¼æ¯å¤©ä¸ä¸ªæ¿æ´»å¨æï¼å¨å¾®è½¯çè®°å½ä¸æ·»å ä¸ä¸ªå¯ä¸çåèåºåå·ï¼reference numberï¼ãå¨å ¶å®è®¡ç®æºä¸å®è£ ç³»ç»ï¼æåªæ¯ç®åçæ´æ¢ä¸ä¸ªç¡¬ä»¶ï¼ä¾å¦ç½å¡ï¼é½å°äº§çä¸ä¸ªæ°çä¸ä¹åä¸åçåèåºåå·ï¼é æç¨æ·å¿ é¡»éæ°è¾å ¥å®è£ åºåå·æ¥æ¿æ´»Windows XPç麻ç¦ã
Windows XPçæä½ç³»ç»è¦æ±ï¼æ¨è计ç®æºä½¿ç¨æ¶éé¢ç为 MHz ææ´é«çå¤çå¨ï¼è³å°éè¦ MHz ï¼å个æåå¤çå¨ç³»ç»ï¼ï¼æ¨è使ç¨Intel Pentium/Celeron ç³»åãAMD K6/Athlon/Duron ç³»åæå ¼å®¹çå¤çå¨ï¼æ¨èä½¿ç¨ MB RAM ææ´é«ï¼æä½æ¯æMï¼å¯è½ä¼å½±åæ§è½åæäºåè½ï¼ï¼1.5 GBå¯ç¨ç¡¬ç空é´ï¼Super VGA (x) æå辨çæ´é«çè§é¢éé å¨åçè§å¨ï¼CD-ROMæDVD驱å¨å¨ï¼é®çåMicrosoft é¼ æ æå ¼å®¹çæé设å¤ã
æä½ç³»ç»ï¼Operating Systemï¼ç®ç§°OSï¼ä¼ ç»ä¸æ¯è´è´£å¯¹è®¡ç®æºç¡¬ä»¶ç´æ¥æ§å¶å管ççç³»ç»è½¯ä»¶ãæä½ç³»ç»çåè½ä¸è¬å æ¬å¤çå¨ç®¡çãåå¨ç®¡çãæ件管çã设å¤ç®¡çåä½ä¸ç®¡ççãå½å¤ä¸ªç¨åºåæ¶è¿è¡æ¶ï¼æä½ç³»ç»è´è´£è§å以ä¼åæ¯ä¸ªç¨åºçå¤çæ¶é´ã
ä¸ä¸ªæä½ç³»ç»å¯ä»¥å¨æ¦å¿µä¸åå²æ两é¨åï¼å æ ¸(Kernel)以å壳(shell)ãä¸ä¸ªå£³ç¨åºå 裹äºä¸ç¡¬ä»¶ç´æ¥äº¤æµçå æ ¸ï¼ç¡¬ä»¶<->å æ ¸<->壳<->åºç¨ç¨åº
å¨æäºæä½ç³»ç»ä¸å æ ¸ä¸å£³å®å ¨åå¼ï¼ä¾å¦UnixãLinuxçï¼ï¼è¿æ ·ç¨æ·å°±å¯ä»¥å¨ä¸ä¸ªå æ ¸ä¸ä½¿ç¨ä¸åç壳ï¼èå¦ä¸äºçå æ ¸ä¸å£³å ³ç³»ç´§å¯ï¼ä¾å¦Microsoft Windowsï¼ï¼å æ ¸å壳åªæ¯æä½å±æ¬¡ä¸ä¸åèå·²ã
Windows æ¯ä¸ä¸ªåè¡äºå¹´6ææ¥çæ··åä½/ä½çå¾å½¢æä½ç³»ç»ãè¿ä¸ªæ°çç³»ç»æ¯åºäºWindows ä¸ç¼åçï¼å®æ¹è¯äºç¡¬ä»¶æ åçæ¯æï¼ä¾å¦USBãMMXåAGPãå ¶å®ç¹æ§å æ¬å¯¹FATæ件系ç»çæ¯æãå¤æ¾ç¤ºå¨ãWeb TVçæ¯æåæ´åå°Windowså¾å½¢ç¨æ·çé¢çInternet Explorerï¼ç§°ä¸ºæ´»å¨æ¡é¢ï¼Active Desktopï¼ãWindows SEï¼ç¬¬äºçï¼åè¡äºå¹´6ææ¥ãå®å æ¬äºä¸ç³»åçæ¹è¿ï¼ä¾å¦Internet Explorer 5ãWindows Netmeeting 3ãInternet Connection Sharingå对DVD-ROMçæ¯æãWindows 被人æ¹è¯ä¸ºæ²¡æ足å¤çé©æ°ãå³ä½¿è¿æ ·ï¼å®ä»ç¶æ¯ä¸ä¸ªæåç产åã第äºç被æ¹è¯ä¸ºä¸è½å¨ç¬¬ä¸ççåºç¡ä¸èªç±å级ã
Windows çæä½ç³»ç»éæ±ï¼DX/MHzææ´é«çå¤çå¨ï¼MBçå åï¼æ´å¤çå åå°æ¹åæ§è½ï¼å¦æ使ç¨FATæ件系ç», å ¸åå®è£ éå ï¼å ç³»ç»è®¾ç½®åé项ä¸å, æé空é´èå´å¨å å°å ä¹é´ï¼å¦æ使ç¨FATæ件系ç», å ¸åå®è£ éå ï¼å ç³»ç»è®¾ç½®åé项ä¸å, æé空é´èå´å¨å å°å ä¹é´ï¼CDï¼ROMæDVDï¼ROM驱å¨å¨åVGAææ´é«å辨ççæ¾ç¤ºå¨ï¼å¾®è½¯é¼ æ æå ¼å®¹çæå设å¤ã
Windows MEæ¯ä¸ä¸ªä½å¾å½¢æä½ç³»ç»ï¼ç±å¾®è½¯å ¬å¸åè¡äºå¹´9ææ¥ãè¿ä¸ªç³»ç»æ¯å¨Windows åWindows çåºç¡ä¸å¼åçãå®å æ¬ç¸å ³çå°çæ¹åï¼ä¾å¦Internet Explorer 5.5ãå ¶ä¸æ主è¦çæ¹åæ¯ç¨äºä¸æµè¡çåªä½ææ¾è½¯ä»¶RealPlayerç«äºçWindows Media Player 7ãä½æ¯Internet Explorer 5.5åWindows Media Player 7é½å¯ä»¥å¨ç½ä¸å è´¹ä¸è½½ãMovie Makeræ¯è¿ä¸ªç³»ç»ä¸çä¸ä¸ªæ°çç»ä»¶ãè¿ä¸ªç¨åºæä¾äºåºæ¬ç对è§é¢çç¼è¾å设计åè½ï¼å¯¹å®¶åºç¨æ·æ¥è¯´æ¯ç®åæå¦çãä½æ¯ï¼æéè¦çä¿®æ¹æ¯ç³»ç»å»é¤äºDOSï¼èç±ç³»ç»æ¢å¤ä»£æ¿äºã
å¨æ¦å¿µä¸ï¼è¿æ¯ä¸ä¸ªå¤§çæ¹è¿ï¼æ¥æ¤ä¸åéè¦æç¥ç§çDOSè¡å½ä»¤çç¥è¯å°±å¯ä»¥ç»´æ¤åä¿®å¤ç³»ç»ãå®é ä¸ï¼å»é¤äºDOSåè½å¯¹ç»´æ¤æ¥è¯´æ¯ä¸ä¸ªéç¢ï¼èç³»ç»æ¢å¤åè½ä¹å¸¦æ¥ä¸äºéº»ç¦ï¼æ§è½æ¾èçéä½ï¼å®ä¹è¢«è¯æ并ä¸è½ææçèä»»ä¸äºé常çé误ãç±äºç³»ç»æ¯æ¬¡é½èªå¨å建ä¸ä¸ªå åç³»ç»ç¶æçå¤ä»½ï¼ä½¿å¾éä¸ä¸äººåå¾é¾å®è¡ä¸äºæ¥éçä¿®æ¹ï¼çè³æ¯å é¤ä¸ä¸ªä¸æ³è¦çç¨åºæç æ¯ãæè§ç¹è®¤ä¸ºè¿ä¸ªç³»ç»åªæ¯Windows çå级çæ¬ï¼ä¸åºè¯¥ç¬èªæ为ä¸ä¸ªçæ¬ãä¹æè§ç¹è®¤ä¸ºè¿æ¯å¾®è½¯èª3.0ç以åæå·®ç第ä¸ä¸ªæ²¡æåè¡ç¬¬äºççWindowsã
Microsoft Windows ï¼èµ·å称为WinNT 5.0ï¼æ¯ä¸ä¸ªç±å¾®è½¯å ¬å¸åè¡äºå¹´ææ¥çä½å¾å½¢åä¸æ§è´¨çæä½ç³»ç»ãWindows æå个çæ¬ï¼ProfessionalãServerãAdvanced ServeråDatacenter Serverãå¦å¤ï¼å¾®è½¯æä¾äºWindows Advanced Serveréå®çï¼ç¨äºè¿è¡äºè±ç¹å°Itanium ä½å¤çå¨ä¸ãææçæ¬çWindows é½æå ±åçä¸äºæ°ç¹å¾ï¼NTFS5ï¼æ°çNTFSæ件系ç»ï¼EFSï¼å 许对ç£çä¸çæææ件è¿è¡å å¯ï¼WDMï¼å¢å¼ºå¯¹ç¡¬ä»¶çæ¯æã
Microsoft Windows çæä½ç³»ç»è¦æ±ï¼ MHZææ´é«ä¸»é¢çPentiumçº§å ¼å®¹CPUï¼æ¨èæå°å å为MBï¼æ´å¤çå åé常å¯ä»¥æ¹åç³»ç»ååºæ§è½[æå¤æ¯æ4GBå å]ï¼è³å°æ1GBå¯ç¨ç£ç空é´ç2GB硬çï¼å¦æéè¿ç½ç»è¿è¡å®è£ ï¼å¯è½éè¦æ´å¤çå¯ç¨ç£ç空é´ï¼ï¼Windows Professionalæ¯æåCPUååCPUç³»ç»ã
Windows XPï¼æè§çªXPæ¯å¾®è½¯å ¬å¸ææ°åå¸çä¸æ¬¾è§çªæä½ç³»ç»ãå®åè¡äºå¹´ææ¥ï¼åæ¥çå称æ¯Whistlerã微软æååè¡äºä¸¤ä¸ªçæ¬ï¼å®¶åºçï¼Homeï¼åä¸ä¸çï¼Professionalï¼ã家åºççæ¶è´¹å¯¹è±¡æ¯å®¶åºç¨æ·ï¼ä¸ä¸çåå¨å®¶åºççåºç¡ä¸æ·»å äºæ°ç为é¢ååä¸ç设计çç½ç»è®¤è¯ãåå¤çå¨çç¹æ§ãåæ¯XP表示è±æåè¯çâä½éªâï¼experienceï¼ã
å¨XPä¹åï¼å¾®è½¯æ两个ç¸äºç¬ç«çæä½ç³»ç»ç³»åï¼ä¸ä¸ªæ¯ä»¥Windows åWindows ME为代表çé¢åæ¡é¢çµèçç³»åï¼å¦ä¸ä¸ªæ¯ä»¥Windows åWindows NT为代表çé¢åæå¡å¨å¸åºçç³»åãWindows XPæ¯å¾®è½¯æææç¨æ·è¦æ±åæä¸ä¸ªæä½ç³»ç»çå°è¯ï¼è为æ¤ä»åºç代价æ¯ä¸§å¤±äºå¯¹åºäºDOSç¨åºçæ¯æã
Windows XPæ¯åºäºWindows 代ç ç产åï¼åæ¶æ¥æä¸ä¸ªæ°çç¨æ·å¾å½¢çé¢ï¼å«åæç¥Lunaï¼ï¼å®å æ¬äºä¸äºç»å¾®çä¿®æ¹ï¼å ¶ä¸ä¸äºçèµ·æ¥æ¯ä»Linuxçæ¡é¢ç¯å¢ï¼desktop environmenï¼è¯¸å¦KDEä¸è·å¾ççµæã带æç¨æ·å¾å½¢çç»éçé¢å°±æ¯ä¸ä¸ªä¾åãæ¤å¤ï¼Windows XPè¿å¼å ¥äºä¸ä¸ªâåºäºäººç©âçç¨æ·çé¢ï¼ä½¿å¾å·¥å ·æ¡å¯ä»¥è®¿é®ä»»å¡çå ·ä½ç»èãç¶èï¼æ¹è¯å®¶è®¤ä¸ºè¿ä¸ªåºäºä»»å¡ç设计æ示å¢å äºè§è§ä¸çæ··ä¹±ï¼å 为å®é¤äºæä¾æ¯å ¶å®æä½ç³»ç»æ´ç®åçå·¥å ·æ 以å¤å¹¶æ²¡ææ·»å æ°çç¹æ§ãèé¢å¤è¿ç¨çèè´¹åæ¯å¯è§çã
å®å æ¬äºç®åäºçWindows çç¨æ·å®å ¨ç¹æ§ï¼å¹¶æ´åäºé²ç«å¢ï¼ä»¥ç¨æ¥ç¡®ä¿é¿æ以æ¥ä»¥çå°æ°å¾®è½¯çå®å ¨é®é¢ã
ç±äºå¾®è½¯æå¾å¤ä»¥åæ¯ç±ç¬¬ä¸æ¹æä¾ç软件æ´åå°æä½ç³»ç»ä¸ï¼XPåå°äºçççæ¹è¯ãè¿äºè½¯ä»¶å æ¬é²ç«å¢ãåªä½ææ¾å¨ï¼Windows Media Playerï¼ï¼å³æ¶é讯软件ï¼Windows Messengerï¼ï¼ä»¥åå®ä¸Microsoft Pasportç½ç»æå¡çç´§å¯ç»åï¼è¿é½è¢«å¾å¤è®¡ç®æºä¸å®¶è®¤ä¸ºæ¯å®å ¨é£é©ä»¥å对个人éç§çæ½å¨å¨èãè¿äºç¹æ§çå¢å 被认为æ¯å¾®è½¯ç»§ç»å ¶ä¼ ç»çåç«äºè¡ä¸ºçæç»ã
å¦å¤åå°å¼ºçæ¹è¯çæ¯å®ç产åæ¿æ´»ææ¯ãè¿ä½¿å¾ä¸»æºçé¨ä»¶åå°çå¬ï¼å¹¶å¨è½¯ä»¶å¯ä»¥æ°¸ä¹ 使ç¨åï¼æ¯å¤©ä¸ä¸ªæ¿æ´»å¨æï¼å¨å¾®è½¯çè®°å½ä¸æ·»å ä¸ä¸ªå¯ä¸çåèåºåå·ï¼reference numberï¼ãå¨å ¶å®è®¡ç®æºä¸å®è£ ç³»ç»ï¼æåªæ¯ç®åçæ´æ¢ä¸ä¸ªç¡¬ä»¶ï¼ä¾å¦ç½å¡ï¼é½å°äº§çä¸ä¸ªæ°çä¸ä¹åä¸åçåèåºåå·ï¼é æç¨æ·å¿ é¡»éæ°è¾å ¥å®è£ åºåå·æ¥æ¿æ´»Windows XPç麻ç¦ã
Windows XPçæä½ç³»ç»è¦æ±ï¼æ¨è计ç®æºä½¿ç¨æ¶éé¢ç为 MHz ææ´é«çå¤çå¨ï¼è³å°éè¦ MHz ï¼å个æåå¤çå¨ç³»ç»ï¼ï¼æ¨è使ç¨Intel Pentium/Celeron ç³»åãAMD K6/Athlon/Duron ç³»åæå ¼å®¹çå¤çå¨ï¼æ¨èä½¿ç¨ MB RAM ææ´é«ï¼æä½æ¯æMï¼å¯è½ä¼å½±åæ§è½åæäºåè½ï¼ï¼1.5 GBå¯ç¨ç¡¬ç空é´ï¼Super VGA (x) æå辨çæ´é«çè§é¢éé å¨åçè§å¨ï¼CD-ROMæDVD驱å¨å¨ï¼é®çåMicrosoft é¼ æ æå ¼å®¹çæé设å¤ã
é¶æ²³éºéº
æ¯ç±å½é²ç§æ大å¦ãä¸è½¯å ¬å¸ãèæ³å ¬å¸ã浪潮éå¢åæ°æææå ¬å¸åä½ç å¶çéæºæå¡å¨æä½ç³»ç»ãæ¤æä½ç³»ç»æ¯è®¡åé大æ»å ³ç§ç 项ç®ï¼ç®æ æ¯æç ´å½å¤æä½ç³»ç»çåæï¼ç åä¸å¥ä¸å½èªä¸»ç¥è¯äº§æçæå¡å¨æä½ç³»ç»ã
é¶æ²³éºéº2.0æä½ç³»ç»å®å ¨çå ±å æ¬å®æ¶çãå®å ¨çãæå¡å¨çä¸ä¸ªçæ¬ï¼ç®åçæ¯ç±äºæå¡å¨çç®åèæçãç»è¿æå¨æºæè¿è¡äºæºç 级é´å®è¡¨æï¼é¶æ²³éºéºå®å ¨æä½ç³»ç»ä¸»è¦å为ä¸å±ï¼æåºå±æ¯èªå·±å çâæ¢ä¸åå æ ¸ï¼ä¹ä¸åèææºâçä¸è¥¿ï¼ä»é¶æ²³éºéºå¼åæåä¸ç主è¦ä¸ºä¿è¯å®å ¨æ§ãå®æ¶æ§çæ¹é¢çä»»å¡ï¼å¯èªç±æ¿æ¢å è½½ãï¼ï¼ä¸é¢æ¯ FreeBSD çå æ ¸ï¼æä¸é¢æ¯ Linux å ¼å®¹åºãå¼æ¾ç»å ¬ä¼ä½¿ç¨çç³»ç»ä¸å æ¬æåºå±çä¸è¥¿ãå®å ¨ççé¶æ²³éºéºæ¯å æ ¸æå¤çº¿ç¨çã
æ¶å«æè¢äºä»¶
ããå¨å¹´4ææ¥ç½åDancefireçä¸ç¯ææ¯åææç« ä¸å£°ç§°[1]ï¼éè¿å¯¹éºéºæä½ç³»ç»2.0çæ¬è¿è¡åæ±ç¼ï¼éºéºæä½ç³»ç»ä¸ç¾å½å¼æ¾æºä»£ç çFreeBSD æä½ç³»ç»5.3çæ¬ç¸ä¼¼åº¦å¨%以ä¸ãæ´å¤çè¯æ®æåºï¼éºéºæä½ç³»ç»ä» ä» æ¯å¯¹å¼æºçFreeBSDè¿è¡äºä¸å®çä¿®æ¹ï¼èä¸æ¯æ°é»åªä½æ说ç âä¸å½ç¬ç«ç åæåâåâæ¥æå®å ¨èªä¸»çæçå æ ¸âã
ä¸âä¸æ Linuxâå并
ããå¹´ææ¥ï¼ä¸¤å¤§å½äº§æä½ç³»ç»ââæ°ç¨çâä¸æ Linuxâæä½ç³»ç»å解æ¾åç å¶çâé¶æ²³éºéºâæä½ç³»ç»å¨ä¸æµ·æ£å¼å®£å¸å并[3]ï¼åæ¹ä»åå°å ±å以âä¸æ éºéºâçæ°åçç»ä¸åºç°å¨å¸åºä¸ï¼å¹¶å°å¼ååæ°ä¸¤ç¨çæä½ç³»ç»ã
手把手教你从源码开始编译Magisk APP和依赖项
Magisk是一款用于定制Android的开源工具,适用于Android 5.0及以上设备。它包含了定制Android的基本功能,如root、战略家金盾指标源码引导脚本、SELinux修补、移除AVB2.0/dm-verity/强制加密等。
以下是Magisk编译前的准备步骤:
请注意,由于Magisk项目使用最新版本的Android Gradle插件(AGP),推荐将Android Studio更新至最新版,以防因AGP版本不匹配导致项目导入失败。
接下来,配置步骤如下:
使用Git下载源码时,请确保添加了recurse-submodules参数,以避免在编译时因缺少子模块代码而失败。以Kali Linux虚拟机环境为例,在克隆时若网络不佳导致子模块下载不完全,可通过执行git submodule update -f强制更新。jackson源码解析
编译实例演示如下:
若本文对您有所帮助,请慷慨点赞收藏。我是ZeroFreeze,一名Android开发者,致力于分享大量Android、Linux相关技术知识文章。敬请关注,我们下次再见!
Android-gradle plugin
agp,即Android-Gradle-Plugin的缩写,项目配置主要在根目录下的build.gradle文件中的dependencies中,配置classpath "com.android.tools.build:gradle:xxx"。在根目录的build.gradle文件中配置好agp后,就可以在任意module的build.gradle文件中apply Android提供的各种plugin。常见的有com.android.application和com.android.library。apply了com.android.application的module使用assemblexxx执行构建命令可打出来一个apk,而apply了com.android.library的module产物则是一个aar。apply java的module表示是个纯java的模块,打出的产物是个jar。
基于gradle构建的源码后门原理项目基本结构包括根目录下的settings.gradle,用来配置项目中的子模块,使用include来引入子模块。如果子模块不在项目目录内,则可以在include之后使用project(":xxx").projectDir = new File("...")来指定外部module的路径。项目根目录下还有一个build.gradle文件,用来配置整个项目的基本依赖,如插件依赖,aar依赖的maven仓库地址等。
根目录和每个module中都会有一个gradle.properties文件,用于配置一些key-value。构建脚本文件可以直接使用gradle.properties中的key-value配置,例如配置DEV_MODE=true,可在gradle文件中直接使用if ("true" == DEV_MODE) { xxx}。但需要注意的是,gradle.properties中配置的value会被当作字符串类型,即使写的是数字或true/false,也会被当作字符串处理。同时,配置的开源someip源码key-value被视为常量,不可修改,因此配置KEY的名字时,应使用全大写。
在项目根目录和每个module的gradle.properties文件中配置的key-value存在读范围问题和覆盖问题。子module可以读取本目录和父级目录下的gradle.properties中的key-value,但外部目录不能直接读取子目录下的gradle.properties文件。如果子目录下的gradle.properties文件中有相同的key值,则子目录中的value值将覆盖父级目录文件中的value值。在构建一个源码/aar切换的Andrid gradle项目时,可以通过在根目录的gradle.properties中配置全局参数,如构建用的Andrid SDK版本号、构建工具版本号和最低支持的系统版本号,而每个module的gradle.properties则可以为每个module配置其aar所需要的maven参数。
应用插件源码中,一般来说只有壳module的build.gradle中会apply application插件,用于打出一个apk供用户安装。应用插件的实现类为AppPlugin,继承自AbstractAppPlugin,最终调用basePluginApply方法,DAG源码分析其中重点调用ThreadRecorder创建了三个线程任务。ThreadRecorder#record中的逻辑是通过create方法设置各种id,并使用block.call方法调用write方法,write方法中调用了ProcessProfileWRiter的writeRecord方法,将GradleBuildProfileSpan添加到span队列中,最后在ProcessProfileWriter的finish方法中将相关信息全部写到日志文件中。
BasePlugin中逻辑清晰,threadRecorder.record的逻辑就是调用最后一个lambda参数,包括configureProject、configureExtension和createTaskts。configureProject中创建了AndroidBuilder对象和初始化了DataBindingBuilder成员变量,配置了Java工程应该有的能力,如source、configureSourceSetDefaults、configureOutputDirectoryForSourceSet、createProcessResourcesTask、createCompileJavaTask、configureJavaDoc和configureTest等。
configureBuildNeeded和configureBuildDependents方法分别配置了buildNeeded task和buildDependents task,确保build之后才能执行buildDependents。configureProject方法最后使用gradle.addBuildListener注册了构建监听器,在buildFinished回调中关闭所有进程。
configureExtension创建了buildTypeContainer、productFlavorContainer、signingConfigContainer和buildOutputs四个容器,构建了一个extension对象,并用这个extention创建了variantFactory,为变体配置了buildType、productFlavor、signingConfig和buildOutputs。createTasks方法分为两部分,createTasksBeforeEvaluate构建前的准备工作,createAndroidTasks为真正的构建task。createAndroidTasks方法中,为每个变体调用了createTasksForVariantData方法,判断变体类型后调用taskManager.createTasksForVariantScope(variantScope)为变体配置了众多task,如assembleXXX的相关task,实现多渠道的核心功能。
Android性能优化:ProGuard,混淆,R8优化
使用Java编写的源代码编译后生成了标准的class文件,面临反编译风险,需要进行代码混淆以保护应用安全。ProGuard作为常用的混淆工具,具备压缩、优化、混淆功能。其工作流程包括shrink(缩减)、optimize(优化)、obfuscate(混淆)和preverigy(预验证)四个步骤。通过ProGuard,可以实现代码缩减,移除未使用的类、字段、方法和属性,优化代码结构。
在Android构建中,R8编译器取代了ProGuard进行代码优化与混淆。R8通过检测代码中未使用的部分,并移除它们来实现代码缩减。例如,若项目依赖多个库,但仅使用其中一部分,R8会检测应用代码入口(如启动的第一个Activity),构建访问图,并移除未访问的代码。
在R8配置中,通过proguard-rules.pro文件决定保留哪部分代码。R8支持来自不同来源的配置文件,如自定义配置、AGP生成的规则、AAR或JAR库中包含的规则,以及AAPT2生成的保留规则。通过minifyEnabled属性设置为true,可启用R8的代码缩减功能。需要注意的是,R8对反射调用和JNI调用的检测不足,可能需要在配置中进行额外处理以避免移除必要的代码。
R8在代码缩减后进行资源缩减,以去除不使用的资源文件。开启代码缩减并使用shrinkResources属性即可进行资源缩减。同时,可以使用tools:keep或tools:discard对特定资源文件进行保留或删除。
代码混淆通过替换类名、方法名和属性名,使反编译变得困难。混淆规则和模板的添加有助于保护应用安全。
R8进一步优化代码,通过深度分析移除更多未使用的代码,或重写代码以简化结构。优化点可参考Jake Wharton的R8优化博文。
总结,R8编译器通过代码缩减、资源缩减、代码混淆和代码优化等操作,全面提升了APK文件的性能。为了深入了解性能优化,可获取相关核心笔记,内容涵盖启动优化、内存优化、UI优化、网络优化、Bitmap优化与压缩、多线程并发优化、数据传输效率优化、体积包优化,以及性能监控框架和框架学习手册。这些资源将帮助开发者全面掌握性能优化技术。