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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Óµ±§Android Studio£¨¶þ£©£ºAndroid StudioÓëGradleÉîÈë
 
×÷ÕߣººÎ³©±ò À´Ô´£ºCSDN ·¢²¼ÓÚ£º 2015-12-23
  2671  次浏览      27
 

ÕªÒª£º±¾ÎÄΪ¡°Óµ±§Android Studio¡±ÏµÁеڶþƪ¡£ÔÚ¶ÁÕßÃÇÒѾ­¿ªÊ¼ÊìϤºÍ°®ÉÏAndroid StudioÖ®ºó£¬×÷ÕßÁоÙÁËһЩ½ÏΪÉîÈëÓֱȽÏʵÓõŦÄÜ£¬²¢·ÖÏíÁË×Ô¼ºÒÔ¼°ÔÚ°ïÖúÓû§¼¯³É¹ý³ÌÖÐÓöµ½µÄ¿Ó£¬ÏàÐŶԳõѧÕß´óÓÐñÔÒæ¡£

¹ØÓÚѧϰ·½Ê½

Ôø¾­¸úÅóÓÑÌÖÂÛ¹ýÎÒÃÇËù½ÓÊܹýµÄ´óѧ¹¤¿Æ½ÌÓý£¬¶¼ÊÇÒ»ÉÏÀ´ÏÈѧ»ù´¡ÀíÂÛ£¬×îºóÔÙÀ´Ò»¸ö½ð¹¤ÊµÏ°¡£Ò»¿ªÊ¼²»ÖªµÀΪʲô¶øÑ§£¬Ñ§²»½øÈ¥£¬»Ä·ÏÁË»ù´¡£¬µÈµ½½ð¹¤ÊµÏ°µÄʱºò£¬ÓÖ·¢ÏÖ»ù´¡²»ÀΣ¬ºó»Ú²»ÒÑ¡£ ¿¼Âǵ½´«Í³½ÌÓý·½Ê½µÄ²»×ãÖ®´¦£¬±ÊÕßÔÚ×éÖ¯±¾ÏµÁÐÎÄÕµÄʱºòÊÇÏȽ²ÈëÃÅʵÀý£¬½ø¶øÑ§Ï° Gradle ºÍ Groovy »ù´¡Ô­Àí£¬×îºóѧϰ½ø½×ʵÀý¡£

ÉÏÆªÎÄÕ½éÉÜÁË´ÓADT Ç¨ÒÆµ½ Android Studio£¬ÏàО­¹ýºÜ¶Ìʱ¼äµÄʹÓÃÖ®ºó£¬ÒѾ­¿ªÊ¼ÊìϤºÍ°®ÉÏ Android Studio ÁË¡£»ù´¡µÄ¹¦ÄÜÎҾͲ»½²ÁË£¬ÏÂÃæÁоÙһЩ½ÏΪÉîÈëÓֱȽÏʵÓõŦÄÜ¡£

Android Studio Ïà¹Ø¹¦ÄܽéÉÜ

Îļþ¼Ð×éÖ¯ÊÓͼ

×î³£ÓõÄÓÐ Project ºÍ Android ÊÓͼ£¬Ç°Õß°´ÕÕÏîÄ¿ÎļþÊ÷½øÐÐ×éÖ¯£¬ºóÕßÊÇÒÔ Gradle ¹¹½¨Îļþ×÷ΪºËÐĽøÐÐ×éÖ¯£º

Project ÊÓͼÓë Android ÊÓͼ

Gradle Ïà¹ØÎļþ½á¹¹

ÈÃÎÒÃÇÀ´¹Û²ìÒ»ÏÂAndroid Studio ÖÐ Gradle Ïà¹ØµÄ½á¹¹£º

.
©À©¤©¤ gradle
©¦   ©¸©¤©¤ wrapper //ËùʹÓÃµÄ Gradle °ü×°Æ÷ÅäÖÃ
©À©¤©¤ .gradle //ËùʹÓà Gradle °æ±¾
©¦   ©¸©¤©¤ 2.8
©À©¤©¤ AsInDepth.iml
©À©¤©¤ app //app module
©¦   ©À©¤©¤ app.iml
©¦   ©À©¤©¤ build
©¦   ©À©¤©¤ build.gradle //app module µÄ build.gradle
©¦   ©À©¤©¤ libs
©¦   ©À©¤©¤ proguard-rules.pro
©¦   ©¸©¤©¤ src
©À©¤©¤ build.gradle //ÏîÄ¿ build.gradle£¬Í¨³£ÅäÖÃÏîĿȫ¾ÖÅäÖã¬Èç repositories ºÍ dependencies
©À©¤©¤ gradle.properties //ÏîÄ¿ÊôÐÔÎļþ£¬Í¨³£¿ÉÒÔ·ÅÖÃһЩ³£Á¿
©À©¤©¤ gradlew //Gradle °ü×°Æ÷¿ÉÖ´ÐÐÎļþ
©À©¤©¤ gradlew.bat //Gradle °ü×°Æ÷¿ÉÖ´ÐÐÎļþ(Windows)
©À©¤©¤ lib //lib module
©¦   ©À©¤©¤ build
©¦   ©À©¤©¤ build.gradle //lib module µÄ build.gradle
©¦   ©À©¤©¤ lib.iml
©¦   ©À©¤©¤ libs
©¦   ©À©¤©¤ proguard-rules.pro
©¦   ©¸©¤©¤ src
©À©¤©¤ local.properties //ÏîÄ¿µÄ±¾µØÊôÐÔ£¬Í¨³£ÊÇ sdk ËùÔÚλÖÃ
©¸©¤©¤ settings.gradle //ÏîÄ¿×ÜÌåÉèÖã¬Í¨³£ÊÇÅäÖÃÏîÄ¿ÖÐËùÓÐµÄ module

Invalidate Cache

Android Studio »á³öÏÖË÷ÒýµÄÎÊÌ⣬ÄÇ¿ÉÒÔ´Óɾ³ý cache ÖØ½¨Ë÷Òý£¬File->Invalidate Caches/Restart

Multiple Language Editor

¶àÓïÑÔÎÄ×Ö¿ÉÒÔͨ¹ýÓÒ»÷Îļþ Open Translation Editor£¬¿ÉÒÔͬʱ½øÐб༭£¬µ«ÊÇÎÒ·¢ÏÖÈç¹û°Ñ strings.xml ¸ÄÁ˱ðµÄÃû×Ö£¬Õâ¸ö¹¦ÄܾͲ» work ÁË¡£

Gradle Ïà¹Ø¹¦ÄܽéÉÜ

Gradle View

µã»÷ºìÉ«Èý½ÇÔËÐа´Å¥£¬ÆäʵÊÇÖ´ÐÐÁË Gradle µÄ һЩÁÐÈÎÎñ£¬Èç¹ûÄãÏë·Ö±ðÖ´ÐÐһЩÈÎÎñ£¬Ôò¿ÉÒÔ´Ó Gradle View ÀïÃæ²é¿´£º

gradle view

ÃüÁîÐÐ

¹¤×÷ÇøÏ·½£¬ÓÐÒ»¸ö½Ð×ö Terminal µÄ tab£¬µã»÷Ö®ºó£¬»á×Ô¶¯ cd µ½µ±Ç° project ¸ùĿ¼Ï£¬¿ÉÒÔÊäÈëÈçÏÂÃüÁîÀ´³¢ÊÔÏ£º

./gradlew build 

Windows ÏÂÓ¦¸ÃÊÇ gradlew.bat build£¬ÏÂÃæ¾ùÒÔ Mac ΪÀý£¬²»ÔÙ׸Êö

¿ÉʹÓà help ²ÎÊýÀ´²é¿´ÓÐÄÄЩѡÏ

./gradlew --help

ÏÂÃæ½éÉÜÒ»Ð©ÖØÒªµÄÑ¡Ï

  • ²é¿´ÔËÐÐ log

ÓÐЩʱºò£¬Ò»¸öÈÎÎñÔËÐÐʧ°Ü£¬Ö»¸ø³öÒ»¸ö´íÎó£¬Ã»Óиø¾ßÌåÔ­Òò£¬Äã¾ÍÐèÒª²é¿´¸ü¶àÐÅÏ¢£¬¿ÉÒÔʹÓòÎÊý --info »òÕß --stacktrace£º

./gradlew build --info
  • Ö¸¶¨ module »òÕß build.gradle

Gradle ĬÈÏÊǵ±Ç°Ä¿Â¼ÏÂѰÕÒ build.gradle ÎļþÖ´ÐÐÈÎÎñ£¬ÕâÑùÖ´ÐÐ build »áʹµÃÕû¸ö project ËùÓÐµÄ module µÄ build ÈÎÎñ¶¼»áÔËÐУ¬À˷Ѳ»±ØÒªµÄʱ¼ä£¬¿ÉÒÔÖ¸¶¨ module (-p) »òÕß build.gradle (-b)ÎļþÒÔËõС×÷Ó÷¶Î§£º

./gradlew -p app build

Sync

Õý³£Çé¿öÏ£¬ÐÞ¸ÄÁË build.gradle Îļþ£¬ÎļþÉÏ·½¾Í»áÓÐÒ»¸ö sync µÄ°´Å¥£¬µã»÷Ö®ºó»áÖØÐ¹¹½¨Õû¸ö build.gradle¡£µ«ÊÇÄ³Ð©ÌØÊâÇé¿ö£¬Õâ¸öͬ²½¿ÉÄÜ»áʧ°Ü¡£ÄǾÍÐèÒªÒ»¸ö¶îÍâµÄ´¥·¢¡£

·½·¨ÓÐËÄ£º

  • ÔÙÐÞ¸ÄÒ»ÏÂÎļþ£¬±ã»áÔٴγöÏÖ sync °´Å¥
  • µã»÷ÉÏ·½¹¤×÷ÇøµÄ°´Å¥

sync button top

  • µã»÷ Gradle View ÖеÄͬ²½°´Å¥

sync button top

  • ÃüÁîÐÐÖ´ÐÐÒ»´Î build

Build Variant

Ê×ÏÈÒªÁ˽âÁ½¸ö¸ÅÄ

Build Type

·ÖΪ debug ºÍ release£¬Õâ¸ö¸ÅÄîÈÝÒ×¶®¡£

Product Flavor

Õâ¸ö¸ÅÄîÖ÷ÒªÊÇΪÁËÂú×ãÈçÏÂÐèÇó£ºÍ¬Ò»·Ý´úÂëÒª´ò¶à¸ö°ü£¬ÀýÈçÊÕ·Ñ pay ºÍÃâ·Ñ free£¬Âß¼­ÉÏÓÐÒ»Ð©Ð¡Çø±ð£¬ÓÖ²»Ïëͨ¹ýÂß¼­ÅжÏÕâÖÖ³óªµÄ·½Ê½¡£»òÕßÄãҪʵÏÖËùν¶àÇþµÀ´ò°ü¡£

Build Variant = Build Type x Product Flavor

ÅäÖúÃÁËBuild Type ºÍ Product Flavor Ö®ºó£¬Gradle »áÉú³ÉÈô¸É¸ö°ü£¬·Ö±ðΪ£º

payDebug
payRelease
freeDebug
freeRelease

ÅäÖÃʵÀý

build variant

¼ÙÉèÕâÁ½¸ö°æ±¾µÄ App£¬ÓÐÒ»¸öÀà DiffBean ÐèÒª×ö´óÁ¿µÄÂß¼­Åжϣ¬Ôò¿ÉÒÔͨ¹ýÔÚ build.gradle ÖÐÅäÖà product flavor£¬ÔÚ´úÂëÖÐÌí¼ÓÁ½¸öÓë main ƽÆëµÄÎļþ¼Ð£¬ °Ñ DiffBean ´Ó main Öгé³öÀ´£¬·Ö±ð·ÅÔÚÁ½¸öÎļþ¼ÐÖУ¬Ö»¹Ø×¢¶ÔÓ¦µÄÂß¼­¼´¿É¡£

¹ØÓÚ Product Flavor Öж¼Äܶ¨ÒåÄÄЩÊôÐÔ£¬Çë²Î¿¼Android Gradle DSL¡£

Gradle ʹÓõIJֿâ

ҪʹÓÃÔ¶³ÌÒÀÀµ£¬¾ÍµÃÓиö¿âµÄ²Ö¿â£¬Gradle Ö§³Ö maven ²Ö¿â¡£ÕâЩ¿â¿ÉÒÔÊǹ«Óõģ¬ÀýÈç mavenCentral »òÕß jcenter£¬Ò²¿ÉÒÔʹÓÃ˽Óп⡣

±ÊÕßÔø¾­ÉÏ´«¹ý¹«Óÿ⵽ mavenCentral ºÍ jcenter£¬Ç°Õߵķ±ËöÓëÄÑÒÔ¹ÜÀí£¬ÈÃÈËÉî¶ñÍ´¾ø¡£Android Studio ÔÚ0.8.0°æ±¾ÒԺ󣬽« jcenter ×÷ΪĬÈ쵀 maven ¿â¹«ÓÿâÀ´Ô´¡£

˽Óпâ¿ÉÒÔÍйÜÔÚÈκÎÒ»¸öÄÜ·ÃÎʵ½µÄµØ·½£¬¿ÉÒÔÍйÜÔÚ bintray ÉϵÄ˽Óпռ䣬Ҳ¿ÉÒÔÊÇÄÚÍø·þÎñÆ÷ÉÏ£¬ÉõÖÁ¿ÉÒÔÊDZ¾»ú´ÅÅÌÉÏ¡£

ÏÂÃæÊDZ¾ÈËʹÓõIJֿâµÄÒ»¸öÀý×Ó£º

allprojects {
repositories {
jcenter()
mavenCentral()
maven {
url 'file:///Users/myusername/repo/'
}
}
}

¹ØÓڿ⣬»áÔÚ±¾ÏµÁеÄËÄÆª»áÓиüÏêϸµÄÐðÊö¡£

Óöµ½µÄ¿Ó

±ÊÕßËùÔÚµÄÏîÄ¿µÄ°üÒѾ­·¢²¼µ½ÁË mavenCentral ºÍ jcenter£¬ºÜ¶àÓû§µÄÔÚ¼¯³ÉµÄʱºò£¬Óöµ½ÎÊÌ⣬ÆäÖÐ×î¾­µäµÄÎÊÌ⣬±ãÊÇÏÂÃæµÄÈý¸ö¡£

ÏÂÔØÒÀÀµ¿âʧ°Ü£¬±¨ peer not found

Á¬½Ó jcenter ¿âĬÈÏʹÓà https ЭÒ飬³öÏÖÕâ¸ö´í£¬¶àÊýÇé¿ö϶¼ÊÇÒòΪÁ¬½Óʧ°ÜÁË£¬Ô­ÒòÂÄã¶®µÄ¡£ ¿ÉÒÔ³¢ÊÔ½« jcenter ¸Ä³ÉĬÈÏʹÓà http Á¬½Ó£º

jcenter {
url "http://jcenter.bintray.com/"
}

ÏÂÔØ²»µ½Ìض¨µÄ°æ±¾

Maven ºÍ Gradle ¶¼»áÓÐÒ»¸ö»º´æ¿â£¬Ä¬Èϰ²×°µÄÇé¿öÏ£¬ÊÇÔÚÓû§¸ùĿ¼Ï嵀 .m2 »òÕß .gradle Îļþ¼ÐÖС£ ¿ÉÒÔ³¢ÊÔɾ³ýÀïÃæµÄÎļþ¡£ÀýÈ罫 Gradle µÄ cache Îļþɾ³ý£º

rm -rf ~/.gradle/caches/

×¢Ò⣺Õâ¸ö²Ù×÷¿ÉÄܻᵼÖÂËùÓеÄÔ¶³Ì¿â¶¼ÐèÒªÖØÐÂÏÂÔØ£¬ÒªÈý˼ºóÐС£

¿âÖØ¸´³åÍ»

±ÊÕߵİüʹÓÃÁË com.android.support:support-v4:19.0.0 °ü£¬¿ÉÄÜÓû§µÄ App ҲʹÓÃÁËÕâ¸ö°ü£¬¾Í¿ÉÄÜÔÚ±àÒë½øÐдúÂëºÏ²¢µ½Ê±ºò³öÀàËÆµÄ´í£º

UNEXPECTED TOP-LEVEL EXCEPTION
multiple dex files define Landroid/support/annotation/AniRes

Õâ¸öʱºò£¬ÔÚ module µÄ build.gradle µÄ dependency Ìí¼ÓÒÀÀµÊ±£¬¼ÓÈë exclude ¹æÔò£º

compile ('com.bugtags.library:bugtags-lib:latest.integration') {
exclude group: 'com.android.support', module: 'support-v4'
}

ºóÐøÒýÑÔ

½²µ½ÕâÀÓÐЩ¶ÁÕß¿ÉÄÜ»áÓöµ½¸úÎÒµ±Ê±¿ªÊ¼Ê¹Óà Gradle Ò»ÑùµÄÎÊÌ⣺Óöµ½ÎÊÌâ¾Í Stack Overflow£¬ÕÒµ½ workaround Á˵«²»ÖªµÀΪʲô£¬gradle °æ±¾¸üÐÂÁË£¬·¢ÏÖ²» work ÁË£¬ÉõΪã°âê¡£

¾¿ÆäÔ­Òò£¬¶¼ÊDz»Àí½â»ù´¡¡£ÏÂÃæ¶óÒª¹´ÀÕ¸ö´ó¸Å¡£

Ê×ÏÈ Gradle ÊÇÒ»¸ö¹¹½¨Æ½Ì¨£¬ËüʹÓõÄÊÇ Groovy ÓïÑÔ¡£

GroovyÊÇÒ»ÖÖ»ùÓÚ Java µÄÓïÑÔ£¬ÌṩÁ˸üºÃµÄ¶¯Ì¬ÌØÐÔ£¬¿ÉÒÔʹÓñհüʹµÃ±à³Ì¸üÁé»î£¬ºÜÊʺÏ×ö½Å±¾ÓïÑÔ¡£

ÉÏÃæÌáµ½µÄ settings.gradle ºÍ build.gradle ÔÚ Gradle ƽ̨ÖУ¬Æäʵ¶¼ÊÇÒ»¸ö Groovy ¶ÔÏó¡£

Gradle ͨ¹ý²å¼þ£¨plugin£©µÄ·½Ê½À´Ö§³Ö¹¹½¨¡£²å¼þÊǺܶàÈÎÎñ£¨task£©µÄ¼¯ºÏ£¬task ÖÐÓÖ°üº¬ÁËÐí¶à action¡£

¶øÀýÈç productFlavors ¶¼ÊÇÒ»¸öËùνµÄ DSL£¬²å¼þ¶¼¶¨ÒåÁ˺ܶàµÄ DSL£¬ÎÒÀí½âµÄËùνµÄ DSL ¾ÍÊÇÒ»¸öСÓïÑԹ淶ÓÃÀ´´¦ÀíÒ»¸öÌØ¶¨µÄÊÂÇ飨´ó¶àÇé¿öÏÂÊÇÅäÖã©¡£Android µÄ²å¼þµÄ DSL ÎĵµÔÚAndroid Gradle DSLÓÐ˵Ã÷¡£

Àí½âÁËÒÔÉÏ»ù´¡Ö®ºó£¬Äã¾Í»áÖªÆäÈ»£¬ÖªÆäËùÒÔÈ»ÁË¡£

ÒÔÉÏ֪ʶ£¬ÏÂһƪ½«»áÏêϸ½éÉÜ¡£¾´ÇëÁôÒâ¡£

 

   
2671 ´Îä¯ÀÀ       27
 
Ïà¹ØÎÄÕÂ

ÊÖ»úÈí¼þ²âÊÔÓÃÀýÉè¼ÆÊµ¼ù
ÊÖ»ú¿Í»§¶Ë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ÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ