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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Model Center   Code  
»áÔ±   
   
 
     
   
 ¶©ÔÄ
  ¾èÖú
Atlas²å¼þ¿ò¼Ü¼¯³É×ܽá
 
×÷Õßêdzƣº²Ýò··É
  2151  次浏览      32
2020-11-16
 
±à¼­ÍƼö:
±¾ÎÄÖ÷Òª½éÉܵÄÊÇ×÷Õ߼Ǽ¼¯³ÉAtlasµÄ¹ý³ÌºÍÓöµ½µÄÎÊÌâÓë×ܽᣬϣÍûÄܶÔÄúÓÐËù°ïÖú¡£
±¾ÎÄÀ´×ÔÓÚ¼òÊ飬ÓÉ»ðÁú¹ûÈí¼þAlice±à¼­¡¢ÍƼö¡£

¼òµ¥¼Ç¼µ±ÐèÒªÊÖ¶¯·ÖÅäbunldeµÄpackageIDʱµÄ·½·¨

²Î¿¼²å¼þÔ´Âë

Ô­À´ÒÔΪ²å¼þµÄpackageIDÊǸù¾Ý²å¼þµÄÒýÈë˳Ðò¾ö¶¨µÄ£¬ËùÒÔΪÁ˲»³öÏÖÐ©Ææ¹ÖµÄÎÊÌ⣬һÔÙ¶£Öö²»Òª¸Ä±ä²å¼þÒýÈëµÄ˳Ðò£¬ÐµIJå¼þÒ²Ö»ÄÜ·ÅÔÚºóÃæ(Ö÷ÒªÊÇûÕÒµ½ÊÖ¶¯·ÖÅäidµÄ·½Ê½£¬ÎĵµÀïÓÐ䵫ÊDz¢²»Çå³þ)¡£µ«ÊÇ¿´Ô´Âëºó±È½ÏÇåÎúÁË¡£Æäʵ²¢Ã»ÓÐÑϸñ°´ÊÖ¶¯»¹ÊÇ×Ô¶¯·ÖÅäÀ´Çø·Ö£¬ÒòΪÈç¹ûÄãÖ»¸øÄ³¸ö²å¼þ·ÖÅäidÒ²ÊÇ¿ÉÒԵġ£Ã»ÓÐÊÖ¶¯·ÖÅäµÄ²å¼þ¾Í»á×Ô¶¯¸øÒ»¸ö£¬µ±È»²»»áÖØ¸´¾ÍÊÇÁË¡£¶øÇÒ×Ô¶¯·ÖÅäµÄʱºò»á¸ù¾Ý²å¼þµÄΨһ±êʶ(groupid+artifactId)×öÒ»¸öÅÅÐò£¬ËùÒԺͲå¼þÒýÓõÄ˳ÐòÒ²Î޹ء£×ܵÄÀ´Ëµ×Ô¶¨ÒåidÓÐÈýÖÖ·½Ê½£¬Ò»ÖÖÊÇÔÚ²å¼þµÄmoduleÀï¼ÓÒ»¸öcustomPackageID.txtÎļþ£¬ÀïÃæÖ±½Ó·ÅÊý×Öid.µÚ¶þÖÖÊÇÔÚhostÏîÄ¿µÄgradleÖеÄaltasÅäÖò¿·Ö¼ÓpackageIdFile,¶ÔÓ¦ÖµÊÇÒ»¸öÎļþ·¾¶£¬ÄÚÈÝΪgroupid:artifactId=numberµÄ¸ñʽ£¬¿ÉÅä¶à¸ö²å¼þ¡£µÚÈýÖÖÊÇÖ±½ÓÔÚhostÏîÄ¿Àï¼ÓÒ»¸öpackageIdFile.propertiesÎļþ,ÄÚÈݸñʽºÍµÚ¶þÖÖ·½Ê½Ò»Ñù¡£ÈýÖÖ·½Ê½ÓÅÏȼ¶ÊǵÝÔöµÄ¡£×îºóûÓÐÅäÖõIJå¼þ»á´ÓminPackageId(ÅäÖÃ35)¿ªÊ¼ÕÒÒ»¸öû±»Óõ½µÄ¡£ßÀßÀßÀ¡£¡£ÒÔÉ϶¼ÊÇ´Ó´úÂëÉÏ¿´µÄ½áÂÛ.µÚÒ»ÖÖûÊÔ£¬µÚÈýÖÖÎÞЧ£¬Ó¦¸ÃÊÇÀí½âµÄ²»¶Ô£¬¿ÉÄܲ»ÊÇͨ¹ýpropertiesÎļþ·½Ê½¡£µÚ¶þÖÖ·½Ê½ÊÇ¿ÉÐеġ£

1.Ô­ÏÈûÓÐÕÒµ½ÒÔ×ø±ê·½Ê½(awb)ÒýÓòå¼þÕýÈ·´ò¿ª×ËÊÆ(Ö÷ÒªÊÇÒòΪ²å¼þÖÐÓе¥¶ÀµÄ°üÒÀÀµÎÊÌ⣬±¾ÒÔΪ²å¼þµ¥¶ÀÒÀÀµµÄ°ü»á°Ñ×ÊÔ´ºÍ´úÂë´ò°üµ½awbÖУ¬×îºó·¢ÏÖÊÇ´òµ½ÁËapkÀïµÄ²å¼þÉú³ÉÎļþsoÖÐ)£¬ÏÖ¸ÄÕý¡£ Ê×ÏÈÈç¹ûij¸ö°üÖ»ÊÇÔÚÒ»¸ö²å¼þÖÐÒýÓõ½£¬²¢²»ÐèÒªÔÚhostÖÐÔ¤ÏÈÒýÓÃÕâ¸ö°ü£¬Ö»ÊÇÔÚÉÏ´«awbµ½²Ö¿âʱpomÖеÄÒÀÀµÐèÒªÅäÖÃÕýÈ·¡£Æä´Î£¬ÒýÓòå¼þʱ¿ÉÒÔÓÃcompile»òÕßbundleCompile¶¼¿ÉÒÔ(¸öÈ˸оõÓÃbundleCompileºÃµã£¬ÄÜÇå³þÖªµÀËü¾ÍÊǸö²å¼þ)£¬²¢ÇÒ²»ÄÜÖ±½ÓÓÃÀàËÆbundleCompile('com.test:secondbundle:1.0.0@awb')·½Ê½£¬ÕâÑù²»»áÒÀÀµµ½Ëü×Ô¼ºµÄÒÀÀµ£¬ÒªÃ´Ö±½ÓÓà bundleCompile('com.test:secondbundle:1.0.0') £¬ÒªÃ´ÊÖ¶¯ÅäµÝ¹éÒÀÀµbundleCompile('com.test:secondbundle:1.0.0@awb'){

transitive =true

}

ºÍdemoÀïÅäÒÀÀµatlas-coreʱһÑù

Ö±½Óд³Écompile('com.taobao.android:atlas_core:5.0.6-rc29')Ò²ÊÇ¿ÉÒÔµÄ

2.ÐÞ¸ÄÁ˲å¼þͨ¹ýmaven publishÉÏ´«ÖÁ²Ö¿âʱpomÖÐûÓÐÒÀÀµÐÅÏ¢µÄÎÊÌâ.

Git:github.com/alibaba/atlas

1.gradleÅäÖÃ

AtlasµÄgradleÅäÖÃÓ¦¸ÃÊÇ×îÖØÒªÒ²ÊÇÐí¶àÈËÒ»Ö±À§»óµÄ²¿·Ö£¬¿ªÊ¼ÎÒÒ²²»ÊǺÜÃ÷°×£¬ÏÖÔÚ¿ÉÄÜҲûÍêȫŪ¶®£¬µ«ÊǼ¯³ÉÓ¦¸ÃÊÇûÎÊÌâÁË¡£¹ÙÍøºÍgitÉ϶¼Óм¯³ÉÎĵµ£¬ÕâÀïÖ»ÊǼòµ¥ÁÐһϣ¬²¢¶ÔһЩ֮ǰ²»Ì«Àí½âµÄÅäÖÃ×ö½âÊÍ¡£

ÒýÈëAtlasµÄ²å¼þ

ÕâÀï²»ÐèÒªÔÚÒýÈëandroid²å¼þ£¬ÀïÃæÓ¦¸Ã°üº¬Á˵±Ç°ÄÜÊÊÅäµÄ°æ±¾¡£»¹ÐèҪעÒâµÄÊÇatlas²å¼þÒ»Ö±ÔÚ¸üУ¬±Ï¾¹²Å·Å³öÀ´ÎÊÌâͦ¶à£¬ËùÒÔ¾¡Á¿ÓÃ×îеġ£

app(host/main bundle)ÖÐgradleÅäÖ᣷ּ¸¸ö²¿·Ö£º

1.»ù±¾ÅäÖÃ

a.ÕâÀï½ö½öÊÇÒýÈëapplicationºÍatlas£¬²¢ÇÒ¶ÔһЩ»·¾³×öÅäÖá£

b.Èç¹ûÏîÄ¿ÀïÃæ·Ö³öÀ´µÄmodule¶à½¨Òé¸÷ÖÖÅäÖÃдµ½Ò»¸öµ¥¶ÀµÄµØ·½¹ÜÀí£¬¿ÉÒÔ±ÜÃâºóÆÚÐ޸ĵÄʱºòÂé·³Ò»¶Ñ¡£

2.ÒÀÀµÅäÖÃ

awb:atlas×Ô¼º¶¨ÒåµÄÒ»ÖÖ¸ñʽ£¬¿ÉÒÔÖ±½ÓÀí½âΪÆÕͨµÄaar

hostµÄdependency

a.һЩatlas»ù±¾ÒÀÀµ£¬½ö½öÊÇhostÐèÒªÒÀÀµ£¬²å¼þmodule²»ÐèÒª

b.ÒýÈëһЩ¹«¹²µÄmodule,¸ù¾Ý×Ô¼ºÐèÒª£¬Èç¹ûÊÇÓÐÁ½¸öÒÔÉϲå¼þÓõ½µÄ¾Í¿ÉÒԷŵ½hostÀïÃæ£¬Èç¹û½öÊÇÒ»¸ö²å¼þÖÐÓõ½µÄÄ£¿é¿ÉÒÔµ¥¶À·Åµ½²å¼þÖÐÒýÓá£

c.ËùÒýÓõIJå¼þbundle.½¨Ò黹ÊǰÑbundleÒ²´ò°ü·¢²¼µ½²Ö¿âÖÐͨ¹ý×ø±ê(group:artifactid:version)µÄ·½Ê½ÒýÓá£ÕâÀï²»ÒªÔÚºóÃæ¼Ó@awb,·ñÔò²å¼þ²»»áÒÀÀµµ½×Ô¼ºpomÖеÄdependencies(¿´¶¥²¿2017/04/13 ¸üÐÂÖеÄ1).

3.host´ò°ü·¢²¼ÅäÖÃ

ÒòΪ×ö¶¯Ì¬¸üÐÂʱÊÇÐèÒªÀúÊ·°æ±¾×ö¶Ô±ÈµÄ£¬ËùÒÔhost´ò°üºóÐèÒª·¢²¼µ½±¾µØmavenÖйÜÀí(ÒÔawb·½Ê½ÒýÓòå¼þʱҲÐèÒª°Ñ²å¼þµÄawb·¢²¼¹ÜÀí)

maven·¢²¼ÅäÖÃ

a.·¢²¼Ê±µÄgroupºÍversionÅäÖã¬artifactidдËÀµÄAP-debug,¿ÉÒÔ¸Ä

b.ÒýÈëmaven²å¼þ£¬²¢ÅäÖ÷¢²¼Ê±µÄ²Ö¿âλÖúÍÒª·¢²¼µÄ¶«Î÷(*.apÎļþ£¬ÓÃÀ´ºóÃæ´ò°üpatchʱ×ö»ù×¼°ü)¡£²Ö¿âλÖÿÉÒÔÊǹ«Ë¾×Ô¼ºµÄmaven¿â£¬Ò²¿ÉÒÔÊDZ¾µØ¿â¡£

c.ÆäÖÐapVersionºóÃæ½âÊÍ´ò°üpatchÅäÖÃʱÓõÄ

4.atlas²å¼þÅäÖÃ

a. autoStartBundlesÎÒÀí½âµÄÊÇÔÚappÆô¶¯Ê±¾Í¼ÓÔØµÄ²å¼þbunlde£¬Èç¹ûÄãÒýÓÃÁ˼¸¸ö²å¼þ²¢Ã»ÓÐÅäΪ×ÔÆô¶¯£¬ÄǸù¾ÝÎĵµÖ»ÄÜͨ¹ý´¥·¢²å¼þÖÐComponentµÄ¼ÓÔØ¶øÆô¶¯²å¼þ£¬±ÈÈçstartÒ»¸öbundleÖеÄactivity»òÕßservice¡£»òÕßÊÇͨ¹ýÊÖ¶¯µ÷ÓôúÂë¼ÓÔØÒ»¸ö²å¼þ(http://atlas.taobao.org/docs/guide-for-use/guide_for_bundle.html).

b.outOfApkBunldesÊÇÅäÖÃһЩ²»ÐèÒª´ò°üµ½apkµÄ²å¼þ£¬¾ÍÏñdemoÖеÄremoteBundle¡£ÏÂͼ

´ò°ühostºóµÄÊä³ö½á¹¹

ÕâÖÖ²å¼þÖÐÔÚ´ò°üÉú³Éapkºó²»»áÖ±½Ó±£´æµ½apkÖУ¬¶øÊÇ·ÅÈëµ¥¶ÀµÄÎļþ¼Ð£¬È»ºó¸ù¾Ý×Ô¼ºµÄÐèÇópush»òÕßdownµ½ÊÖ»úÉϵÄÖ¸¶¨Ä¿Â¼¡£ ¿ÉÒԲο¼¹Ù·½demoÖеÄDemoApplication,ÏÂͼ

ͨ¹ýÉèÖÃcomponent²éÕÒʧ°ÜµÄ»Øµ÷À´¸ù¾Ý×Ô¼ºµÄÐèÇó»ñȡԶ³Ì²å¼þ¡£Áí:getBundleForComponetÖÐcomponetÓ¦¸ÃΪcomponent - -.

c.patchµÄÅäÖá£Ö®Ç°Óмû¹ýapVersion,Õâ¸öĬÈÏÊǿյÄ,´ú±íµÄÊÇ´ò°üpatchʱµÄ»ù×¼Ïßapk.ÔÚ´ò°üpatchʱ¸ù¾ÝÃüÁî²ÎÊý´«Èë.Ö»ÓÐapVersion²»Îª¿ÕʱcreateTPatch=true²ÅÄÜÉúЧ¡£

Õ⼸¸öµØ·½ÁªÏµÆðÀ´²ÅÄÜ¿´¶®¡£»¹ÓоÍÊÇapkµÄ°æ±¾Ò²ÊÇÓÃÕâÀïµÄversion£¬Ä¬ÈÏ1.0.0¿ÉÐ޸ġ£

²å¼þbundleµÄgradleÅäÖÃ

²å¼þµÄÅäÖñȽϼòµ¥£¬Ò»°ãµÄandroidÅäÖÃÌø¹ýÁË

1.atlas²å¼þÅäÖÃ

¸ù¾Ý¹Ù·½ÎĵµÅä¾Í¿ÉÒÔ£¬ÆäÖÐversionÊÇ·¢²¼µ½²Ö¿âÖÐʱÓõġ£»¹ÓоÍÊÇ´òpatchʱҲ»áÓõ½£¬demoÖÐûÓÐÕâ¸översionËùÒÔ´òpatchʱ¾ÍÊÇunspecified¡£baseApFileÅä³Éapk´ò°üÊä³öµÄλÖþÍÐÐ,²Â²âÒ²ÊÇ´òpatchʱÓõġ£

´òpatchºóµÄupdate.json

2.ÒÀÀµÅäÖÃ

ÕâÀïÓÐÈýÖÖÒÀÀµ·½Ê½£¬Ò»°ãµÄcompile,Èç¹ûÒªÒýÓõİüÖ»ÊÇÕâ¸ö²å¼þʹÓÿÉÒÔÓÃÕâÖÖ·½Ê½(¶à¸ö²å¼þÓõ½µÄ°üÐèÒª·Åµ½hostÀïÃæÒýÓÃ).ÁíÒ»ÖÖprovidedCompile£¬Èç¹û²»Ê¹ÓÃaltasµÄ²å¼þµÄ»°Ò²Ö»¿ÉÒÔʹÓÃÕâÖÖÒýÈ뷽ʽ£¬µ«ÊÇÖ»Ö§³Öjar°ü£¬aarºÍproject²»¿ÉÒÔ(atlas½øÐÐÁËÀ©Õ¹Ó¦¸Ã)¡£ÕâÖÖ·½Ê½ÒýÓõİü²»»á´òµ½²å¼þµÄ°üÖС£×îºóÒ»ÖÖbundleCompileÒ²ÊÇatlas²å¼þÀïÃæµÄ£¬±íʾÕâ¸ö²å¼þÒýÓÃÁËÆäËüµÄ²å¼þ¡£

3.²å¼þ·¢²¼ÅäÖÃ

Èç¹ûÏëÒªÒÔawb·½Ê½ÒýÓòå¼þʱÐèÒª°Ñ²å¼þ·¢²¼µ½²Ö¿â£¬ÕâÀïÒÔmavenΪÀý£¬ÓÃmaven²å¼þÖеÄpublish½«awb·¢²¼µ½±¾µØ¿â¡£ÕâÖÖ·½Ê½ÔÝʱûÓÐÕÒµ½ÊÚȨÏà¹ØµÄÅäÖÃ(Çó½âÇóÖ¸½Ì)£¬ËùÒÔÖ»ÄÜ·¢²¼µ½±¾µØ»òÕßÊDz»ÐèÒªÊÚȨµÄmaven·þÎñ¡£³¢ÊÔ¹ýÓÃÁíÒ»ÖÖuploadArchiveµÄ·½Ê½µ«ÊDz»³É¹¦(Çó½âÇóÖ¸½Ì)

..2017/04/13¸üÐÂ

ÉÏÃæµÄÅäÖôò°üÉÏ´«ºópomÖÐûÓÐÒÀÀµÐÅÏ¢,ÐèÒªÔÚpublicationsÀïÊÖ¶¯Ìí¼Ó

ÅжÏij¸öÒÀÀµÊÇ·ñÔÚprovidedCompileµÄÒÀÀµ¼¯ÖÐ

Èçͼ£¬ÐèҪͨ¹ýpom.withXmlÅäÖÃÒÀÀµ£¬²¢ÇÒconfigurations.compileµÄÒÀÀµ¼¯Àï»á°üº¬ËùÓÐcompile»òÕßprovidedCompileµÄÒÀÀµ£¬ÐèÒª¹ýÂ˵ô£¬µ±Ç°Ö»ÕÒµ½´ÓprovidedCompileÒÀÀµ¼¯ÖбéÀúµÄ·½Ê½£¬ÈçÓиüºÃ·½Ê½ÇóÆÕ¼°¡£ ?ͨ¹ýÉÏÃæ¼ÓµÄÅäÖþͿÉÒÔÔÚ²å¼þµÄ²Ö¿âpomÖÐÌí¼Ódependencies½áµã£¬²¢ÇÒÖ»ÓÐcompileÒýÓ÷½Ê½ÒÀÀµµÄ°ü¡£

ÎÊÌâ

1.¼¯³ÉÏîĿʱԭÓй¤³ÌÖÐÓÐproductFlavorsÅäÖã¬ÏÖÔÚµ±×ö²å¼þÒýÓÃºó±¨´í¡£ÔÝʱ¸ÄΪÆäËü·½Ê½ÊµÏÖ¡£

2.µ±¼¯³É¶à¸ö²å¼þ(ÆäʵÊǶà¸öapp¹¤³Ì£¬Ïë³¢ÊԷŵ½Ò»¸öÀïÃæ)ºó£¬sync gradleʱ×ÜÊDZ¨ÒÀÀµÖظ´µÄÎÊÌ⣬ͨ¹ýdependencies²é¿´ÒÀÀµºó·¢ÏÖÁ½¸ö²å¼þµÄÒ»¼¶ÒÀÀµ¶¼ÓÐmultidexµÄÒýÓ㬵«ÊÇÁ½¸ö²å¼þµÄgradleÅäÖÃûÓÐÃ÷ÏÔµÄÒÀÀµmultidex,¶øÇÒ¼´Ê¹Óмä½ÓÒÀÀµmultidexµÄ°üÒ²ÊÇprovidedµÄ·½Ê½ÒÀÀµ¡£×îºó¿´ÁíÍâÒ»¸öatlasµÄdemoÖÐÓйýÂ˵ôsupportÏà¹ØµÄÅäÖ㬼ÓÈëÖ®ºóûÓÐÎÊÌâ¡£

3.ÒòΪ²å¼þĬÈÏÊǷŵ½armeabiÀïÃæµÄ£¬ËùÒÔÈç¹ûÒýÓÃµÄÆäËüÈý·½°üÖк¬ÓÐÆäËüabiµÄÖ»ÄܹýÂ˵ôÁË»òÕßÑ¡ÔñÆäËüsoµÄÊä³öĿ¼(ÔÝʱû¿´µ½Ïà¹ØÅäÖÃ).

4.¶¯Ì¬¸üÐÂʱÓöµ½²¿·ÖÓÉÓÚwindowϵͳµ¼ÖµÄÎÊÌâ(ali¿ª·¢ÓõÄmac), аæ»ù±¾Òѽâ¾ö£¬¸üкܿìºÜ¸øÁ¦¡£

5.¡¾Òѽâ¾ö£¬¿´2014/04/13¸üС¿ÒÔawb·½Ê½ÒýÓòå¼þʱ£¬awbÀïÃæÈç¹ûÒýÓÃÁËÆäËühostÀïÃæÃ»ÒýÓõİü£¬ÐèÒª°ÑÕâЩ°ü¶¼ÔÚhostÀïÃæÒýÓã¬ÒòΪ´ò°üawbºóÀïÃæ²¢Ã»ÓÐËùÒýÓðüµÄ´úÂë»òÕß×ÊÔ´£¬ËùÒÔ±àÒëʱÒýÓÃawbʱ»á³öÏÖÕÒ²»µ½×ÊÔ´µÄÎÊÌâ¡£(Õâµã²»ÖªµÀÊDZ¾À´¾Í²»Ö§³Ö»¹ÊÇ·½·¨Ã»Åª¶Ô)

6.ÒòΪÏîÄ¿ÖÐûÓкÍdemoÒ»ÑùµÄ¶¯Ì¬¸üÐÂÈë¿Ú£¬ËùÒÔÓÃÁËatlas updateÖеĹ㲥(AwoPatchReceiver)×ö¶¯Ì¬¸üвâÊÔ£¬´ò°üpatch²½Öè¶¼Ò»Ñù£¬Ö»ÊÇÉÏ´«µÄĿ¼Óе㲻ͬ¡£¾ßÌå¿´ÃüÁî

update.json?pushµ½ÊÖ»úÉÏʱÐèÒª¸ÄΪpatch-*@*.json

»¹ÓÐAwoPatchReceiverȱÉÙÒ»ÐдúÂ룬¸ÄÁËÖØÐ·¢²¼ºó¿ÉÐÐ

¾­Ñé

1.ÐèҪעÒâµÄÊÇËäÈ»hostÀïÃæÒѾ­ÓÐÒ»¸öapplicationµ«ÊÇÔÚ²å¼þÖÐÒ²ÊÇ¿ÉÒÔÖ¸¶¨×Ô¼ºÒåµÄapplicationµÄ£¬Ö»ÔÚµÚÒ»´Î¼ÓÔØ²å¼þʱ³õʼ»¯µ÷Óá£ËùÒÔÈç¹û²å¼þÖÐÓÐÐèÒª³õʼ»¯µÄ²Ù×÷¿ÉÒÔºÍÒÔǰһÑù·Åµ½application£¬µ«ÊÇҪСÐÄÔÚ´úÂëÖÐgetApplicationµÃµ½µÄ²¢²»ÊDzå¼þÖж¨ÒåµÄ¡£

2.ÓÐʱ²å¼þ¿ÉÄÜÐèÒª·ÃÎÊhostÀïÃæµÄ×ÊÔ´»òÕß´úÂë(Èçappname,launcher)£¬¿ÉÒÔµ¥¶À½¨Ò»¸ölibrary´æ·Å¹«¹²×ÊÔ´ºÍ´úÂ룬²¢ÇÒһЩ¹«¹²µÄÈý·½¿âÒýÓÃÒ²¿ÉÒԷŵ½ÀïÃæ£¬ÕâÑùËùÓвå¼þ¶¼Ö»ÐèÒªÒÔprovidedµÄ·½Ê½ÒýÕâ¸ölibrary¾Í¿ÉÒÔ£¬²»ÓÃÔÚÿ¸ö²å¼þÀïÃæ¶¼ÒýÓÃÏàͬµÄ¿â¡£

3.ΪÁË¿ª·¢²å¼þʱ·½±ã£¬²å¼þÔÚ¿ª·¢¹ý³ÌÖÐÓ¦¸ÃÊÇ¿ÉÒÔÖ±½ÓÔËÐеÄapplication¶ø²»ÊÇlibrary£¬¶øÇÒ´ò°ü²å¼þºÍ¿ª·¢Ê±graldeÅäÖÃÊÇÓÐÇø±ðµÄ¡£Õâʱ¿ÉÒÔ·Ö¿ª´´½¨Á½¸öµ¥¶ÀµÄgradle(build_app.gradle,build_lib_gradle)£¬ÔÚbuild.gradleÖиù¾Ý¿ª·¢»¹ÊÇ´ò°üÑ¡ÔñÒýÓöÔÓ¦µÄÎļþ¡£

4.ÓÐÉÏÃæÒ»µã»ù´¡ÉÏ£¬ÎÒÃÇ»¹¿ÉÒÔ¸ù¾ÝÊÇ´ò°üapp»¹ÊÇ´ò°ü²å¼þ£¬ÔÚgradleÖÐÒýÓò»Í¬µÄ´úÂëĿ¼£¬»òÕßÊDz»Í¬µÄmanifestÎļþ¡£ÕâÑù¾Í¿ÉÒÔ°ÑÆ½Ê±µ±×÷appµÄÏîÄ¿Öкܶà´úÂëºÍ×ÊÔ´Çø·Ö¿ªÀ´,manifestÒ²¿ÉÒÔ¼ò»¯Ðí¶à£¬ÕâÑù»¹¿ÉÒÔÅ䲻ͬµÄapplication¡££¨ÀÏÏîÄ¿»¹ÊÇeclipse½á¹¹¡£¡£studio½á¹¹Ò²ÊÇ¿ÉÒԵģ©

5.¿ªÊ¼Ê±ÊÇʹÓÃÏîÄ¿ÒÀÀµµÄ·½Ê½ÒýÓòå¼þ£¬ËÙ¶ÈÂý¶øÇÒ¾­³£³öÏÖ±àÒëʱ²å¼þÖÐRÀàºÍ×ÊÔ´²»Õý³£µ¼ÖÂn¶à¸ödexÎļþµÄ65535ÎÊÌâ¡£¸ÄΪawbºóºÃºÜ¶à¡£

6.»¹Òª×¢Òâ²å¼þ¼äµÄ×ÊÔ´ÊǶÀÁ¢µÄ£¬ËùÒÔ¿ÉÒÔ´æÔÚÏàͬµÄ×ÊÔ´Ãû¡£Ê¹ÓÃʱҲҪÉÔ¼Ó×¢Òâ¡£

7.¿ª·¢Ê±Èô³öÏÖĪÃûÆæÃîµÄÎÊÌâ(¿ÉÄÜÖ´Ðйý¶¯Ì¬¸üÐÂ)£¬ÔÚcleanÖ®ºóÒ²ÎÞÓÃʱ£¬°ÑÊÖ»úÉÏÒѰ²×°µÄappÐ¶ÔØÊÔÊÔ¡£

8.¿´dingdingȺÀïÎʵĺܶàµÄÎÊÌâbuildÖÐij¸öÎļþ±»Õ¼Ó㬾­³£³öÏÖ(window)£¬ËùÒÔhostÖÐÿ´ÎÖ´ÐÐtaskǰ°ÑjavaɱһÏ¡£ÆäʵҲ¾Í2ÃëµÄʱ¼ä¶øÒÑ£¬²»ÓÃÌ«´µÃ«Çó´Ã

9.ʹÓÃawbµÄ·½Ê½ÒýÓòå¼þʱ¸ñʽΪbundleCompile»òÕßcompile¶¼¿ÉÒÔ£¬bundleCompile¸üÖ±¹Û¡£

10.Ðí¶àÈ˶ÔgradleÃüÁî²»ÊìϤ(ÎÒÒ²²»ÊǺÜÊì,ż¶û·¢Ïֵģ©£¬ÌἸ¸ö¾­³£Óöµ½ÈËÎʵĵ㠣º

?a.terminalÖÐĬÈÏÔÚÏîÄ¿¸ùĿ¼¡£ËùÒÔÈç¹ûÔÚ¸ùĿ¼ֱ½ÓÖ´ÐÐtask(Èçclean)ʱ»áÖ´ÐÐËùÓеÄmoduleµÄcleanÈÎÎñ¡£ÓÐʱÕâÑù×ö²¢²»ÊDZØÐèµÄ¶øÇÒ²¿·ÖÈÎÎñ²¢²»ÊÇËùÓÐmodule¶¼Ö§³ÖµÄ£¬Õâʱ¾Í»á³ö´í¡£

b.Èç¹ûÖ»Ïë¶Ôij¸ömoduleÖ´ÐÐtask

·½·¨Ò»£º¿ÉÒÔcdµ½Õâ¸ömoduleµÄĿ¼ÔÚÖ´ÐÐgradlew²Ù×÷¡£¸ù¾ÝmoduleµÄĿ¼²ã¼¶¼Ó..\ ? ¡£macϵͳ»»³É/

..\gradlew clean

..\..\gradlew clean

·½·¨¶þ£º Ò»Ö±ÔÚ¸ùĿ¼£¬²»ÓÃÇл»Ä¿Â¼,²»ÓùÜĿ¼µÄ²ã¼¶¶àÉî¡£×Ô¼ºÓÃÕâÖÖ·½Ê½

gradlew ?£ºmoduleName£ºtaskname(Èçclean)

c.¶à¸ötaskÒ»ÌõÃüÁî

gradlew? £ºmoduleB£ºclean ?£ºmoduleA£ºclean? £ºmoduleA£ºasR(¿ÉÒÔËõд,´ú±íassembleRelease) ? £ºmoduleA£ºpublish?

11.ʹÓÃ×ø±ê·½Ê½ÒýÓòå¼þʱ£¬Ã¿¸ö²å¼þ¶¼ÒªÅäÖÃmaven publishÉÏ´«µÄÅäÖã¬Èç¹ûÔÚÿ¸ö²å¼þµÄgradleÖж¼ÅäÖÃÒ»´ÎµÄ»°»áµ¼ÖºܶàÖØ¸´²¢ÇÒÐÞ¸ÄʱҲ²»·½±ã¡£ÕâʱÎÒÃÇ¿ÉÒÔн¨Ò»¸öµ¥¶ÀµÄpublish.gradleÎļþ´æ·ÅÉÏ´«Ïà¹ØÅäÖã¬ÖÁÓÚÿ¸ö²å¼þµÄgroup,artifactIdºÍversionÏà¹ØÐÅÏ¢ÔÚ²å¼þµÄmoduleÖÐÐÂÔöÒ»¸ögradle.propertiesÀïµ¥¶ÀÅäÖþÍok.ÕâÑùÔÚ²å¼þµÄgradleÖÐapplyһϾÍÐУ¬ÐÞ¸ÄÒ²Ö»ÓøÄÒ»·Ý.

²å¼þgradleÖÐÒýÓÃ

publish.gradleÖдæpublishÏà¹ØÅäÖ㬲¢ÇÒgroupid,versionµÈÓÃÅäÖöø²»ÊǶ¨ËÀ

gradle.propertiesÖÐÅäÖÃ

×îºó

×ܵÄÀ´ËµAtlasµÄ¼¯³ÉËã±È½Ï¼òµ¥µÄ£¬Ð޸ĵĵط½Ò²±È½ÏÉÙ,´ó¶àÊÇgradleµÄÅäÖ㬲å¼þÖÐûÓÐÒýÈëÈκÎatlasÏà¹ØµÄ°ü£¬¿ÉÒÔ˵ÍêÈ«ÎÞ¸ÐÖª¡£¼òµ¥Á˽âʵÏÖÔ­Àí¸ü¼Ó¾õµÃnubility.²»¹ÜÊÇ´ÓclassµÄ¼ÓÔØ»¹ÊÇ×ÊÔ´µÄ¼ÓÔØ·½Ê½¶¼¸Ð¾õºÜ´ÏÃ÷£¬ÕâÁ½¿éÒ»Ö±ÊDzå¼þ»¯µÄ´óÎÊÌâËùÔÚ¡£¶øÇÒËù˵²»¾ÃµÄ½«À´¾Í»á·Å³ö¶¯Ì¬Ìí¼ÓactivityºÍserviceµÄ¹¦ÄÜ£¬ÕâÊǺܶà²å¼þ¿ò¼Ü×ö²»µ½µÄ¡£

 
   
2151 ´Îä¯ÀÀ       32
Ïà¹ØÎÄÕÂ

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

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

»ùÓÚHTML5¿Í»§¶Ë¡¢Web¶ËµÄÓ¦Óÿª·¢
HTML 5+CSS ¿ª·¢
ǶÈëʽC¸ßÖÊÁ¿±à³Ì
C++¸ß¼¶±à³Ì
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]
 
×îÐÂÎÄÕÂ
Flutter-Ä㻹ÔÚÀÄÓÃStatefulWidgetÂð
ÒÆ¶¯APP°²È«²âÊÔÒªµã
ÉîÈëdz³ö Kotlin Э³Ì
iOS ×é¼þ»¯ ¡ª¡ª ·ÓÉÉè¼ÆË¼Â··ÖÎö
ÒÆ¶¯¶Ë¿çƽ̨¿ª·¢µÄÉî¶È½âÎö
×îпγÌ
Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò¿ª·¢
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
AndroidÓ¦Óø߼¶¿ª·¢
ÒÆ¶¯»¥ÁªÍøÓ¦Óÿª·¢£¨iOS£¬Android£¬HTML5)
³É¹¦°¸Àý
±±¾© iOS¿ª·¢¼¼ÊõÉîÈëÑо¿
ijÆóÒµ Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò¿ª·¢
ÖÐÌå²Ê Android²úÆ·¼¶²âÊÔ
ÒÆ¶¯Í¨ÐÅ ÒÆ¶¯»¥ÁªÍøÓ¦Óÿª·¢Ô­Àí
ijµçÁ¦ÐÐ android¿ª·¢Æ½Ì¨×î¼Ñ