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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
React-NativeÍ´µã½âÎöÖ®¿ª·¢»·¾³´î½¨¼°À©Õ¹
 
×÷ÕߣºÎºÏþ¾ü¡¢Ã«¿Æ½Ü ·¢²¼ÓÚ 2016-8-9
  2665  次浏览      28
 

React Native¼òֱ̫»ðÁË£¬¹úÄÚ´ó¹«Ë¾¶¼ÔÚÕùÏȿֺóµÄ³¢ÏÊ£¬ÈÃÈËÄÑÒÔÏàÐÅÕâÊǵ®Éú¸Õ¸ÕÒ»ÄêµÄ¿ªÔ´ÏîÄ¿¡£ÕýÒòΪËüµÄÄêÇᣬÔÚʹÓÃËü½øÐпª·¢Ê±ÄÑÃâ»áÓöµ½ÕâÑùÄÇÑùµÄ¿Ó£¬Òò´Ë£¬ÎÒÃÇÑûÇëÁË¡¶React NativeÈëÃÅÓëʵս¡·µÄ×÷ÕßÖ®Ò»£¬÷È×å¸ß¼¶Ñз¢¾­ÀíκÏþ¾üÀ´ÎªÎÒÃǽâÎöRN¿ª·¢ÖеÄÍ´µã¡£±¾ÎÄ·ÖÏíµÄÊÇÔÚ»·¾³´î½¨ºÍÀ©Õ¹ÖлáÓöµ½µÄÎÊÌâÓë½â¾ö·½°¸¡£

ÒýÑÔ

React NativeµÄ³öÏÖ£¬ÎªAPP¿ª·¢ÕßÃÇ´øÀ´Á˳嶯ºÍ¼¤Ç飬ÁîNative¿ª·¢ÕߺÍWeb¿ª·¢Õß¶¼ÎªÖ®³ÕÃÔ¡£Ë²¼ä¸÷À༼ÊõÂÛ̳¡¢¼¼ÊõÉçÇøÉõÖÁ³ö°æÉç¶¼ÕùÏȱ¨µÀÆäÏà¹ØÄÚÈÝ¡£È»¶ø¶ÔÓÚÒ»°ãµÄ³õѧÕßÀ´Ëµ£¬×î¼òµ¥ÒªÇóιýÓÚ°´ÕÕ¹Ù·½ÌṩµÄÏòµ¼À´Íê³É»ùÓÚReact NativeµÄ´¦Å®Ö®×÷¡£¾ÍÊÇÕâô¼òµ¥µÄÒ»¸öÒªÇó£¬È´°ÑÎÞÊý¿ª·¢Õß¾ÜÖ®ÃÅÍâ¡£ÆäÖÐÔ­ÒòÔÚÓÚ³õѧÕßÔÚ°´Õս̴̳µÄ¹ý³ÌÖУ¬×Ü»á³öÏÖÕâÑùÄÇÑùµÄÎÊÌ⣬¸ø¿ª·¢ÕßÃǵÄÈñÆøÖØÖØÒ»»÷¡£ÏÂÎĽ«ÒÔÆäÖÐһЩ±È½ÏÍ»³öµÄÎÊÌâΪÆðµã£¬´Ó¿ª·¢Ç°ºÍ¿ª·¢ÖÐÁ½·½ÃæÀ´¼ÓÒÔ·ÖÎö²¢¸ø³öÏàÓ¦µÄ½â¾ö·½°¸£¬Ï£ÍûÄܹ»¸ø¹ã´ó¿ª·¢ÕßÃÇÌṩЩÐíʵս¾­Ñ飬ÉÙ×ßһЩ²»±ØÒªµÄÍä·¡£

¿ª·¢Ç°

ÃæÁÙµÄÎÊÌâ

°´ÕÕ¹Ù·½µÄÏòµ¼£¬ÔÚHomebrew ¡¢Watchman¡¢Flow¡¢nvm¡¢nodeµÈÔËÐл·¾³°²×°Íêºó£¬Òª×öµÄµÚÒ»¼þÊÂÇé±ãÊǰ²×°React NativeÃüÁîÐй¤¾ß²¢ÓÉÆä³õʼ»¯React NativeÏîÄ¿¡£´úÂëÈçÏ£º

$ npm install -g react-native-cli

$ react-native init AwesomeProject

È»¶ø¾ÍÊÇÕâôÁ½¾ä¼ò¶ÌµÄ´úÂ룬ȴÔËÐеÄÒ²²»ÊÇÄÇôµÄ˳Àû¡£¾­³£»áÌýµ½¿ª·¢ÕßÃDZ§Ô¹°²×°¸öÃüÁîÐй¤¾ßÒ²Òª·­Ç½¡£

¶ÔÓÚ³õѧÕßÃÇ£¬×î½Ý¾¶µÄ°ì·¨£¬Äª¹ýÓڲο¼±ðÈ˵ÄÏîÄ¿¡£¾­³£»áÓöµ½Õâôһ¸ö³¡¾°£¬ ÏîÄ¿ÖÐÒªÓõ½Ò»¸öslider×é¼þ£¬´ÏÃ÷µÄ¿ªÕßÃǺܿìÏëµ½ÁËgithub£¬ÔÚÆäÉÏÒ»ËÑ·¢ÏÖ»¹Õæ²»ÉÙ£¬ÓÚÊǺõÐ˸߲ÉÁҵĽ«ÆäÕû¸öÏîÄ¿cloneÏÂÀ´£¬ÕÒµ½ÆäÖеÄslider×é¼þ£¬ÄÉÈë×Ô¼ºµÄÏîÄ¿ÖУ¬¼òµ¥µÄÌí¼ÓÁ˼¸¾äÒýÈë´úÂ룬±ã¼±³å³åµÄÖ´ÐÐCMD+R£¬Ë²¼äÄ£ÄâÆ÷ÄÚһƬºìÆÁ£¬·ÖÎöÔ­Òò£¬×îºó·¢ÏÖÊÇfontsize²»Ö§³ÖÊý×ÖÁËÒ»¶¨ÒªÒÔ×Ö·û´®µÄ·½Ê½ÉèÖã¬ÕâÊǶàô³ÁÍ´µÄ´ò»÷¡£

ÍæÁËÒ»¶Îʱ¼äµÄReact Native¿ª·¢ÕßÃÇÓ¦¸ÃÒ²»á·¢ÏÖ£¬Ëæ×Å¿ª·¢³öÀ´µÄReact NativeÏîÄ¿µÄÔö¶à£¬µçÄԵĴ洢¿Õ¼ä»áÔ½À´Ô½Ð¡ÁË£¬·­¿ªReact NativeµÄÀú´ú°æ±¾¿ÉÒÔ¿´µ½£¬gzipÖ®ºó70M×óÓÒ£¬½âѹºóÔÚ350M×óÓÒ¡£ÕâÑùµÄÌå»ý´óС£¬¼¸¸öÏîÄ¿ÏÂÀ´£¬¼¸¸öGµÄ¿Õ¼ä˲¼äûÁË¡£

ÄÇô¹éÄÉÆðÀ´Ö÷ÒªÊÇÒÔϼ¸ÀàÎÊÌâÖÆÔ¼×Å¿ª·¢ÕßÃÇ¡£

1.React Native ÃüÁîÐл·¾³´î½¨À§ÄÑ

2.React Native ³õʼ»¯ÏîÄ¿À§ÄÑ

3.React Native °æ±¾Éý¼¶¾­³£´øÀ´API²»Ö§³Ö

4.Ëæ×ÅReact Native ÏîÄ¿µÄÔö¶à£¬Õ¼ÓÿռäÔ½´ó

Ô­Òò·ÖÎö

React Native ÃüÁîÐл·¾³´î½¨À§ÄÑ£¬Ö÷ÒªÊÇÂý£¬ÎªÊ²Ã´ÄØ£¬´Ó´úÂë

npm install -g react-native-cli

ÖпÉÒÔÁ˽⵽£¬ÕâÊÇÔÚ´Ónpm·þÎñÆ÷ÉÏÀ­È¡react-native-cli¡£ËùÒÔÂýµÄÔ­Òò±ãÊÇÒòΪnpm·þÎñÆ÷²»ÔÚ¹úÄÚ¡£´ÏÃ÷µÄ¹úÈËÒѸø³öÁ˽â¾ö°ì·¨£¬Í¨¹ý·­Ç½À´½â¾ö´ËÎÊÌâ¡£¸ü¸ßÐ˵ÄÊÇnpmÌṩÁËÒ»¸öregisterµÄÊôÐÔ£¬¿ÉÒÔÈÿª·¢Õß×ÔÓɵÄÉèÖþµÏñµØÖ·¡£¿ª·¢ÕßÃÇ×î³£ÓõıãÊÇÌÔ±¦µÄ¾µÏñµØÖ·¡£¾Ýͳ¼Æ¹úÄڱȽϳ£ÓõľµÏñµØÖ·ÓУº

  http://r.cnpmjs.org/

http://registry.npm.taobao.org/

http://registry.npmjs.eu/

http://registry.npmjs.org.au/

http://npm.strongloop.com/

https://registry.nodejitsu.com/

http://registry.npmjs.pt/

Õâô¶àÑÛ»¨çÔÂҵĵØÖ·£¬µÄÒª¸Ðл¹úÈË¿ªÔ´ÒâʶµÄÇ¿´ó£¬ÊÇËûÃǸø¿ª·¢ÕßÃÇ´øÀ´Á˸£Òô£¬Èÿª·¢ÕßÃÇÔÙÒ²²»Óõ£ÐÄÏÂÔØ²»µ½nodejs°üÁË¡£

ÕâÊǹÙÍø³õʼ»¯React NativeÏîÄ¿µÄ´úÂ룺

react-native init AwesomeProject

¿ÉÒÔ¿´µ½ÕâÊÇͨ¹ý"react-native init"Õâ¸öÃüÁîÀ´½øÐгõʼ»¯µÄ¡£ÄÇ¡°react-native¡±Õâ¸öÃüÁîÓÖÊÇ´ÓÄÄÀïÀ´µÄÄØ£¬Æð³õ¸ø±ÊÕß´øÀ´ºÜ´óµÄÀ§»ó£¬ÉÏÃæÖ»°²×°ÁË¡°react-native-cli¡±Õâ¸önode°ü£¬Ôõô»áð³ö¸ö¡°react-native¡±ÃüÁî¶ø²»ÊÇ¡°react-native-cli¡±ÃüÁîÄØ¡£ÎÒÃÇ·­¿ª¡°react-native-cli¡±µÄ°²×°Ä¿Â¼£¬macÉÏÊÇÔÚ£º

/usr/local/lib/node_modules/react-native-cli

Ŀ¼£¬´ò¿ªÆäÖеġ°package.json¡±Îļþ£¬¿ÉÒÔ¿´µ½ÓÐÕâôһ¶Î´úÂ룺

"bin": {

"react-native": "index.js"

},

ÕâÀï¼òµ¥½éÉÜÏÂbinÊôÐÔ£¬"bin"ÊÇÓɶà¸ö¡°{ ÃüÁîÃû£ºÎļþÃû }¡±×é³ÉµÄÒ»¸ömap¡£ÔÚ°²×°µÄʱºò»á½«Ã¿¸ö¡°ÃüÁîÃû¡±Á´½Óµ½prefix/bin£¨È«¾Ö³õʼ»¯£©»òÕß./node_modules/.bin/£¨±¾µØ³õʼ»¯£©¡£ÉÏÃæ´úÂëÔÚ°²×°µÄʱºò£¬»á½«index.jsÁ´½Óµ½/usr/local/bin/react-native¡£ÕâÑùʹÓÃ"react-native init"½øÐгõʼ»¯µÄÀ§»óÒ²¾Í¿ÉÒÔÀí½âÀ²¡£ÄÇôÕâ¸ö¡°react-native init¡±¾¿¾¹×öÁËÊ²Ã´ÄØ¡£¼ÌÐø¸ú×Ù£¬´ò¿ªindex.js,ÆäÖеIJ¿·Ö´úÂëÆ¬¶Î£º

if (args[0] === 'init'){

if (args[1]) {

init(args[1]);

} else {

}

} else {

......

}

¿ÉÒÔ¿´³ö£¬index.jsÆäʵֻ¶Ô¡°init¡±·½·¨×öÁË´¦Àí£¬¾ßÌåµ½¡°init¡±·½·¨ÖÐÓÖ×öÁËÐ©Ê²Ã´ÄØ£¬½ØÈ¡Á˲¿·ÖÖ÷Òª´úÂëÈçÏÂ:

  1¡¢fs.writeFileSync(path.join(root, 'package.json'), JSON.stringify(packageJson));

2¡¢run('npm install --save react-native', function(e) {

ÆäÖдúÂë1ÊǶ¯Ì¬Éú³Épackage.json£¬´úÂë2ÊÇÔÚ±¾µØ°²×°react-nativeÄ£¿é¡£µ½´Ë£¬Ö®Ç°Ìáµ½µÄ¡°React Native ³õʼ»¯ÏîÄ¿À§ÄÑ¡±Ò²¾Í²»ÄÑÀí½âÀ²£¬Ô­Òò¶¼ÊÇnpmÈǵĻö¡£
¼ÈÈ»ÒѾ­¿´µ½ÕâÀïÀ²£¬ÄǾÍ˳´øÍêÕûµÄ½éÉÜÏÂreact-nativeÕâ¸öÃüÁî¡£³ýÁË¡°react-native init¡±ÃüÁîÍ⣬¹ÙÍø»¹ÌṩÁË ¡°react-native bundle¡±¡¢¡°react-native run-android¡±µÈÃüÁ¶øindex.jsÎÄÖÐÈ´Ö»ÓС°init¡±ÃüÁî¡£ÄÇÆäËûÃüÁîÓÖÊÇÔõôÀ´µÄÄØ¡£´ø×ÅÒÉÎÊ£¬±ÊÕßÓÖÕÒµ½ÁËÈçϵĴúÂ룺

< var CLI_MODULE_PATH = function() {

return path.resolve(

process.cwd(),

'node_modules',

'react-native',

'cli'

);

};

var cli;

try {

cli = require(CLI_MODULE_PATH());

} catch(e) {}

if (cli) {

cli.run();

} else {

......

}

´ò¿ª¡°CLI_MODULE_PATH¡±ËùÖ¸µÄcliÎļþ£¬ÆäÖ¸ÏòÁË¡°module.exports = require('./local-cli/cli.js');¡±£¬¼ÌÐø´ò¿ª¡°/local-cli/cli.js¡±²¿·Ö´úÂëÈçÏ£º

¿´µ½ÕâÀҲ¾ÍÑÛǰ»íÈ»¿ªÀÊÆðÀ´£¬Ô­À´³ý¡°init¡±ÃüÁîÍ⣬ÆäËüÃüÁî¶¼ÔÚÕâÀïÀ²£¬ÕâÈñÊÕßÃ÷°×ÁËÒ»¼þÊÂÇ飺Ҳ¾ÍÊÇ˵¡°init¡±¿ÉÒÔÔÚÈκεط½Ê¹Ó㬶øÆäËûÃüÁîÖ»ÄÜÔÚReact NativeÏîÄ¿µÄ¸ùĿ¼ÏÂʹÓà £¬²»µÃ²»Åå·þFacebookÉè¼ÆÖ®ÇÉÃî¡£ Óë´Ëͬʱ£¬ÁíÒ»¼þÖØÒªµÄÊÂÇéÒ²¾ÍÏÔµÃÇåÎú¿É¼ûÁË¡£ÄǾÍÊÇÔÚ¡°React Native¡±µÄ¿ª·¢ÖУ¬ÆäʵÓÐÁ½¸ö¡°react-native¡±£¬Ò»¸öÊǵġ°react-native-cli¡±Éú³ÉµÄÈ«¾ÖµÄreact-nativeÃüÁһ¸öÊÇÔÚ³õʼ»¯ÏîĿʱ°²×°µÄ¡°react-native¡±Ä£¿é£¬¼´ÔÚÓ¦Óÿª·¢ÖÐͨ¹ý¡°require('react-native')¡±ËùÒýÓõÄÄ£¿é¡£ÕâÁ½¸ö¼òµ¥Çø±ð±ãÊÇ£¬Ò»¸öÊÇÈ«¾ÖµÄÄ£¿é£¬Ò»¸öÊǾֲ¿µÄÄ£¿é¡£È«¾ÖÄ£¿éÖÐÖ»ÌṩÁËÒ»¸ö¡°init¡±·½·¨£¬¶ø¾Ö²¿Ä£¿éÌṩÁ˳ý¡°init¡±·½·¨ÍâµÄËùÓÐÃüÁîÒÔ¼°React Native¿ª·¢ÖÐÓõ½µÄËùÓй¦ÄÜ¡£

¾­¹ýÉÏÃæ¶Ô"react-native-cli"Óë¡°react-native¡±µÄ·ÖÎö£¬¿ÉÒÔ¿´³öFacebookÓ¦¸ÃÊÇÍÆ¼ö¡°react-native¡±Ä£¿é¾Ö²¿»¯£¬ËùÒÔ²»ÂÛÔÚReact NativeÏîÄ¿³õʼ»¯µÄ¹ý³ÌÖУ¬»¹ÊÇcloneÒÑÓеÄReact NativeÏîÄ¿£¬¶¼ÐèÒªÔÚµ±Ç°ÏîÄ¿ÏÂÏÂÔØºÍ°²×°¡°react-native¡±Ä£¿é£¬Ê¹µÃReact Native ÏîĿռÓõĿռäÔ½À´Ô½´ó¡£

½â¾ö°ì·¨

1¡¢Ë½ÓÐNPM´î½¨

ËäÈ»ÉÏÃæ½²µÄ¹úÄÚ¾µÏñ£¬ÒÑʹNPMµÄÏÂÔØËٶȺܿìÀ²£¬µ«ÊÇÈÔÈ»²»ÈçÔÚ×Ô¼ºÄÚÍø¼ÜÉè¸öNPM˽ÓзþÎñÆ÷£¬¸øÍŶӳÉÔ±Ìṩ¸ü¿ì½ÝµÄÏÂÔØËÙ¶È¡£¼ÜÉè˽·þ£¬³ýÁËËÙ¶È¿ìÒÔÍ⣬»¹ÓÐÒ»¸öÖØÒªµÄÔ­Òò¾ÍÊÇһЩÄÚ²¿µÄÒþ˽ģ¿éÒ²¿ÉÒÔ·¢ÔÚ˽·þÉϹ©ÄÚ²¿³ÉԱʹÓᣠÊÐÃæÉϵÄNPM˽·þÒ²Óкܶ࣬ÕâÀïÍÆ¼öµÄÊÇÒ»¸ö½Ð¡°sinopia¡±µÄNPM˽·þ¡£¡°sinopia¡±µÄ×ö·¨ÊÇÓÅÏÈ´Ó×Ô¼ºµÄ²Ö¿âÖÐÀ­È¡Ä£¿é£¬Èç¹û·¢ÏÖûÓУ¬±ã´ÓÔ¶¶ËµÄNPM·þÎñÆ÷À­È¡¡£Ò²ÐíÓеĿª·¢ÕßÔçÒÑ×¢Òâµ½£¬Õâ¸ö˽·þÆäʵÔÚ¡°react-native-cli¡±µÄNPM¿âÖÐreact-native-cli¾ÍÓнéÉÜ£¬±ÊÕß²ÂÏëÓ¦¸ÃÊÇFacebookÒ²ÍÆ¼öÖîλʹÓá°sinopia¡±À´´î½¨NPM˽·þ°É¡£¡°sinopia¡±µÄgithubµØÖ·Îª£ºhttps://github.com/rlidwka/sinopia¡£¡°sinopia¡±µÄ´î½¨±È½Ï¼òµ¥£¬²½ÖèÈçÏ£º

-°²×°ÃüÁ

$ npm install -g sinopia

-Æô¶¯ÃüÁî

 $ sinopia

Æô¶¯ºóµÄÈÕÖ¾£º

warn --- config file - /Users/youname/.config/sinopia/config.yaml

warn --- http address - http://localhost:4873/

ÈÕÖ¾Öеġ°config file¡±Îª¡°sinopia¡±µÄÅäÖõØÖ·£¬¡°http address¡±Îª¡°sinopia¡±µÄÖ÷Ò³µØÖ·¡£´ò¿ª¡°/Users/youname/.config/sinopia/config.yaml¡±¿ÉÒÔ¿´µ½Ä¬ÈϵÄÅäÖÃÐÅÏ¢ÈçÏ£º

Èç¹ûÏë¿´¸üÍêÕûµÄÅäÖÿÉÒԲο¼ÕâÀïhttps://github.com/rlidwka/sinopia/blob/master/conf/full.yaml¡£

-´´½¨ÐÂÓû§

$ npm adduser --registry http://localhost:4873

°´ÕÕÃüÁîÐÐÖеÄÌáʾ£¬ÒÀ´ÎÊäÈëUsername¡¢Passworld¡¢Email¼´¿ÉÍê³ÉÓû§µÄ´´½¨¡£

-ÉèÖÃnpm¾µÏñµØÖ·

$ npm set registry http://localhost:4873/

-·¢²¼npm°ü

ÔÚ·¢²¼Ä£¿éǰ£¬ÐèÒªÏȵǼ

  $ npm adduser

Username£ºxxx

Passworld£ºxxx

Email£ºxxx@xx.com

µÇ¼Íê³Éºó£¬±ã¿É½øÈë´ý·¢²¼Ä£¿éµÄ¸ùĿ¼½øÐз¢²¼ÁË¡£

$ npm publish

ÈôûÓС°package.json¡±ÎļþµÄ»°£¬ÐèÏÈÖ´ÐС°npm init¡±½øÐд´½¨£¬È»ºóÖ´ÐÐÉÏÃæµÄÃüÁî¼´¿É½«Ä£¿éÍÆË͵½×Ô¼ºµÄNPM·þÎñÆ÷ÉÏÁË¡£ÕâÑùÎÒÃÇÔÚ°²×°¸ÃÄ£¿éµÄʱºò£¬±ãÊÇ´Ó×Ô¼ºµÄNPM·þÎñÆ÷ÉÏÏÂÔØÁË¡£

-Ô¶¶Ë·ÃÎÊ

ÉÏÃæÖ»ÊÇÔÚ±¾µØ´îÆðÁËNPM·þÎñÆ÷£¬Ö»ÄÜͨ¹ý±¾µØÀ´·ÃÎÊ£¬Èç¹ûÒª×öµ½Ô¶¶Ë·ÃÎʵϰ£¬ÐèÒªÕâÑùÀ´Æô¶¯¡°sinopia¡±£º

$ sinopia -l IPµØÖ·:¶Ë¿Ú

-ÅäÖÃReact NativeµÄsinopia·þÎñÆ÷

¶ÔÓÚreact-nativeµÄÅäÖ㬹ÙÍø½¨ÒéÐÞ¸ÄpackagesºÍmax_body_sizeµÄÅäÖÃÈçÏ£º

   ......

packages:

'react-native':

allow_access: $al

l allow_publish: $all

'react-native-cli':

allow_access: $all

allow_publish: $all

'*':

allow_access: $all

proxy: npmjs

max_body_size: '50mb'

´ÓÐÞ¸ÄÖпÉÒÔ¿´µ½£¬Ö÷ÒªÊǶÔÄ£¿é·¢²¼×öÁËÏÞÖÆ£¬Ö»ÔÊÐí·¢²¼¡®react-native'ºÍ'react-native-cli'Ä£¿é£¬ÆäËûÄ£¿éÒ»¸Å²»ÔÊÐí·¢²¼£¬²ÂÏëÓ¦¸ÃÊÇŽ«ÆäËûÄ£¿é¸²¸Çµô°É¡£¶Ômax_body_sizeµÄÉèÖã¬Ö÷ÒªÊdzöÓÚ¶ÔÄ£¿é´óСµÄ¿¼ÂÇ£¬±ÜÃâ²úÉú"request entity too large"µÄ´íÎó£¬ÒòΪĬÈϵĴóСΪ1mb¡£

·þÎñÆ÷ÅäºÃºó£¬½ÓÏÂÀ´¾ÍÐèÒª½«react-nativeÄ£¿éºÍreact-native£­cliÄ£¿é·¢²¼ÉÏÈ¥ÁË¡£ÎªÁË·½±ãÆð¼û£¬ÎÒÃǽ¨Á¢ÈçϵÄĿ¼½á¹¹£º

 react_native_modules

react-native

v0.21.0

node_modules

react-nativ

e v0.20.0

node_modules

react-native

react-native-cli

v1.0.0

node_modules

react-native-cli

ÆäÖÐreact_native_modulesΪÎÒÃÇÔÚÓû§Ä¿Â¼Ï´´½¨Îļþ¼Ð¡£Ö®ËùÒÔÉè¼Æ³ÉÕâÑùµÄ½á¹¹ÊÇΪÁËÎÒÃÇ·½±ãÏÖÔÚNPM·þÎñÆ÷ÉϵÄÄ£¿é¡£ÈçÎÒÃÇÒªÏÂÔØ0.19.0°æ±¾µÄreact-nativeÄ£¿é£¬ÎÒÃÇÖ»ÐèÒª´´½¨react_native_modules\react-native\v0.19.0Îļþ¼Ð£¬È»ºóÔÚ¸ÃÎļþ¼ÐÖÐÖ´ÐÐ

$ npm install react-native@0.19.0

¼´¿ÉÍê³É´ÓNPM·þÎñÆ÷É϶ԸÃÄ£¿éµÄÏÂÔØ¡£½ÓÏÂÀ´½øÈëµ½node_modules\react-nativeĿ¼£¬Ö´ÐÐ

 $ npm set registry http://host:port/ //Òª¼ÇµÃÇл»µ½sinopia·þÎñÆ÷Ŷ£¬·ñÔò»á½«Ä£¿é·¢ÔÚNPM·þÎñÆ÷É϶ø²»ÊÇsinopia·þÎñÆ÷ÉÏ

$ npm publish

ʵÏÖ¶à°æ±¾¹ÜÀí

Èç¹û˵sinopiaÊÇÓÃÀ´½â¾öËٶȵÄÎÊÌ⣬ÄÇô¶à°æ±¾µÄ¹ÜÀí¿ÉÒÔ˵ÊÇÓÃÀ´½â¾öÌå»ýµÄÎÊÌâ¡£×ö¹ýnode.js¿ª·¢µÄͬѧ£¬¶¼Çå³þnvm£¬ËüÊÇnodejsµÄ°æ±¾¹ÜÀí¹¤¾ß£¬ÉõÖÁ°üÀ¨React NativeµÄ¹ÙÍøÒ²ÓÐ̸µ½Ê¹ÓÃnvmÀ´°²×°node.js¡£ÔÚreact-native°æ±¾µü´úÈç´ËƵ·±µÄ½×¶Î£¬¾ÓȻûÓÐreact-nativeµÄ°æ±¾¹ÜÀí¹¤¾ß£¬ÕâÈÿª·¢ÈËÔ±ÃǺÜÊÇÊÜÉË¡£ËùÒÔ£¬ÕâÀォ³¢ÊÔ×ÅÉè¼ÆÒ»¸öreact-nativeµÄ°æ±¾¹ÜÀí¹¤¾ß£¬ÎÒÃÇ¿ÉÒÔÇ×ÇеĽÐËürnvm£¨react-native version manager£©¡£ÔÚÁ˽ârnvmµÄ˼·ǰ£¬ÏÈÁ˽âÏÂrnvmµÄʹÓó¡¾°.

-rnvmµÄʹÓó¡¾°

rnvmÈçÆäÃû×ÖÖеÄÄÇÑù£¬Ö÷ÒªÊǶÔreact-nativeµÄ°æ±¾½øÐйÜÀíµÄ¡£ÄÇôËüµÄʹÓó¡¾°¶¼ÓÐÄÄÐ©ÄØ¡£ÕâµÄ´ÓÒ»¸öReact NativeÏîÄ¿µÄµÄ»ñµÃ·½Ê½ËµÆð¡£Í¨³£Çé¿öÏÂÓÐÈçϼ¸ÖÖ·½Ê½£º

a¡¢Í¨¹ýreact-nativeÃüÁî³õʼ»¯ÏîÄ¿»ñµÃ

b¡¢Í¨¹ý´ÓgithubÉÏclone»ñµÃ

c¡¢Í¨¹ý¿½±´»ñµÃ

¶ÔÓÚaÖеÄʹÓó¡¾°£¬ÔÚreact-native³õʼ»¯ÏîÄ¿µÄʱºò£¬Õý³£Çé¿öÏÂrnvmÊDz岻ÉÏÊֵġ£Èç¹ûÕæÒªÓÃrnvm£¬ÐèÒªÇÖÈë/usr/local/lib/node_modules/react-native-cli/index.jsÎļþ£¬½«run('npm install --save react-native'¸ÄΪrun('rnvm use ',»òÕßÒ²¿ÉÒÔ¸ørnvmÌí¼ÓÒ»¸öinitÃüÁîÀ´È¡´úreact-native initÃüÁî,ʹÓ÷½Ê½Îªrnvm init AwesomeProject¡£

¶ÔÓÚb¡¢c³¡¾°£¬¿ÉÒÔÖ±½ÓʹÓÃrnvmÃüÁî½øÐд¦Àí¡£

È»¶ø£¬Õâ²¢²»ÊÇrvnmµÄÓÅÊÆ¡£rnvmµÄºËÐÄ˼ÏëÊǽ«react-nativeÄ£¿é°²×°ÔÚÈ«¾ÖĿ¼Ï£¬ÕâÑùÿ¸öReact NativeÏîÄ¿ÔÚʹÓõÄʱºò£¬²»ÐèÒªÔÚ±¾µØÄ¿Â¼Öа²×°Ò»·Ý£¬Ö»ÐèÒªµ÷ÓÃÈ«¾ÖĿ¼ÖеÄreact-native¼´¿É£¬¸ø¿ª·¢Õß½ÚÊ¡Á˲»ÉٵĿռ䡣ÔÙÕßrnvm¸øReact NativeÏîÄ¿ÖеĶÔreact-native°æ±¾µÄʹÓôøÀ´ÁËÁé»îÐÔ£¬ËùÒÔrnvm¸üÊʺ϶àReact NativeÏîÄ¿µÄ¿ª·¢¡£

-rnvmµÄĿ¼½á¹¹

  prefix_node_modules

node_modules

react-native

react-native-cli

react_native_modules

react-native

v0.21.0

node_modules

react-native

v0.20.0

node_modules

react-native

react-native-cli

v1.0.0

node_modules

react-native-cli

»¹ÊÇÔÚÓû§Ä¿Â¼Ï´´½¨react_native_modules¡¢prefix_node_modulesÁ½¸öĿ¼½á¹¹¡£react_native_modulesµÄĿ¼ºÍÉÏÃæsinopia·¢²¼Ä£¿éÓõÄÊÇÒ»ÑùµÄ½á¹¹£¬¶¼ÊÇÓÃÀ´´æ·ÅÄ£¿éµÄ¡£Ä¬ÈϵÄÈ«¾Ö°²×°Ä¿Â¼ÔÚ¡°/usr/local/lib/node_modules¡±£¬ÕâÀïµÄprefix_node_modulesĿ¼¾ÍÊÇÓÃÌæ»»Ô­ÓеÄÈ«¾Ö°²×°Ä¿Â¼£¬ÕâÑù×öµÄºÃ´¦ÊDz»ÐèҪÿ´Î×°È«¾ÖÄ£¿éʱ¶¼Òªsudo¡£

-rnvmµÄÖ´ÐÐÁ÷³Ì

ÕâÀïÐèÒª½áºÏÒ»¸ö³¡¾°À´·ÖÎörnvmµÄÖ´ÐÐÁ÷³Ì£¬Ä³Ì쿪·¢ÈËÔ±´Ógithub cloneÁËÒ»·Ý±ðÈËдµÄReact NativeµÄ´úÂë£¬ÖØÃüÃûΪmycloneproject£¬ÏëÔÚ±¾µØÔËÐÐÆðÀ´£¬Õý³£Çé¿öÏÂÓ¦¸ÃÊǽøÈëmycloneprojectÏîÄ¿µÄ¸ùĿ¼£¬È»ºóÖ´ÐÐnpm install¡£ÕâÑù¾Í»á½«package.jsonÖÐÖ¸¶¨µÄËùÓÐÒÀÀµÄ£¿é¶¼°²×°ÔÚµ±Ç°Ä¿Â¼µÄnode_modulesĿ¼ÖС£ÄÇôʹÓÃrnvmÊÇÔõô°²×°µÄÄØ¡£

ÏÖÔÚ¼ÙÉèrnvmÖ»ÓÐÒ»¸öuseÃüÁ¸ñʽΪ rnvm use version¡£

¾ßÌåµÄÖ´ÐдúÂëÈçÏ£º

  $ cd mycloneproject

$ npm config set prefix ~/prefix_node_modules/node_modules

$ npm set registry http://host:port/

$ rnvm use 0.20.0

ÔÚÕâ¸ö¹ý³ÌÖз¢ÉúÁËÐ©Ê²Ã´ÄØ£¿

a¡¢ÏȽøÈëmycloneprojectÏîÄ¿µÄ¸ùĿ¼¡£

b¡¢ÉèÖÃÈ«¾ÖÄ£¿é°²×°Ä¿Â¼Îª~/prefix_node_modules/node_modules¡£

c¡¢ÉèÖÃnpmµÄ¾µÏñÖ¸Ïò×Ô¼ºµÄsinopia·þÎñÆ÷£¬ÕâÑùÖ®ºóµÄËùÓÐnpmÃüÁî¾Í»á´Ósinopia·þÎñÆ÷»ñȡģ¿éÁË¡£

d¡¢Ö´ÐÐrnvm useÃüÁî¡£´úÂëÖп´µ½¿ÉÒÔʹÓÃÈ«¾Ö¡°rnvm¡±ÃüÁÕâ¾ÍÒªÇórnvmÊÇÒ»¸önode.jsµÄÄ£¿é£¬ÇÒ¸ÃÄ£¿éʵÏÖÁËpackage.jonÖеÄbinÅäÖã¬Ê¹ÆäÖ§³ÖÈ«¾Ö°²×°¡£

e¡¢rnvm½ÓÊÕµ½Á½¸ö²ÎÊýÖ®ºóµÄÐÐΪ£º

1.ÔÚÄõ½²ÎÊýºó£¬rvnm»áÈ¥react_native_modules/react-nativeÖвéÕÒÊÇ·ñÓÐv0.20.0Ŀ¼£¬Èç¹ûÓÐÔò½øÈë¸ÃĿ¼£¬²¢Ö´ÐÐnpm link

2.Èç¹ûûÓУ¬Ôò´´½¨v0.20.0Ŀ¼£¬²¢½øÈë¸ÃĿ¼ִÐÐnpm install react-native@0.20.0¡£

3.Ö´ÐÐÍêºó£¬½øÈënode_modules/react-nativeÖУ¬Ö´ÐÐnpm link

4.½Ó×ÅÔڻص½mycloneprojectÏîÄ¿¸ùĿ¼£¬Ö´ÐÐnpm link react-native£¬È»ºóÔÚÖ´ÐÐnpm install¡£ÕâÑùmycloneprojectÏîÄ¿µÄÒÀÀµÄ£¿é¾Í¶¼°²×°Íê±Ï£¬ÇÒʹÓÃÁË0.20.0°æ±¾µÄreact-native£¬

Õâ±ãÊÇÒ»¸örnvmµÄ»ù±¾Ö´ÐÐÁ÷³Ì¡£µ±È»£¬ÕâÀïÒ²¿ÉÄÜ»áÓÐÐ©ÌØÊâÇé¿ö£¬ÈçֻʹÓÃrnvm use²»´«°æ±¾ÐÅÏ¢£¬ÕâÑùrnvm¾ÍÐèÒªÏÈ·ÖÎöpackage.jsonÖеÄreact-nativeµÄ°æ±¾ÐÅÏ¢£¬²¢½áºÏnpm info react-native»ñÈ¡À´µÄ°æ±¾ÐÅÏ¢½øÐд¦Àí£¬µÃ³ö×îÖÕÐèÒªµÄ°æ±¾ÐÅÏ¢£¬È»ºóÔÚÖ´ÐÐrnvm use ×îÖյİ汾ÐÅÏ¢¡£

ÕâÖ»ÊǸöuseÃüÁîµÄÖ´ÐзÖÎö¡£Ò²¿ÉÒÔÏñnvmÒ»Ñù£¬ÊµÏÖrnvm install¡¢rnvm ls¡¢rnvm currentµÈÃüÁî¡£

rnmvµÄgithubµØÖ·£ºhttps://github.com/GammaGos/rnvm/

3¡¢ÍêÕû¼Ü¹¹

ͼ1 »ùÓÚrnvmµÄ¿ª·¢¼Ü¹¹Í¼

»ùÓÚÉÏÃæµÄͼÐΣ¬ÕâÀï×ö¼ò¶ÌµÄÃèÊö¡£×ÜÌå·ÖΪÁ½¸ö´óµÄ²¿·Ö£¬Ò»¸öÊÇserver¶Ë£¬Ò»¸öÊÇclient¶Ë¡£server¶ËÊÇÖ¸sinopia·þÎñËùÔڵĶˣ¬Ö÷Òª¸ºÔðÌṩNPM˽ÓзþÎñ¡£Ôڴ¸Ã¶ËµÄʱºò£¬Ð轫³£ÓõÄreact-native°æ±¾ºÍreact-native-cli°æ±¾¶¼ÍÆË͵½¸Ã·þÎñÆ÷ÉÏ£¬±ãÓÚÖ®ºó¿Í»§¶ËµÄʹÓá£client¶ËÊÇÖ¸Óû§¶ËÒ²¾ÍÊÇ¿ª·¢Õß¶Ë¡£¸Ã¶Ë¸ºÔðReact NativeÏîÄ¿µÄ¹¹½¨¡£¸Ã¶ËÊôÓÚÏû·Ñ¶ËÊÇÖ÷Õ½³¡¡£ ÔÚÉÏͼÖУ¬¸Ã¶ËÖ÷Òª·¢ÉúµÄÂß¼­Îª£º

1¡¢¿ª·¢ÕßÏȹ¹½¨ÁËÒ»¸öReact Native ProjectAÏîÄ¿

2¡¢È»ºóʹÓÃrnvmÀ´°²×°ÒÀÀµÄ£¿é£¬

3¡¢rnmv½Ó×ÅÔÚÖ¸¶¨µÄĿ¼ÏÂÅжÏÊÇ·ñÓжÔÓ¦µÄÄ£¿é£¬

4¡¢Óеϰ»áÏÈÕÒµ½¶ÔÓ¦µÄÄ£¿é£¬È»ºóÔÙȥģ¿é¸ùĿ¼ÏÂ×önpm linkµÄ²Ù×÷£¬È»ºó»Øµ½React Native ProjectAÏîÄ¿µÄ¸ùĿ¼£¬Ö´ÐÐnpm link react-native²Ù×÷£¬½Ó×ÅÖ´ÐÐnpm instalµÄ²Ù×÷¡£

5¡¢Èç¹ûûÓÐÕÒµ½¶ÔӦģ¿éµÄ»°£¬»áÏòsinopia·þÎñÆ÷·¢ËÍÇëÇó£¬

6¡¢ÇëÇóÏÂÔØÐèÒªµÄÄ£¿é£¬²¢·ÅÈëÖ¸¶¨µÄĿ¼ÖУ¬

7¡¢´ýÄ£¿éÏÂÔØÍê±Ïºó£¬ Ö´ÐÐ4ÖеIJÙ×÷¡£

8¡¢Èç¹ûsinopia·þÎñÆ÷ҲûÓеϰ£¬»áÏñnpm·þÎñÆ÷·¢ÆðÇëÇó

9¡¢´ýÄ£¿éÏÂÔØÍêºó£¬Ö´ÐÐ4ÖеIJÙ×÷¡£

10¡¢È»ºó£¬ÔÚ½«¸ÄÄ£¿épublishµ½sinopia·þÎñÆ÷ÉÏ¡£

¿ª·¢ÖÐ

ÃæÁÙµÄÎÊÌâ

ͨ³£ÏîÄ¿ÖУ¬AppÐèÒª¿ª·¢AndroidºÍiOSÁ½¸ö°æ±¾,¾­³£»áÓõ½Ò»Ð©Í¼Æ¬£¬²¢ÐèÒª½«ÕâЩͼƬ´òÈëAppÖС£µ±¿ª·¢iOS°æ±¾Ê±£¬ÐèÒªÊÖ¶¯¼ÓÔØÕâЩͼƬ×ÊÔ´µ½xcodeÖС£µ±¿ª·¢Android°æ±¾Ê±ÓÖÐèÒªÊÖ¶¯µÄ¼ÓÔØÒ»´Î¡£ÕâÑù£¬µ±Ä³Ììij¸öͼƬÐèÒª¸üÐÂʱ£¬¾ÍÐèÒª¶ÔAndroidºÍiOS¶¼½øÐÐÐ޸ġ£Èç¹ûÒªÊÇÄܹ»ÈÃÁ½¸ö°æ±¾ÒýÓÃͬһ¸öͼƬ,ÄÇô¾Í»áʹ¿ª·¢±äµÃ¼ò±ã¡£

½â¾ö°ì·¨

Æð³õµÄÏë·¨

ÎÒÃÇ¿ÉÒÔ½èÖúshell½Å±¾´´½¨¡¢°áÔË¡¢½âÎöÎļþµÄÄÜÁ¦£¬¼ÓÉÏһЩ×Ô¶¨ÒåµÄ¹æÔò£¬À´ÊµÏÖAndorid¡¢iOSÁ½¸ö°æ±¾ÒýÓÃͬһ¸öͼƬµÄ¹¦ÄÜ¡£

ÏÂÃæÀ´¼ò¶ÌµÄ½éÉÜÏÂʵÏÖ˼Ïë¡£

iOS°æ±¾ÔÚImages.xcassetsÎļþ¼ÐÖд´½¨·ûºÏ¹æÔòµÄͼƬÎļþÒÔ¼°Îļþ¼Ð¡£Android°æ±¾ÔÚdrawable-hdpi,mdpiµÈÎļþ¼ÐÖд´½¨·ûºÏ¹æÔòµÄͼƬ¡£ÄÇôÕâ¸ö¹æÔòÊÇÊ²Ã´ÄØ£¬ÎÒÃÇ¿ÉÒÔͨ¹ýʹÓÃjsonÐÎʽµÄcongfigÎļþÀ´¶¨ÒåÕâ¸ö¹æÔò£¬¸ñʽÈçÏÂ:

{

"resources":[

{

//×ÊÔ´µÄ±ðÃû

"name":"rose",

//×ÊÔ´µÄÀàÐÍ

"type":"image",

//×ÊԴ·¾¶£¬¿ÉÒÔÏà¶ÔÒ²¿ÉÒÔ¾ø¶Ô

"url":"resources/image/rose.png",

......

},

{

"name":"flower",

"type":"image",

"url":"http://host/path/imagename.jpg" ......

}

]

}

È»ºóÔÙ½èÖúShellµÄjq²å¼þ£¬Í¨¹ý½âÎö¸Õ²Å¶¨ÒåµÄcongfigÎļþÀ´»ñµÃÔ¼¶¨µÄ¹æÔò£¬»ñµÃ¹æÔòµÄÖ÷Òªshell´úÂëÈçÏ£º

......

index=0; flag=0;

while ((flag<=0));do

read imgname <<< $(cat ./../../resources/image/resource.json |./jq '.[]' |./jq '.

['$index']'|./jq '.name')

read url <<< $(cat ./../../resources/image/resource.json |./jq '.[]' |./jq '.

['$index']'|./jq '.url')

done

/**Ê¡ÂÔ´´½¨Í¼Æ¬µÄ´úÂë**/

´ý»ñµÃ¹æÔòºó£¬¾Í¿ÉÒÔ¸ù¾Ý¹æÔòÉú³É¸÷¸ö°æ±¾¶ÔÓ¦µÄͼƬ¡£µ½´Ë£¬shell½Å±¾µÄÖ÷ÌåÂß¼­ÒѾ­½éÉÜÍê³É£¬ÊÇʱºò°ÑËüÈںϵ½Á½¸ö°æ±¾µÄʵ¼ÊÏîÄ¿ÖÐÔËÐÐÁË¡£

ÔÚAndroid°æ±¾ÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ý¿ª·¢Ò»¸öUnix executableÎļþ£¬À´·â×°×Ô¼ºµÄrun-androidÔËÐÐÃüÁ´úÂëÈçÏ£º

/**Ê¡ÂÔÇ°Ãæ½âÎöjsonÓë´´½¨Í¼Æ¬µÄ´úÂë**/

cd ../<androidÏîĿ·¾¶>/

react-native run-android

´ýÆô¶¯AndroidÏîÄ¿ºó£¬Í¼Æ¬Ë³ÀûµÄ¶ÁÈ¡µ½ÁË¡£

ÔÚiOS°æ±¾ÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ý¿ª·¢Ò»¸öshell½Å±¾£¬²¢°ÑËüÌí¼Óµ½XcodeÏîÄ¿µÄrun script phaseÖУ¬´ýÆô¶¯iOSÏîÄ¿ºó£¬È´·¢ÏÖ×ÊÔ´Îļþ¸ù±¾¶Á²»µ½¡£ÕâÊÇÎªÊ²Ã´ÄØ?

Ô­Òò·ÖÎö

-iOSÖÐReact NativeÏîÄ¿Æô¶¯Ë³Ðò£º

1.ÔÚÆô¶¯React Native XcodeÏîĿʱ£¬»áÏȼÓÔØÏîÄ¿ËùÒÀÀµµÄReactÏîÄ¿£¬½Ó×ÅÔËÐÐReactÏîÄ¿ÖÐÊÂÏȶ¨ÒåºÃµÄrun script phase£¬×îºóÔËÐÐpackger.sh¡£

2.ÆäÖÐpackger.shÖÐÎÒÃÇ¿´µ½ÈçϵĴúÂ룺

node "$THIS_DIR/../local-cli/cli.js" start "$@"

3.½Ó×ÅÎÒÃÇÕÒµ½ÁËcli.js£¬¿´µ½ÀïÃæµ÷ÓÃÁ˺öàÄ£¿é¡£ÆäÖÐdefault.config.jsÄ£¿éÖ¸¶¨ÁËJSºÍ×ÊÔ´µÄ¼ÓÔØÂ·¾¶£¬server.jsÄ£¿é³ýÁËÖ¸¶¨server¼àÌýµÄĬÈ϶˿ÚÍ⻹Óмì²ânode°æ±¾µÈ¹¦ÄÜ£¬runServer.jsÄ£¿éÓÃÀ´Æô¶¯server¡£

4.´ýserverÆô¶¯³É¹¦ºó£¬²ÅÔËÐе½iOS native code¡£Ò²¾ÍÊÇÕâ¸öʱºò£¬²Å»áÔËÐÐXcodeÏîÄ¿ÖУ¬ÊÂÏȶ¨ÒåºÃµÄrun script phaseÖÐÖ¸¶¨µÄshell½Å±¾£¬¶øÔÚÕâ¸öʱºò£¬ÔÚshell½Å±¾Öд´½¨×ÊԴ·¾¶ÊÇûÓÐÓõġ£ËùÒԾͻá³öÏÖÁËÉÏÃæ×ÊÔ´Îļþ¶Á²»µ½µÄÇé¿ö¡£

-AndroidÖÐReact NativeÏîÄ¿Æô¶¯Ë³Ðò£º

1.Ê×ÏÈÖ´ÐÐÉÏÃæ·â×°ºÃµÄUnix executableÎļþ£¬¸ÃÎļþÖлáµ÷ÓÃ×ÊÔ´ÎļþÉú³ÉµÄ´úÂ룬½«×ÊÔ´ÎļþÉú³É¡£

2.È»ºóÔÚ¸ÃÎļþÖлá¼ÌÐøÔÙÖ´ÐÐreact-native run-androidÃüÁ´Ëʱ¸ù¾Ýreact-native-cliÄ£¿éµÄpackage.jsonÖÐbinµÄ¶¨Ò壬µ÷ÓÃnode.jsÖ´ÐÐ$prefix/react-native-cli/index.js¡£

3.ÔÚindex.jsÖлáÏȼÓÔØcli.jsÄ£¿éÈ»ºóÔËÐÐÆärun·½·¨¡£ÔÚcli.jsÄ£¿éÖÐ×öµÄ¹¤×÷ºÍÉÏÃæ·ÖÎöµÄiOSÖеÄcli.js×öµÄ¹¤×÷ÊÇÒ»ÑùµÄ¡£

4.´ýserverÆô¶¯³É¹¦ºó£¬²Å»áÔËÐе½Android native code,ËùÒÔÔËÐзâ×°ºÃµÄUnix executableÊDz»»áµ¼ÖÂ×ÊԴʧЧµÄ£¬ÒòΪ×ÊÔ´Éú³É´úÂëÒѾ­ÔÚreact-native run-androidÃüÁîÔËÐÐ֮ǰ±»Ö´ÐйýÁË¡£

×îÖյĽâ¾ö°ì·¨

ΪÁËÈÃ×ÊÔ´Éú³ÉµÄ´úÂëÖ´ÐÐ˳ÐòÌáǰ£¬¿ÉÒÔÏÈÔö¼ÓÒ»¸öÃûΪAppPrepareµÄCommandÀàÐÍÏîÄ¿£¬À´ÔËÐдËShell¡£È»ºóÔÚXcodeÏîÄ¿Target DependenciesÖÐÌí¼ÓAppPrepareÏîÄ¿£¬ÕâÑù¾Í»áÏÈÔËÐÐAppPrepareµÄÏîÄ¿ºó²Å»áÔËÐÐXcodeÏîÄ¿£¬´Ó¶ø´ïµ½ÁËÎÒÃǵÄÄ¿µÄ¡£

ͼ2 XcodeÏîÄ¿ÒÀÀµÍ¼

   
2665 ´Îä¯ÀÀ       28
 
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖÓë̽ÌÖ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
 
Ïà¹ØÎĵµ

Android_UI¹Ù·½Éè¼Æ½Ì³Ì
ÊÖ»ú¿ª·¢Æ½Ì¨½éÉÜ
androidÅÄÕÕ¼°ÉÏ´«¹¦ÄÜ
Android½²ÒåÖÇÄÜÊÖ»ú¿ª·¢
Ïà¹Ø¿Î³Ì

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
Androidϵͳ¿ª·¢
AndroidÓ¦Óÿª·¢
ÊÖ»úÈí¼þ²âÊÔ
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

androidÈË»ú½çÃæÖ¸ÄÏ
AndroidÊÖ»ú¿ª·¢£¨Ò»£©
AndroidÊÖ»ú¿ª·¢£¨¶þ£©
AndroidÊÖ»ú¿ª·¢£¨Èý£©
AndroidÊÖ»ú¿ª·¢£¨ËÄ£©
iPhoneÏûÏ¢ÍÆËÍ»úÖÆÊµÏÖ̽ÌÖ
ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶ËUI²âÊÔ·ÖÎö
ÊÖ»úÈí¼þ×Ô¶¯»¯²âÊÔÑо¿±¨¸æ

Android¸ß¼¶Òƶ¯Ó¦ÓóÌÐò
AndroidÓ¦Óÿª·¢
Androidϵͳ¿ª·¢
ÊÖ»úÈí¼þ²âÊÔ
ǶÈëʽÈí¼þ²âÊÔ
AndroidÈí¡¢Ó²¡¢ÔÆÕûºÏ

ÁìÏÈIT¹«Ë¾ android¿ª·¢Æ½Ì¨×î¼Ñʵ¼ù
±±¾© Android¿ª·¢¼¼Êõ½ø½×
ijÐÂÄÜÔ´ÁìÓòÆóÒµ Android¿ª·¢¼¼Êõ
ijº½Ì칫˾ Android¡¢IOSÓ¦ÓÃÈí¼þ¿ª·¢
°¢¶û¿¨ÌØ LinuxÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ