Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
xposedÔ´Âë±àÒëÓ뼯³É
 
  3249  次浏览      30
 2019-3-6  
 
±à¼­ÍƼö:
±¾ÎÄÀ´×Ô¼òÊé,±¾ÎÄдÁËÁíÒ»ÖÖxposed¿ò¼ÜµÄʹÓð취£º±àÒëxposedÔ´Â룬Éú³ÉxposedÏà¹ØµÄÓ¦ÓóÌÐòºÍso¿âµÈÎļþ£¬È»ºó½«ÕâЩӦÓóÌÐòºÍso¿âÎļþ¼¯³Éµ½androidϵͳÖУ¬ÖØÐ´ò°üÉú³É¾µÏñÎļþ£¬ÉÕÈëÊÖ»ú¡£

xposed installer3.0°æ±¾Ö®ºó£¬´«Í³µÄxposed¿ò¼ÜµÄʹÓ÷½·¨ÊÇ´Ó¹ÙÍøÉÏÏÂÔØxposed installer.apkÒÔ¼°xposed-arm-sdk22.zip°ü¡£È»ºó¾ßÌåµÄʹÓ÷½·¨Êǽ«xposed installer.apk°²×°µ½ÊÖ»ú£¬È»ºóÔÚÊÖ»úÉϽøÈërecoveryģʽ£¬½«ÏÂÔØµÄxposed-arm-sdk22.zipË¢ÈëÊÖ»ú¡£Íê³ÉÖ®ºóxposed installer²Å¿ÉÒÔÕý³£Ê¹Óá£

ÎĵµÖ÷ÒªÓÃÓÚxposedÔ´ÂëµÄ±àÒëÒÔ¼°xposedµÄ¼¯³É¹¤×÷¡£ÔÚ±àÒë¹ý³ÌÖУ¬Ö÷ÒªÊÇͨ¹ýXposed Tools½øÐбàÒ룻ÔÚ¼¯³É¹ý³ÌÖУ¬½«xposedµÄ±àÒëÖ®ºóÉú³ÉµÄÎļþÌæ»»µ½androidϵͳÖУ¬´ò°üÖ®ºóÖØÐÂÉú³É¾µÏñÎļþ£¬½«¾µÏñÎļþË¢Èëµ½ÊÖ»ú²é¿´ÈÕÖ¾ÐÅÏ¢À´ÅжÏÊÇ·ñ³É¹¦¡£

ÓÉÓÚÔÚ¼¯³É¹ý³ÌÖÐÊǽ«xposedµÄ±àÒëÉú³ÉÎļþ´ò°üµ½android5.1ϵͳÖÐÖØÐÂÉú³É¾µÏñÎļþ£¬È»ºó½«¾µÏñÎļþÉÕÈëµ½nexus5ÊÖ»ú£¬ËùÒÔÐèÒª¶ÔandroidÔ´Âë½øÐбàÒ룬²¢ÔÚÖ´ÐÐlunchÑ¡Ôñ¶ÔÓ¦Ô´Âë´úºÅʱѡÔñnexus5¶ÔÓ¦µÄandroidÔ´Âë´úºÅ¡£

»·¾³ÅäÖÃ

1.Ô´Âë°æ±¾

ÔÚÕû¸ö¹ý³ÌÖУ¬Ê¹Óõ½ÁËandroidϵͳԴÂëºÍxposedÔ´Âë¡£

androidϵͳԴÂë°æ±¾ÊÇ LYM48M

²é¿´Ô´Âë°æ±¾µÄ·½·¨£ºÔÚÔ´Âë·¾¶Ï£¬²é¿´/build/core/build_id.mkÎļþÖеÄBUILD_ID¼´ÎªÔ´ÂëµÄ°æ±¾ºÅ¡£ÈçÏÂͼËùʾ¡£

BUILD ID

xposedÔ´Âë°æ±¾ÐèÒªÊÇandroid5.1Ô´Âë¶ÔÓ¦µÄ°æ±¾¡£¿ÉÒÔÔÚgithubÉϽøÐÐÏÂÔØ£¬¾ßÌåµÄÏÂÔØ·½·¨ºóÎÄÖлáÏêϸ˵Ã÷¡£

2.ϵͳ»·¾³

µçÄÔϵͳÊÇubuntu 14.04

jdk°²×°µÄÊÇopenjdk-7-jdk¾ßÌåÐÅÏ¢ÈçÏÂͼËùʾ

java°æ±¾ÐÅÏ¢

fas

android5.1Ô´Âë±àÒëÐèҪʹÓÃopenjdk£¬²»ÔÙʹÓÃoracleµÄjdk¡£

3.²âÊÔ»ú»·¾³

²âÊÔ»úʹÓõÄÊÇnexus 5ÊÖ»ú£¬nexus£µ¶ÔÓ¦µÄandroidÔ´Âë´úºÅÊÇaosp_hammerhead_userdebug

ÎĵµÖ÷Ҫͨ¹ýÈçÏÂÁù¸ö²½ÖèÍê³ÉxposedÔ´ÂëµÄ±àÒëºÍ¼¯³É

±àÒëandroidÔ´Âë

½«android 5.1µÄimgÎļþË¢ÈëÊÖ»ú

±àÒëXposedBridge

ʹÓÃXposed Tools

½«xposed¿ò¼Ü¼¯³Éµ½Androidϵͳ

¼¯³É²âÊÔ

Ò»¡¡±àÒëandroidÔ´Âë

ΪÁ˽«xposed¿ò¼Ü¼¯³Éµ½nexus5ÊÖ»ú£¬ÐèÒªÏȱàÒënexus5ÊÖ»ú¶ÔÓ¦µÄandroidÔ´Âë¡£¾ßÌå²½ÖèÈçÏÂ

1.ÏÂÔØandroid 5.1Ô´´úÂë

ʹÓÃrepoÏÂÔØandroid5.1Ô´´úÂë¡£

2.³õʼ»¯±àÒë»·¾³

ÔÚÔ´ÂëĿ¼ÏÂÔËÐÐsource ./build/envsetup.sh¡£ÈçͼËùʾ¡£

envsetup

3.Ñ¡Ôñ°æ±¾

Ö´ÐÐÃüÁîlunch£¬Ñ¡ÔñºóÐøÑé֤ʱʹÓõÄÊÖ»ú¶ÔÓ¦µÄ°æ±¾¡£

ÓÉÓÚÎÒÔÚÑéÖ¤xposed±àÒë½á¹ûµÄʱºòÊÇÔÚnexus£µÉϽøÐеģ¬ËùÒÔÔÚÑ¡Ôñ°æ±¾µÄʱºòÑ¡ÔñµÄÊÇnexus£µ¶ÔÓ¦µÄ°æ±¾¡£

lunch

nexus5¶ÔÓ¦µÄÊÇaosp_hammerhead_userdebug

4.±àÒëandroidÔ´Âë

½Ó×ÅÔÚandroidÔ´ÂëĿ¼ÏÂÖ´ÐÐmakeÃüÁî±àÒëÔ´Âë¡£µÚÒ»´Î±àÒëandroidÔ´Â뽨ÒéʹÓÃmakeÃüÁî½øÐбàÒ롣ΪÁ˼ӿì±àÒëËÙ¶È£¬¿ÉÒÔ¿ª¶à¸öÏ߳̽øÐбàÒë¡£ÀýÈçmake -j16ÃüÁ¿ª16Ï̱߳àÒëandroidÔ´Âë¡£

.±àÒëandroidÔ´Âë

make±àÒëandroidÔ´ÂëµÄËùÓÐÄ£¿é£¬mmm½ö±àÒëÖ¸¶¨µÄÄ£¿é¡£ÔÚʹÓÃmmm±àÒëÖ¸¶¨Ä£¿é֮ǰ£¬ÐèÒª±£Ö¤Ö®Ç°Ê¹ÓÃmakeÃüÁî¶ÔÕû¸öÔ´´úÂë½øÐбàÒë¡£

±àÒëºó»á½«±àÒë½á¹û·Åµ½outÎļþ¼ÐÏ¡£

±àÒë½á¹û

ÆäÖÐimgÎļþ·¾¶ÊÇout/target/product/hammerheadÏ¡£

imgÎļþ

¶þ¡¡½«android£µ.1µÄimgÎļþË¢ÈëÊÖ»ú

1.½øÈëfastbootģʽ

ÖÕ¶ËÖ´ÐÐsudo adb reboot bootloaderÃüÁÊÖ»ú½øÈëfastbootģʽ¡£

2.½«imgÎļþË¢Èëµ½ÊÖ»ú

ÔÚÕâÒ»²½»á½«boot.img,userdata.img,cache.img,system.img¡£

ÒÔsystem.imgΪÀý¡£ÔÚ½øÈëfastbootģʽ֮ºó£¬ÔÚÖն˼ÌÐøÖ´ÐÐÃüÁî

fastboot flash system system.img

´´½¨system·ÖÇø£¬½«system.imgÎļþË¢Èësystem·ÖÇøÖС£ÓÉÓÚfastboot¶ÔË¢ÈëµÄimgÎļþ´óСÓÐÏÞÖÆ£¬ËùÒÔ¿ÉÄÜ´æÔÚÒòΪimgÎļþÌ«´óµ¼ÖÂË¢Èëʧ°Ü£¬ÕâÊÇ¿ÉÒÔÌí¼ÓÁË-S 50M²ÎÊý£¬½«system.img·Ö³ÉС¿éÀ´Ë¢Èëµ½ÊÖ»ú£¬ÍêÕûµÄÃüÁîÈçÏÂ

fastboot -S 50M flash system system.img

ÔËÐнá¹ûÈçÏÂͼËùʾ¡£

½«system.imgË¢Èëµ½ÊÖ»ú

´ÓͼÖпÉÒÔ¿´µ½£¬Ìí¼ÓÁ˲ÎÊýÖ®ºó£¬·Ö³ÉÁËһЩС¿é½«system.imgÎļþË¢Èëµ½ÊÖ»ú¡£

3.ÖØÆôÊÖ»ú

ÔÚ½«imgÎļþÈ«²¿Ë¢Èëµ½ÊÖ»úÖ®ºóÖ´ÐÐfastboot rebootÃüÁî£¬ÖØÐÂÆô¶¯ÊÖ»ú£¬Ö®ºó¿ÉÒÔ¿´µ½ÊÖ»úÏÖÔÚµÄϵͳµÄandroid5.1ϵͳ¡£Ë¢»ú³É¹¦

Èý¡¡±àÒëXposedBridge

1.ÏÂÔØXposedBridgeµÄÔ´´úÂë

´ÓgithubÉÏÏÂÔØXposedBridge¡£µã»÷ÓÒ²àÏÂÔØ

Xposed Bridge

2.±àдAndroid.mkÎļþ

Android.mkÊÇAndroidÌṩµÄÒ»ÖÖmakefileÎļþ£¬ÓÃÀ´Ö¸¶¨ÖîÈç±àÒëÉú³Éso¿âÃû¡¢ÒýÓõÄÍ·ÎļþĿ¼¡¢ÐèÒª±àÒëµÄ.c/.cppÎļþºÍ.a¾²Ì¬¿âÎļþµÈ¡£±àдandroid.mkÎļþ£¬½«±àÒëÐèÒªµÄÔ´´úÂ룬±àÒëÉú³ÉµÄ½á¹ûÐÎʽµÈÐÅÏ¢¸æÖªndk build±àÒëϵͳ¡£Android.mkÎļþÄÚÈÝÈçÏÂËùʾ¡£

Android.mk

3.ÒÆ¶¯Xposed Bridge¹¤³Ì

½«Android.mkÎļþ·Åµ½XposedBridgeÔ´ÂëĿ¼Ï£¬È»ºó½«Õû¸ö¹¤³Ì·Åµ½AndroidÔ´ÂëĿ¼Ï¡£ÈçÏÂͼËùʾ¡£

xposedbridge

4.±àÒëXposed Bridge

ÒòΪÔÚǰ±ß±àÒëandroid5.1Ô´ÂëµÄʱºò£¬ÒѾ­Ê¹ÓÃmakeÃüÁî½øÐÐÁËÒ»´Î±àÒ룬ËùÒÔÔÚÕâÀïÖ±½ÓʹÓÃmmmÃüÁî±àÒëXposedBridgeÄ£¿é¡£ÔÚandroidÔ´ÂëÏÂʹÓÃmmmÃüÁî±àÒëxposedbridgeÄ£¿é¡£ÃüÁîÐÎʽΪmmm [Ä£¿é·¾¶]¡£

±àÒëXposedBridge

/home/sakura/Android-5.1.1-r14-compiled/XposedBridge-art/ÊÇÎÒµçÄÔÉÏXposed BridgeÔ´Âë·¾¶

±àÒë³É¹¦Ö®ºó£¬Éú³ÉXposedBridge.jar°ü£¬´æ·ÅÔÚ/out/target/product/hammerhead/system/framework/Îļþ¼ÐÏ¡£

ËÄ¡¡Ê¹ÓÃxposed tools

1.ÏÂÔØxposed tools

ÔÚgithubÉÏÏÂÔØxposed toolsÎļþ¡£µã»÷xposed tools½øÈëµ½githubÒ³Ãæ£¬ÈçÏÂͼ

xposedtoolsÏÂÔØ

µã»÷ÉÏͼÖкìÉ«²¿·ÖÑ¡ÔñµÄ°´Å¥£¬ÏÂÔØxposed toolsµÄzip°ü¡£

2.ÅäÖÃbuild.confÎļþ

build.confÎļþÊÇÒ»¸öÅäÖÃÎļþ£¬»á±»build.pl¶ÁȡʹÓá£buildÎļþÖÐÖ÷Òª¶¨ÒåÁ˱àÒëxposedµÄ½á¹ûµÄ´æ·Å·¾¶£¬androidÔ´ÂëµÄ·¾¶£¬»¹ÓÐһЩ°æ±¾ÐÅÏ¢Ö®ÀàµÄÖµ¡£

½«ÏÂÔØµÄzip°ü½âѹ£¬ÔÚÎļþ¼ÐÏ´´½¨build.confÎļþ¡£È»ºó±à¼­build.confÎļþ¡£build.confÄÚÈÝÈçÏÂͼËùʾ¡£

[General]
outdir = /home/xposed/out
[Build]
version = 65(custom build by author )
makeflags = -j16
[AospDir]
22 = /home/Android-5.1.1

 

outdirÖ¸ÏòµÄ·¾¶ÊÇxposed±àÒëÖ®ºóÉú³ÉµÄÎļþµÄ´æ·Å·¾¶¡£

versionµÄÖµºÍºó±ßµÄ²ÎÊýÊÇ×Ô¼ºÉèÖõġ£±àÒëÖ®ºó»áдÈëµ½xposed.propÎļþÖС£

makeflagsÊÇÉèÖÃÔÚºó±ß±àÒë¹ý³ÌÖÐʹÓõÄÏß³ÌÊý¡£

AospDirÖ¸ÏòµÄ·¾¶ÊÇandroidÔ´Âë´æ·ÅµÄ·¾¶£¬Ç°±ßµÄÖµÊÇÔ´Âë¶ÔÓ¦µÄSDKµÄ°æ±¾ºÅ¡£ÕâÀïÎÒÖ¸ÏòµÄÊÇandroid5.1.1µÄÔ´Â룬¶ÔÓ¦µÄandroid sdkµÄ°æ±¾ÊÇ22¡£

3.Ìæ»»Îļþ

ÔÚ½øÐÐÎļþÌæ»»Ö®Ç°£¬Ç뽫±»Ìæ»»µÄÎļþ×öÒ»¸ö±¸·Ý£¬±ãÓÚÒÔºó»Ö¸´Ê±Ê¹ÓÃ

3.1 ÏÂÔØxposedÏà¹ØÎļþ

´ÓgithubÉϿˡxposedÁ½¸ö²Ö¿âµ½±¾µØ¡£·Ö±ðÊÇxposedºÍart¡£µã»÷ÏÂÔØzip°ü£¬½âѹѹËõ°üµÃµ½xposedÎļþ¼ÐºÍartÎļþ¼Ð¡£xposedÎļþ¼Ð°üÀ¨xposedÐÞ¸ÄÖ®ºóµÄapp_processµÈÓ¦ÓóÌÐòºÍlibxposed_*.soµÈ¿âÎļþµÄÔ´Â룻artÎļþ¼ÐÖ÷Òª°üÀ¨xposedÐÞ¸ÄÖ®ºóµÄartÐéÄâ»úµÄÎļþ¡£

ÔÚÏÂÔØartʱ£¬ÒªÑ¡Ôñandroid 5.1¶ÔÓ¦µÄart·ÖÖ§¡£ÈçÏÂͼºìÉ«²¿·Ö

artÏÂÔØ

3.2 Ìæ»»Îļþ

ÓÃ3.1ÖÐÏÂÔØµÄartÎļþ¼ÐÌæ»»/home/Android-5.1.1Ŀ¼ÏµÄartÎļþ¼Ð¡£

Ìæ»»artÎļþ¼Ð

½«3.1ÖÐÏÂÔØµÄxposedÎļþ¼ÐÒÆ¶¯µ½/home/Android-5.1.1/frameworks/base/cmds/Îļþ¼ÐÏ¡£

Ìæ»»xposedÎļþ¼Ð

ÔÚbuild.confÎļþÖÐoutdirĿ¼Ï´´½¨Ò»¸öjavaÎļþ¼Ð£¬È»ºó½«µÚÈý²¿·ÖÖÐÉú³ÉµÄXposedBridge.jar°ü·Åµ½javaÎļþ¼ÐÏ¡£ÈçÏÂͼËùʾ¡£

ÒÆ¶¯XposedBridge.jar

4.ʹÓÃbuild.pl±àÒëxposedÔ´Âë

build.plÎļþÔÚxposed toolsÎļþ¼ÐÏ¡£ÔÚÎļþÖÐÓжÔbuild.plÎļþµÄ²ÎÊýµÄÉèÖùæÔòµÈÐÅÏ¢£¬ÈçÏÂËùʾ

build.pl

´ÓÉÏͼ¿ÉÒÔ¿´µ½build.plÖ÷Òª¿ÉÒÔÍê³ÉµÄ¹¤×÷ÓÐËĸö£¬·Ö±ðÊDZàÒëÉú³ÉxposedµÄ¿ÉÖ´ÐгÌÐòºÍ¿âÎļþ£¬½«±àÒëÖ®ºóµÄÎļþ¿½±´µ½ÅäÖÃÎļþÖ¸¶¨µÄÊä³ö·¾¶Ï£¬´´½¨xposed.propÎļþ£¬´´½¨flashable ZIPÎļþ¡£ÔÚ²ÎÊýÖпÉÒÔʹÓÃ-t Õë¶ÔÖ¸¶¨µÄÄ¿±ê½øÐд´½¨¡£ÔÚxposed toolsĿ¼ÏÂÔËÐÐ

./build.pl -t arm:22

build arm files for SDK22(¶ÔÓ¦µÄÊÇAndroid5.1ϵͳ)

ÔÚÖ´Ðйý³ÌÖУ¬¿ÉÄÜ»áÌáʾȱÉÙһЩÒÀÀµ°ü£¬ÀýÈç¿ÉÄÜ»áȱÉÙConfig::IniFiles£¬Ê¹ÓÃapt-cache search Config::IniFilesËÑË÷£¬°²×°È±Éٵİü¼´¿É¡£

5.½á¹û

build.pl -tÔËÐнáÊøÖ®ºó£¬»á½«Éú³ÉµÄxposedµÄ¿ÉÖ´ÐгÌÐòºÍso¿âµÈÎļþ·ÅÈëµ½build.confÅäÖÃÎļþÖÐÖ¸¶¨µÄÊä³öĿ¼Ï¡£°üÀ¨libÎļþ¼ÐϵÄÎå¸öso¿âºÍbinÎļþ¼ÓϵÄËĸö¿ÉÖ´ÐгÌÐòÒÔ¼°Ò»¸öÅäÖÃÎļþ¡£ÈçÏÂͼËùʾ¡£

xposed½á¹û

Îå¡¡½«xposed¿ò¼Ü¼¯³Éµ½Androidϵͳ

1.Ìæ»»Îļþ

ÓõÚËIJ¿·ÖÖÐÉú³ÉµÄbinÎļþ¼ÐºÍlibÎļþ¼ÐϵÄÎļþÌæ»»Android-5.1.1/out/target/product/hammerhead/system/Îļþ¼ÐϵÄbinÎļþºÍlibÎļþÀïµÄÏàͬµÄÎļþ¡£ÐèҪעÒâµÄÊÇÓÃxposed±àÒëÉú³ÉµÄapp_process32_xposedÌæ»»system/binÎļþ¼ÐϵÄapp_process32

2.ÒÆ¶¯Îļþ

½«xposed.propÎļþÒÆ¶¯µ½systemÎļþ¼ÐÏ¡£

ÒÆ¶¯xposed.prop

3.ÖØÐÂÉú³É¾µÏñÎļþ

Ìæ»»Íê³ÉÖ®ºóÔÚandroidÔ´ÂëĿ¼ִÐÐÒ»±é

source ./build/envsetup.sh
lunch
make snod

 

make snodÃüÁîµÄ×÷ÓÃÊÇÖØÐÂÉú³É¾µÏñÎļþ¡£

Áù¡¡¼¯³É²âÊÔ

1.½«ÐÞ¸ÄÖ®ºóµÄimgÎļþË¢ÈëÊÖ»ú

¾ßÌå²½ÖèÇë¿´µÚ¶þ²¿·Ö

2.²é¿´½á¹û

ÖØÆôÊÖ»ú£¬×¥È¡ÈÕÖ¾£¬²é¿´xposedbridge.jar°üÊÇ·ñ³É¹¦µ¼Èë¡£

ÈÕÖ¾²é¿´ÃüÁî

adb logcat | grep -i xposed

   
3249 ´Îä¯ÀÀ       30
Ïà¹ØÎÄÕÂ

Éî¶È½âÎö£ºÇåÀíÀôúÂë
ÈçºÎ±àд³öÓµ±§±ä»¯µÄ´úÂë
ÖØ¹¹-ʹ´úÂë¸ü¼ò½àÓÅÃÀ
ÍŶÓÏîÄ¿¿ª·¢"±àÂë¹æ·¶"ϵÁÐÎÄÕÂ
Ïà¹ØÎĵµ

ÖØ¹¹-¸ÄÉÆ¼ÈÓдúÂëµÄÉè¼Æ
Èí¼þÖØ¹¹v2
´úÂëÕû½àÖ®µÀ
¸ßÖÊÁ¿±à³Ì¹æ·¶
Ïà¹Ø¿Î³Ì

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì