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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Óµ±§ Android Studio Ö®ËÄ£ºMaven ²Ö¿âʹÓÃÓë˽Óвֿâ´î½¨
 
×÷Õߣº freefaces À´Ô´£ºCSDN²©¿Í ·¢²¼ÓÚ£º 2016-1-29
  4130  次浏览      27
 

±¾ÎÄΪ¡°Óµ±§Android Studio¡±ÏµÁеÚËÄÆª¡£×÷Õߺγ©±ò£¬ÏÖÈÎBugTags¼¼Êõ×ܼ࣬¹Ø×¢Òƶ¯SDKÑз¢¡¢ºó¶Ë·þÎñÉè¼ÆÓëʵÏÖ£¬¸öÈ˲©¿Í£º http://kvh.io/¡£

ʹÓà Android Studio£¬±ØÈ»ÒªÓë maven ²Ö¿âƵ·±´ò½»µÀ£¬ÔÚ´´ÔìºÍ·ÖÏí×Ô¼º´òÔìµÄ Android library µÄʱºò£¬maven ²Ö¿âµÄ֪ʶ¸üÊDZز»¿ÉÉÙ¡£±¾Õ½«Îª¿ª·¢ÕßϵͳÊáÀíÕâ·½ÃæµÄ֪ʶ¡£

ʹÓᢴ´ÔìºÍ·ÖÏí

±ÊÕßÔø¾­²»Ë¼Á¿Á¦µÄ˼¿¼¹ý¡ºÊÇÊ²Ã´ÍÆ¶¯ÁË»¥ÁªÍø¼¼ÊõµÄ¿ìËÙ·¢Õ¹£¿¡»ÕâÖÖΰ´óµÄÃüÌâ¡£½áÂÛÊÇ£¬³ýÁËĦ¶û¶¨ÂÉÖ®Í⣬¼¼Êõ¾­ÑéµÄ¿ìËÙ»ýÀۺ͹㷺·ÖÏí£¬Ò²ÊÇÖØÒªµÄÔ­Òò¡£

ÓÐÈËÏ·³Æ£¬¡ºÐ´ Java£¬Ê×ÏÈҪѧ»áÑ¡°ü¡»£¬ÔÚÕâÀï²»ºÃÆÀÂÛ¶Ô´í¡£²»¹ýÕâ¾ä»°ÀïÃæ£¬ÖÁÉÙ°üº¬Á½²ãÒâ˼£ºÊ×ÏÈ Java ÓдóÁ¿µÄÏֳɵÄÒÀÀµ°ü£¬²»±ØÒª×Ô¼ºÔìÂÖ×Ó£»Æä´Î£¬Java µÄ°ü´æ·Å½ÏΪ¼¯ÖУ¬¼¯³É·½Ê½Ò²·½±ã¡£

±ÊÕß´ÓÊ Android ºÍ Java ¿ª·¢ÒÔÀ´£¬¾­ÀúÁ˼¸¸ö½×¶Î£º

±ÕÃÅÔìÂÖ×Ó > ʹÓñðÈ˵ÄÂÖ×Ó > ¿ªÃÅÔìÂÖ×Ó > ·ÖÏíÂÖ×Ó

ÔÚʹÓᢴ´Ôì¡¢·ÖÏíÂÖ×ӵĹý³ÌÖУ¬maven ²Ö¿âµÄʹÓÿÉν±Ø±¸¼¼ÄÜ¡£

ÏàП÷λʹÓà Android Studio£¬¶ÔÓÚ jcenter()¡¢mavenCentral() µÈ¸ÅÄîÓ¦¸ÃÊÇ˾¿Õ¼û¹ßÁË¡£³ÌÐòÔ±ÒªÖªÆäÈ»£¬ÖªÆäËùÒÔÈ»¡£±¾Æª½«°´ÕÕÈçÏÂÂöÂç½éÉÜÔÚ Android Studio ÖÐ Maven ²Ö¿âÏà¹ØµÄ¸ÅÄîºÍÓ¦Óá£

  • Maven °ü
  • Maven ²Ö¿â
  • ·¢²¼°üµ½±¾µØ²Ö¿â
  • ·¢²¼°üµ½ Bintray Jcenter Ô¶³Ì²Ö¿â
  • ·¢²¼°üµ½ Sonatype MavenCentral Ô¶³Ì²Ö¿â
  • ´î½¨Ë½ÓÐ Sonatype ²Ö¿â
  • ´î½¨Ë½ÓÐ Artifacotory ²Ö¿â

Maven °ü£¨Package£©

ÖÁÓÚ Maven ÊÇʲô£¬Çë²Î¿¼ Apache Maven¡£

¶ÔÓÚ Android ¿ª·¢Õß¶øÑÔ£¬Ö»ÐèÒªÖªµÀ Maven ÊÇÒ»ÖÖ¹¹½¨¹¤¾ß£¬Maven °üÊÇÓÉËùν POM£¨Project Object Model£©Ëù¶¨ÒåµÄÎļþ°ü¸ñʽ¼´¿É¡£

Gradle ¿ÉÒÔʹÓà Maven °ü£¬¶øÇÒ´ó²¿·ÖµÄ Android Äܹ»Ê¹ÓõÄÔ¶³ÌÒÀÀµ°ü¶¼ÊÇ Maven °ü¡£

ÏÈÀ´¿´Ò»¸öÍйÜÔÚij²Ö¿âÉ쵀 Maven °ü£ºBugtags-Android-Lib Ëù°üº¬µÄÄÚÈÝ£º

bugtags-lib-1.1.0-javadoc.jar//javadoc Îļþ
bugtags-lib-1.1.0-javadoc.jar.asc//javadoc ÎļþµÄÇ©Ãû
bugtags-lib-1.1.0-sources.jar//Ô´ÂëÎļþ
bugtags-lib-1.1.0-sources.jar.asc//Ô´ÂëÎļþµÄÇ©Ãû
bugtags-lib-1.1.0.aar//Android Library µÄÖ÷Îļþ°ü
bugtags-lib-1.1.0.aar.asc//Ö÷Îļþ°üµÄÇ©Ãû
bugtags-lib-1.1.0.pom//°üÃèÊöÎļþ
bugtags-lib-1.1.0.pom.asc//ÃèÊöÎļþµÄÇ©Ãû

¶ÔÓÚÒ»¸öºÏ·û¹æ·¶µÄ Maven Package£¬pom Îļþ¡¢aar£¨»òÕß jar£© ÎļþÊDZØÐëµÄ¡£

¶ø javadoc Îļþ¡¢Ô´ÂëÎļþ¡¢Ç©ÃûÎļþ¶¼²»ÊDZØÒªµÄ£¬µ«ÊÇijЩ¹«¿ª²Ö¿â£¨Èç mavenCentral £©ÓдËÒªÇó¡£

ʹÓÃÕâ¸ö°üµÄ·½Ê½£¬ÏàÐÅ´ó¼ÒÒѾ­ºÜÊìϤÁË£º

dependencies {
compile 'com.bugtags.library:bugtags-lib:1.1.0'
}

POM Îļþ

Ò»¸ö Maven Package£¬×îÖØÒª¾ÍÊÇ POM£¨Project Object Model£© Îļþ£¬ÕâÆäʵÊÇÒ»¸ö XML Îļþ£¬ÕâÀï½ØÈ¡ Bugtags-Android-Lib POM Ö÷ÒªÄÚÈÝÈçÏ£º

<xml version="1.0" encoding="UTF-8">
<project xsi:schemaLocation="http://maven.apache.org/POM/
4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bugtags.library</groupId>
<artifactId>bugtags-lib</artifactId>
<version>1.1.0</version>
<packaging>aar</packaging>
<dependencies>
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-v4</artifactId>
<version>19.0.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
  • modelVersion: ´Ó mvn 2.x Æð£¬Õâ¸öÊýÖµ¶¼ÊÇ4.0.0
  • packaging£º´ò°ü·½Ê½£¬aar ÊÇ Android Libirary µÄ´ò°ü·½Ê½£¬³£ÓõϹÓÐ jar
  • dependency£ºÉùÃ÷ÒÀÀµÁбí
  • °üµÄΨһ±êʾ£º
<!--°ü×é id£¬Í¨³£ÊÇ·¢²¼ÕßÓµÓеÄÓòÃûµÄ·´Ïò£¬ÒÔÃâ¸ú±ðÈ˵ÄÖØ¸´-->
<groupId>com.bugtags.library</groupId>
<!--°ü artifactId£¬²»ºÃÒâ˼ÎÒÒ²²»ÖªµÀÈçºÎ׼ȷ·­Ò룬Æäʵ¾ÍÊÇ×éÒÔÏÂÓ¦¸ÃÓÐÒ»¸ö¸üСµÄ¹éÀà-->
<artifactId>bugtags-lib</artifactId>
<!--°ü°æ±¾-->
<version>1.1.0</version>

ÆäÖÐÈý¸ö×Ö¶ÎÓë Gradle µÄÒÀÀµ¸ñʽ 'com.bugtags.library:bugtags-lib:1.1.0' ðºÅ·Ö¸îµÄÈý¶ÎÒ»Ò»¶ÔÓ¦¡£Õâ¾Í½âÊÍÁËËùνµÄ Gradle ¼æÈÝ Maven °ü¡£

Maven ²Ö¿â

Maven °ü¼¯Öдæ·ÅµÄµØ·½£¬¾ÍÊÇ Maven ²Ö¿â¡£ÕâЩ²Ö¿â£¬¿ÉÒÔÊÇ·ÅÔÚ±¾µØ£¬Ò²¿ÉÒÔ·ÅÔÚij¸öÔ¶³Ì·þÎñÆ÷ÉÏ¡£ ¿ÉÒÔÊÇ˽Óвֿ⣬Ҳ¿ÉÒÔÊǹ«¿ªµÄ¡£ÏÂÃæÊDZÊÕßÈÕ³£¿ª·¢ÓõĿâÁÐ±í£º

mavenCentral();
jcenter()
maven {
url 'file:///Users/my-user-name/Documents/Android/repo/'
}
maven {
url 'http://192.168.99.100:8081/content/repositories/releases/'
}

Android Studio Gradle Ö÷ÒªÖ§³ÖÁ½¸ö Maven ÖÐÑë¿â£ºmavenCentral ºÍ jcenter¡£

  • mavenCentral ÊÇ×îÔçµÄ maven ÖÐÑë²Ö¿â
  • jcenter ÊÇ Android Studio 0.8 °æ±¾ÆðµÄĬÈÏ maven ÖÐÑë²Ö¿â
  • µÚÈý¸öÊDZÊÕߵı¾»úµÄ²Ö¿â
  • µÚËĸöÊDZÊÕß²¿ÊðÔÚÄÚÍø·þÎñÆ÷µÄ˽Óвֿâ

¶ÁÕß¿ÉÄܻᷢÏÖÁ½¸öÎÊÌ⣺

  • ΪʲôÓÐÁË mavenCentral£¬¹È¸è»¹Çл»µ½ÁË jcenter£¿
  • maven { url : xxx}£¬ÕâÖÖ¸ñʽ¿ÉÒÔÅäÖÃÈκÎÒ»¸ö´æÔڵIJֿ⣿

½âÊÍÈçÏ£º

jcenter VS. mavenCentral

¸ù¾ÝÕâÆª²©¿Í£¬jcenter ¾ßÓÐÈçÏÂÓÅÊ¤ÌØµã£¬Ê¹µÃ¹È¸è½øÐÐÇл»£º

  • jcenter ÊÇÒ»¸ö mavenCentral µÄ³¬¼¯£¬jcenter »¹°üº¬ÁËÆäËû maven °ü
  • jcenter ¾ßÓиüºÃµÄ cdn£¬Ä¬ÈÏÖ§³Ö https£¬Õâ¸ö¶ÔÓڹȸèÓо޴óÎüÒýÁ¦
  • bintray£¨jcenter µÄ·þÎñÌṩÉÌ£©±íʾ jcenter ¾ßÓиüºÃµÄÐÔÄÜ
  • ÓÐÊý¾Ý±íÃ÷ bintray jcenter Õ¼ÓøüÉٵı¾µØ»º´æ¿Õ¼ä
  • ¸üºÃµÄ½»»¥½çÃæ£¬¿ÉÒÔ´Ó jcenter Ïò mavenCentral ͬ²½°ü£¨ÏÂÃæÁ½¸öƽ̨µÄʹÓý̳̽«»á֤ʵÕâÒ»µã£©

±ÊÕßÇײ⣬ÔÚ bintray ÉÏ·¢²¼°üµ½ jcenter ÔÚÒ×ÓÃÐÔÉϵÄÈ·±È ÔÚ sonatype ·¢²¼µ½µ½ mavenCentral ÒªºÃµÃ¶à¡£

ʹÓ÷ûºÏ¹æ·¶µÄ maven ²Ö¿â

û´í£¬Äã¿ÉÒÔͨ¹ý maven { url : xxx }ʹÓÃÈκÎÒ»¸ö·ûºÏ maven ¹æ·¶µÄ²Ö¿â¡£

  • ´æÔÚ±¾µØµÄ
maven {
url 'file:///Users/my-user-name/Documents/Android/repo/'
}
  • ´æÔÚÄÚÍø·þÎñÆ÷µÄ
maven {
url 'http://192.168.99.100:8081/content/repositories/releases/'
}
  • ´æÔÚij¸öÔ¶³Ì·þÎñÆ÷µÄ
maven {
url 'https://raw.githubusercontent.com/liaohuqiu/umeng-libs/master/repository'
}

´Ë²Ö¿âÓÉ liaohuqiu ͬѧΪ·½±ã´ó¼ÒʹÓÃÓÑÃË¿ª·¢Õß¹¤¾ß£¬°ÑÏàÓ¦µÄ°ü×ö³ÉÁË·ûºÏ¹æ·¶µÄ Maven °ü£¬ÍйÜÔÚ github ÏîÄ¿ÖС£

·¢²¼ Maven °ü

ʹÓà maven °üÏàÐÅÒѾ­ºÜÇå³þÁË£¬ÈÃÎÒÃǸü½øÒ»²½¡£

µ±ÎÒÃÇÔÚÈÕ³£¿ª·¢Êµ¼ùÖУ¬»ýÀÛÁËһЩ¹«¹²¿â£¬ÏëÒª¹Ì¶¨ÏÂÀ´£¬±»×Ô¼º»òÕß±ðÈË·½±ãµÄʹÓ㬾ÍÐèÒª·¢²¼ maven °ü¡£

Ò»¸ö·ûºÏ¹æ·¶µÄ maven °üÖÁÉÙ°üº¬ pom ÎļþºÍÖ÷Îļþ°ü¡£ÄѵÀÕâЩ¶¼ÒªÊÖ¶¯±àдºÍ´´½¨Ã´£¿

´ð°¸ÊÇ£ºÓÐÁË gradle ²å¼þ£¬ÄãÖ»ÐèÒª¸ÉºÜÉÙµÄʶù¡£

È«¾ÖÉ趨

ÏÂÃæÒÔ·¢²¼ÕâϵÁаüΪʾÀý£º

  • groupId: com.as-gradle.demo //¸Ä³ÉÄãµÄ groupId
  • artifcatId: x //artifactId »áÓÐЩ±ä»¯£¬ÕâÀïÏÈÓà x ´úÌæ£¬ÏÂÃæ»áÐ޸ġ£
  • version: 1.0.0

Ò²¾ÍÊÇ'com.as-gradle.demo:x:1.0.0'

¶ÁÕßÒª½øÐÐÁ·Ï°µÄʱºò£¬×îºÃ¸ÄÒ»ÏÂÄãµÄ groupId£¬·ñÔò¿ÉÄܻᷢ²¼Ê§°Ü

ÏÂÃæÊ¹Óõ½µÄʾÀý¹¤³ÌÒѾ­·ÅÔÚÁË github ÉÏ¡£

ΪÁ˺óÃæÊ¹Ó÷½±ã£¬Ê×ÏÈÔÚ¹¤³ÌµÄÏîÄ¿ gradle.properties Öж¨ÒåһЩÊôÐÔ£¬ÕâЩÊôÐÔ£¬Ö÷ÒªÊÇÓÃÉú³É POM Îļþ£¬½«»áÔÚͨƪÎÄÕÂÖÐÓõ½£º

# °üÐÅÏ¢
PROJ_GROUP=com.as-gradle.demo
PROJ_VERSION=1.0.0

# ÏîÄ¿µÄÃèÊö
PROJ_WEBSITEURL=https://bugtags.com
PROJ_ISSUETRACKERURL=https://github.com/bugtags/Bugtags-Android/issues
PROJ_VCSURL=https://github.com/bugtags/Bugtags-Android.git
PROJ_DESCRIPTION=Simple and effective bug & crash reporting tool for Android apps

# LicenceÐÅÏ¢
PROJ_LICENCE_NAME=The Apache Software License, Version 2.0
PROJ_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
PROJ_LICENCE_DEST=repo

# Developer ÐÅÏ¢
DEVELOPER_ID=your-dev-id
DEVELOPER_NAME=your-dev-name
DEVELOPER_EMAIL=your-email@your-mailbox.com

·¢²¼°üµ½±¾µØ²Ö¿â

  • ´´½¨Ò»¸ö module£ºlocalrepo
  • ½«±¾µØÄ³¸ö·¾¶ÉèÖÃΪ²Ö¿â¸ùĿ¼£º
/Users/your-user-name/Documents/Android/repo/

ÕâÀïʹÓÃÁËÒ»¸ö½Ð×ö your-user-name µÄÓû§ÏµÄij¸öĿ¼£¬Çë¶ÁÕß×ÔÐÐÌæ»»³É×Ô¼ºµÄµÇ¼Óû§Ãû¡£

  • ΪÁËÓÅÑÅ£¬ÔÚ localrepo Õâ¸ö module µÄ gradle.properties ¶¨ÒåÊôÐÔ£º
PROJ_NAME=localrepo
PROJ_ARTIFACTID=localrepo
PROJ_POM_NAME=Local Repository

LOCAL_REPO_URL=file:///Users/your-user-name/Documents/Android/repo/

  • ÔÚ module ÖÐÓ¦ÓúÍÅäÖà maven plugin£º
apply plugin: 'maven'

uploadArchives {
repositories.mavenDeployer {
repository(url: LOCAL_REPO_URL)
pom.groupId = PROJ_GROUP
pom.artifactId = PROJ_ARTIFACTID
pom.version = PROJ_VERSION }
}

  • ÔÚ¿ØÖÆÌ¨ÔËÐУº
$ ./gradlew -p localrepo clean build uploadArchives --info
  • Ò»ÇÐ˳ÀûµÄ»°£¬ÄãµÄµÚÒ»¸ö±¾µØ°üÒѾ­·¢²¼µ½É趨µÄĿ¼µÄ±¾µØ²Ö¿âÁË£º
|   ©À©¤©¤ com
©¦ ©À©¤©¤ as-gradle
©¦ ©¦ ©¸©¤©¤ demo
©¦ ©¦ ©¸©¤©¤ localrepo
©¦ ©¦ ©À©¤©¤ 1.0.0
©¦ ©¦ ©¦ ©À©¤©¤ localrepo-1.0.0.aar
©¦ ©¦ ©¦ ©À©¤©¤ localrepo-1.0.0.aar.md5
©¦ ©¦ ©¦ ©À©¤©¤ localrepo-1.0.0.aar.sha1
©¦ ©¦ ©¦ ©À©¤©¤ localrepo-1.0.0.pom
©¦ ©¦ ©¦ ©À©¤©¤ localrepo-1.0.0.pom.md5
©¦ ©¦ ©¦ ©¸©¤©¤ localrepo-1.0.0.pom.sha1
©¦ ©¦ ©À©¤©¤ maven-metadata.xml
©¦ ©¦ ©À©¤©¤ maven-metadata.xml.md5
©¦ ©¦ ©¸©¤©¤ maven-metadata.xml.sha1

ʹÓñ¾µØ°ü£¨Á½¸öÒÉÎÊÏò¶ÁÕßÇë½Ì£©

ҪʹÓÃÕâ¸ö°ü£¬Ê×ÏÈÔÚÏîÄ¿µÄ build.gradle ÖÐÌí¼ÓÕâ¸ö±¾µØ²Ö¿â£º

allprojects {
repositories {
jcenter()

maven{
url 'file:///Users/your-user-name/Documents/Android/repo/'
}
}
}

ÔÚij¸ö module£¨Èç demo ÏîÄ¿ÖÐµÄ app£© µÄ build.gradle ÖÐÌí¼ÓÒÀÀµ£º

compile 'com.as-gradle.demo:localrepo:1.0.0@aar'

ÕâÀïÓÐÁ½¸öÆæ¹ÖµÄµØ·½£¬±ÊÕßҲûÓÐÉîÈëÑо¿£¬³õ²½²Â²âÊÇ Android Studio µÄ Bug£¬ÖªµÀ´ð°¸µÄ¶ÁÕßÇëµ½ÎÒ²©¿ÍÎÄÕÂÏÂÁôÑԴͽ̣º

  • ÒÀÀµÄ©Î²Ò»°ã¶¼ÐèÒª¼ÓÒ»¸ö@aar£¬ÔÚijЩ°æ±¾µÄ Android Studio£¬ÓÖ²»ÐèÒª£¬ÕâÊÇΪʲô£¿
  • ÁíÍ⣬Èç¹û±¾µØ°ü±¾ÉíʹÓÃÁËÁËÔ¶³ÌµÄÒÀÀµ£¬Ò²ÐèÒªÔÚʹÓñ¾µØ°üµÄʱºò£¬Ò»²¢¼ÓÉÏ£¬·ñÔò»á±¨È±ÉÙ°ü£¬ÕâÓÖÊÇΪʲô£¿

ÏëÒªÈøü¶àµÄÈËʹÓõ½ÄãµÄÀͶ¯³É¹û£¬Äã¾ÍÐèÒª°Ñ Maven °ü·ÅÔÚÒ»¸ö±ðÈËÓÐȨ·ÃÎʵÄÔ¶³Ì²Ö¿âÉÏ£¬¶ø²»ÊDZ¾»ú£¬½ÓÏÂÀ´Òª½éÉÜ·¢²¼ Maven µ½ jcenter ²Ö¿âºÍ mavenCentral ²Ö¿â¡£ÒòΪǰÕßµÄʹÓüòµ¥£¬±¾×Å¡ºÏÈÒ׺óÄÑ£¬¿ìËÙ³ö³ÉЧ¡»µÄÔ­Ôò£¬ÎÒÏȽéÉÜ jcenter µÄÉÏ´«¡£

·¢²¼°üµ½ Bintray jcenter Ô¶³Ì²Ö¿â

¼ò½é

jcenter ÊÇÓÉ bintray ÌṩµÄ maven ÖÐÑë¿âÍйܷþÎñ£¬bintray ÓÖÊÇ jfrog ¹«Ë¾µÄÒ»¿î²úÆ·¡£jfrog ÊÇÒ»¸öÉÌÒµ¹«Ë¾£¬Í¨¹ýÌṩ¸ß¼¶·þÎñÓ¯Àû£¬ÓÖΪÆÕͨ¿ª·¢ÕßÌṩÁË×ã¹»ÓõÄÃâ·Ñ»ù´¡¹¦ÄÜ£¨½ØÖ¹ÖÁ2016-01-24£©£¬±ÊÕß½ÏÎªÍÆ³çÕâÖÖ¿ª·¢Õß·þÎñµÄÉÌҵģʽ¡£

ÒýÓÃÒ»ÕÅͼÀ´±íÊö bintray µÄ¹¤×÷·½Ê½

ͼƬÀ´Ô´£¬http://inthecheesefactory.com/

ʹÓà jcenter ÐèÒªÔÚ bintray ÉÏ×¢²áÕ˺ţ¬ÔÚ±¾µØ½øÐмÓÃÜÇ©ÃûÅäÖã¬ÏÂÃæ¿ªÊ¼½éÉÜ¡£

1. ×¢²áÕ˺Å

  • µÇ½ jcenterÊ×Ò³
  • sigin -> signup£¬Ìîд±íµ¥£¬×¢Òâ username ÕâÒ»À¸ÊǺóÃæµÄ bintray ˽ÓпâµÄºó׺£¬ÒªÉ÷ÖØÑ¡Ôñ¡£

2. ´´½¨ GPG Ç©Ãû

ǰ·½¸ßÄÜÔ¤¾¯£º±È½Ï·±Ëö£¬ÇÐÎð°ë;·ÅÆú

Ç°Ãæ½éÉܹý£¬¿ÉÒÔ°Ñ bintray µÄ°üͬ²½µ½ mavenCentral£¬¶øºóÕßÐèÒª¶Ô°üÎļþ½øÐÐÇ©Ãû£¬Ç©ÃûºÍÑéÖ¤¹ý³ÌÐèÒªÓõ½Ò»¸ö½Ð×öGPGµÄ¹¤¾ß²úÉúµÄ¹«Ô¿ºÍ˽Կ¡£ÕâÀïÓÐÊʺ϶à¸öƽ̨µÄ GPG ³ÌÐò£¬ÏÂÃæÖ»½éÉÜ OSX ƽ̨¡£

ÕâÖÖ¹¤¾ß´ó¸ÅµÄÒâÒåÊDzúÉú¹«Ô¿ºÍ˽Կ£¬°Ñ¹«Ô¿·¢Ë͵½¹«¿ªµÄ·þÎñÆ÷£¬Ë½Ô¿ÓÃÀ´²úÉú°üÎļþÇ©Ãû¡£°üµÄʹÓÃÕßÔÚÄõ½°üÎļþÖ®ºó£¬Í¨¹ý¹«Ô¿À´ÑéÖ¤ÎļþµÄÓÐЧÐÔ£¬ÔËÐоßÌåÔ­Àí²Î¿¼ÕâÀï¡£

  • ÏÂÔØgpgtool£¬°²×°
  • ¼ì²â°²×°³É¹¦£¬ÔÚÃüÁîÐÐÔËÐÐ

    $ gpg --version
    gpg (GnuPG/MacGPG2) 2.0.28
    libgcrypt 1.6.3


    ÓÐÀàËÆµÄÊä³ö£¬¾ÍÊÇÕý³£°²×°ÁË

  • ²úÉúÖ¤Ê飬ÔËÐÐÃüÁ°´ÕÕÌáʾÊäÈë

    $ gpg --gen-key


  • ¼ì²é½á¹û

    $ gpg --list-keys


    ÕÒµ½¸Õ²Å´´½¨Ö¤ÊéµÄʱºò£¬ÊäÈëµÄÏà¹ØÐÅÏ¢ÄÇÈýÐУ¬ÀýÈ磺
    pub   2048R/2E686B39 2015-06-02
    uid [ultimate] Your Name <your-email@your-mailbox.com>
    sub 2048R/your-sub-key-id 2015-06-02


  • ÉÏ´«¹«Ô¿µ½·þÎñÆ÷£¬ÕÒµ½ÄãµÄ pub µÄÄÇÒ»ÐУ¬2048R/ºóµÄÄÇÒ»´®°Ëλ×Ö·û´®£¬ÈçÉÏÃæµÄ£º2E686B39£¬¾ÍÊǹ«Ô¿ ID

    $ gpg --keyserver hkp://pool.sks-keyservers.net --send-keys your-public-key-id


  • Êä³ö¹«Ô¿ºÍ˽Կ³ÉÎļþ

    $ gpg -a --export your-email@your-mailbox.com > public_key_sender.asc
    $ gpg -a --export-secret-key your-email@your-mailbox.com > private_key_sender.asc


  • ÅäÖñ¾µØ gradle ÔËÐл·¾³µÄÊôÐÔ£¬Î»ÓÚ~/.gradle/gradle.properties£¬Ìí¼ÓÄÚÈÝ£º

    signing.keyId=your-public-key-id
    signing.password=your-gpg-password
    signing.secretKeyRingFile=/Users/your-user-name/.gnupg/secring.gpg
  • bintray ±¾Éí¿ÉÒÔͨ¹ýÔÚprofile->GPG SiningÖÐÅäÖà public key ºÍ private key À´×Ô¶¯¶ÔÉÏ´«µÄÎļþ½øÐÐÇ©Ãû£¬ÔÚÏÂͼÖУ¬¶ÔÓ¦ÌîÈëpublic_key_sender.ascÓëprivate_key_sender.ascµÄÄÚÈݼ´¿É¡£

  • ÉèÖà bintray maven °ü×Ô¶¯Ç©Ãû
    ѡȡ maven ²Ö¿âÊ×Ò³£¬½øÈë edit£º

    ×îÏÂÃæÓÐÁ½¸öÑ¡Ï

    GPG sign uploaded files using Bintray's public/private key pair.
    GPG Sign uploaded files automatically

    ÒòΪÔÛÃÇÊÇÏ£ÍûʹÓÃ×Ô¼ºµÄ key£¬ËùÒÔ¹´Ñ¡µÚ¶þ¸ö¡£

3. ´´½¨ bintray ÏîÄ¿

Ê×Ò³-> maven -> add new package£¬ÌîÈë¶ÔÓ¦µÄÐÅÏ¢£¬ÆäÖÐ name ÊÇÔÚÏÂÃæ bintray gradle ²å¼þÉÏ´«µÄʱºò£¬Ê¹ÓõÄÏîÄ¿Ãû³Æ£¬ÀýÈ磺bintryaar£¬ÕâÊÇÒªÉÏ´«Ò»¸ö Android Library£¬ÉÏ´«´¿ Java °üµÄ·½Ê½Óеãµã²»Ò»Ñù£¬ÏÂÃæÓнéÉÜ¡£

4. ÅäÖòå¼þ

bintray ¹Ù·½ÔÚ github ÉÏÍйÜÁËbintray-examples£¬·½±ãÓû§Ê¹Óà gradle ÉÏ´«°ü¡£ÒòΪÕâÀïÒªÉÏ´«µÄÊÇ aar ¸ñʽµÄ°ü£¬ËùÒÔ£¬¾ßÌåÊDzο¼gradle-aar-exampleÀý×Ó£¬È»¶øÀý×ÓÓÐһЩµØ·½Ã»ÓиüУ¬Çë×¢ÒâÏÂÃæµÄÃèÊö¡£

  • ÔÚ ÏîÄ¿ Öд´½¨ local.properties À´ÅäÖà bintray µÇ½ÐÅÏ¢ÒÔ¼° gpg Ö¤ÊéÃÜÂë

    ÆäÖÐ your-bintray-user ¾ÍÊÇ bintray ÓÒÉϽÇÏÔʾµÄÓû§Ãû³Æ£¬your-bintray-apikey ÔÚ profile->API Key ¿ÉÒÔÕÒµ½£¬your-gpg-password ÔòÊÇ´´½¨ gpg Ö¤ÊéµÄʱºòµÄÃÜÂë

    bintray.user=your-bintray-user
    bintray.apikey=your-bintray-apikey
    bintray.gpg.password=your-gpg-password


  • ÔÚÏîÄ¿µÄ build.gradle ÅäÖà buildscript µÄ classpath

    buildscript {
    repositories {
    jcenter()
    }
    dependencies {
    classpath 'com.android.tools.build:gradle:1.3.0'
    //ÏÂÃæÁ½¸ö°üÊÇÓÃÓÚÉÏ´«µÄ²å¼þ
    classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
    classpath 'com.github.dcendents:android-maven-gradle-plugin:1.3'//×¢Òâ´Ë´¦
    }
    }


  • ÔÚ module µÄ gradle.properties ÎļþÖж¨ÒåÊôÐÔ

    PROJ_NAME=bintrayaar
    PROJ_ARTIFACTID=bintrayaar
    PROJ_POM_NAME=Bintray Aar Repository


  • ÔÚ module µÄ build.gradle ÖÐʹÓòå¼þ

    apply plugin: 'com.github.dcendents.android-maven'
    apply plugin: 'com.jfrog.bintray'
  • ΪÁËbuild.gradle Îļþ¸É¾»£¬±ÊÕß´´½¨ÁËÒ»¸öÃûΪ bintray.gradle µÄÎļþÅäÖòå¼þÐÅÏ¢£¬Çë²Î¿¼Õâ¸öÎļþ¡£

    ¹Ø¼üµã£º

    artifacts {
    archives javadocJar
    archives sourcesJar
    }

    ÊÇΪÁËͬʱÉú³É javadoc.jar ºÍ sources.jar Îļþ

  • build£¬ÉÏ´«

    $ ./gradlew -p bintrayrepo/ clean build bintrayUpload --info

    Èç¹ûÒ»ÇÐ˳Àû£¬Äã»áÔÚ¿ØÖÆÌ¨¿´µ½¶à¸öÎļþÉÏ´«³É¹¦µÄ±êÊä³ö

  • ²È¿Óʵ¼
    • HTTP/1.1 401 Unauthorized

      apikey »òÕß user Ìîд´íÎó

    • HTTP/1.1 409 Conflict

      °üµÄ¸Ã°æ±¾ÒѾ­´æÔÚ£¬ÐèÒªÔÚ bintray ¹ÜÀí½çÃæÉÏɾ³ý¸Ã°æ±¾ºó²Å¿ÉÒÔÔÙ´ÎÉÏ´«

    • ÏëÈà sources.jar »òÕß javadoc.jar Ϊ¿Õ

      task sourcesJar(type: Jar) {
      classifier = 'sources'
      from sourceSets.main.java.srcDirs
      exclude '**'
      }

5. ÉÏ´« Jar °ü

  • ÔÚÉÏ´« jar µÄʱºò£¬Ê¹ÓõIJå¼þÓÐÐ©Çø±ð
    apply plugin: 'maven-publish'
    apply plugin: 'com.jfrog.bintray'
  • ÔÚÉú³É·ûºÏ¹æ¶¨µÄ pom ÎļþµÄʱºò£¬Òªµ÷Óà groovy µÄAPI£¬¾ßÌåÇë²Î¿¼Õâ¸öÎļþ

6. ͨ¹ý˽ÓвֿâµÄ·½Ê½ÒýÓÃ

ÖÁ´Ë£¬¸Õ²ÅÉÏ´«µÄÁ½¸ö¿â£¬ÒѾ­¿ÉÒÔͨ¹ýÈçÏ·½Ê½ÒýÓÃÁË

allprojects {
repositories {
maven {
url 'https://dl.bintray.com/freefaces/maven'//Õâ¸öµØÖ·ÔÚ°üµÄÒ³ÃæµÄÓÒ·½
}
}
}

compile 'com.as-gradle.demo:bintrayaar:1.0.0'
compile 'com.as-gradle.demo:bintrayjar:1.0.0'

µ«ÊÇÄãÒ²·¢ÏÖÁË£¬°üµÄÓû§ÐèÒªÌí¼ÓÒ»¸ö¶îÍâµÄ maven ²Ö¿â¡£×÷Ϊһ¸öÒÔÓû§¼ÛֵΪÏȵĿâµÄ¿ª·¢Õߣ¬Äǵ±È»²»Ï£ÍûÓû§Âé·³µÄ¡£ÄǾÍÐèÒª°ÑÕâ¸ö˽ÓÐµÄ¿â£¬ÍÆË͵½ jcenter ÉÏÈ¥¡£

7. ÍÆË͵½ jcenter

ÔÚ bintray µÄ maven ¿âµÄ½çÃæ£¬ÓÐadd to jcenter

µã»÷Ö®ºó£¬»á½øÈëÒ»¸öÏûÏ¢Ò³Ãæ£¬Ð´»òÕß²»Ð´¶¼¿ÉÒÔ¡£Ìá½»£¬µÈ´ý»Ø¸´¼´¿É¡£

¼Çס,°ü±ØÐëÂú×ãÈçÏÂÌõ¼þ£º

  • °üº¬ sources.jar ºÍ javadoc.jar Îļþ
  • ±ØÐëÊÇ maven °ü

bintray µÄÏûϢϵͳÓÐЩ bug£¬¼ÙÉèÄãµÄ°üÌá½»ÉêÇë±»²µ»Ø£¬ÄãÐÞ¸ÄÖ®ºóÔÙÌá½»ÉêÇ룬¿ÉÄÜûÓÐÈ˻ظ´Äã¡£Ç벻ҪɵµÈ¡£Ö±½ÓÕÒÒ³ÃæÓÒ²àµÄ Feedback£¬Õâ¸öËûÃÇÊǺܿìÓÐÈ˻شðµÄ¡£

³É¹¦ÁËÖ®ºó£¬»á³öÏÖÈçϵıê¼Ç£º

Äã¿ÉÒÔÔÚ jcenter·þÎñÆ÷ÉÏ¿´µ½ÄãµÄ°üÁË

8. ÍÆË͵½ mavenCentral

ÔÚ°ü¹ÜÀíÒ³Ãæ£¬¿ÉÒÔÕÒµ½ÍÆË͵½ mavenCentral ¹¦ÄÜ£¬

Ò»¸ö°üÒª´Ó bintray ÍÆË͵½ jcenter£¬Óм¸¸öǰÌ᣺

  • ÒѾ­ÍÆË͵½ÁË jcenter [ÒÑÍê³É]
  • ÿ¸öÎļþ¶¼ÓжÔÓ¦µÄÇ©Ãû[ÒÑÍê³É]
  • ÓÐ sonatye ÕË»§[δÍê³É]
  • maven ²Ö¿â¾­¹ýÉóºË[δÍê³É]

µã»÷ Sync Ö®ºó£¬Ò»¶Îʱ¼äÖ®ºó£¬ÓÒ±ßµÄ Sync Status »á·´À¡³ö½á¹û¡£

µ±È»ÁË£¬ÏÖÔÚÔÛ»¹¸É²»ÁËÕâ¸ö£¬ÒòΪ»¹ÓÐÁ½¸öÌõ¼þû׼±¸ºÃ¡£ÄÇÔÛÃǾͽøÈë mavenCentral µÄÌõ¼þ×¼±¸¡£

·¢²¼°üµ½ Sonatype MavenCentral Ô¶³Ì²Ö¿â

1. ×¢²á sonatye ÕË»§

½øÈësonatype issueÒ³Ãæ£¬×¢²áÕ˺š£

2. ´´½¨ issue

µÇ½֮ºó£¬¶¥²¿Óа´Å¥£¬Created£¬ÏÂÃæÊǹؼüµÄÌõÄ¿

  • Project:Community Support - Open Source Project Repository Hosting (OSSRH)
  • Issue Type: New Project
  • Group Id£º¾ÍÊÇÄãµÄ°üµÄ groupId

ÆäËûµÄ¶¼ÈÏÕæÌîд¡£È·ÈÏÖ®ºó£¬´ó¸ÅÁ½¸ö¹¤×÷ÈÕ£¬ Issue »á±ä³É resolved ״̬£¬¾Í¿ÉÒÔ·¢²¼ÄãµÄ°üÁË¡£ÓÐÁËÕâÁ½²¿£¬Æäʵ¾Í¿ÉÒÔ´Ó bintray ÉÏÖ±½Ó·´ÏòÍÆµ½ mavenCentral £¬¶ø²»ÐèÒª×ßÏÂÃæµÄ²½ÖèÁË£¬µ«ÊÇÎÒ»¹ÊǼòÂÔ½éÉÜÒ»ÏÂÏÂÃæµÄ²½Öè¡£Èç¹ûºÜ¸ÐÐËȤÏêÇ飬¿ÉÒԲο¼trineaµÄ½éÉÜ¡£

3. ÉÏ´«°ü

Ò²Óз½±ãµÄ gradle ²å¼þ°ïÖúÎÒÃǽøÐд«ËÍ£¬¿ÉÒԲο¼chrisbanes/gradle-mvn-pushÏîÄ¿¡£ÅäÖúòå¼þ£¬ÉÏ´«¡£

4. ·¢²¼°ü

µÇ½oss sonatype£¬µÇ½£¬Ñ¡Ôñ×ó±ßÀ¸ÀïµÄStaging Repositories, È»ºóµãClose °´Å¥£¬sonatype »á×öÏìÓ¦µÄ validation£¬Í¨¹ýµÄ»°£¬¾Í¿ÉÒÔµã Release ·¢²¼À²£¬Èç¹û²»Í¨¹ý£¬¾Í¼ì²éÎÊÌ⣬ÏÈ Drop£¬²¢ÖØÐÂ×ö Staging ·¢²¼¡£

5. ¼ì²é°ü

ÔÚhttps://oss.sonatype.org/content/repositories/releases¿ÉÒÔ¿´µ½Äã·¢²¼µÄ°ü¡£

6. ΪºÎÈç´Ë¼òÂÔ

ÒòΪÕâ¸ö¹ý³ÌÕæµÄºÜ·±Ëö£¬ui Ò²²»ÓѺã¬ÔÚÌåÑéÁË bintray µÄ±ã½ÝºÍÓѺ㬲¢·¢ÏÖ bintray ¿ÉÒÔ·´ÏòÍÆË͵½ mavenCentral Ö®ºó£¬ÎÒ¾ÍÔÙÒ²²»ÏëʹÓà sonatype ÁË¡£ÎÞÄΣ¬Ì°àÁ³ÕÊÇÈËÀàÌìÐÔ¡£

´î½¨Ë½·þ

ÓÉÓÚ¡°Äã¶®µÃ¡±µÄÔ­Òò£¬ÔÚ¹úÄÚ·ÃÎÊ jcenter£¬×ÜÊÇż¶û²»Îȶ¨£¬¾­³£»á³öÏÖÖîÈçpeer not foundÕâÖÖ´íÎó¡£ÎªÁ˱£Ö¤Óû§µÄÎȶ¨Ê¹Óÿ⣬ÄǾÍÒª¿¼ÂǴ·ÅÔÚ×Ô¼º·þÎñÆ÷ÉϵÄ˽Óвֿ⡣

Sonatype ºÍ bintray ¶¼ÌṩÁ˿ɹ©×Ô¼º²¿ÊðµÄ maven ¿â¹ÜÀíÈí¼þ¡£Sonatype ÌṩÁËÃâ·ÑµÄsonatype/nexus£¬bintray ÌṩÁËÃâ·ÑµÄartifactory-oss¡£

ΪÁ˲¿Êð¼ò±ã£¬±ÊÕßʹÓÃÁËdocker½øÐÐÕâÁ½¸ö˽·þ´î½¨¡£¶ÔÓÚ docker ÊÇʲô£¬ÔõôÓ㬲¢²»ÊÇϵÁÐÎÄÕµÄÖØµã¡£ÓÐÐËȤ¿ÉÒÔ×ÔÐÐѧϰ¡£ÈëÃÅÎĵµÔÚ´Ë¡£

´î½¨Ë½ÓÐ Sonatype ²Ö¿â

  • ÏÂÔØ°²×° docker ¾µÏñ

    $ docker pull sonatype/nexus
  • ÔËÐоµÏñ
    $ docker run -d -p 8081:8081 --name nexus sonatype/nexus:oss
  • ·ÃÎÊ·þÎñÆ÷

    ÒòΪµÄ docker-machine ip ÊÇ£º192.168.99.100£¬ÓÚÊÇ¿ÉÒÔͨ¹ýÔÚä¯ÀÀÆ÷·ÃÎÊhttp://192.168.99.100:8081/Õâ¸ö URL À´·ÃÎÊ sonatype ˽·þ¡£

    Äã»á·¢ÏÖÕâ¸ö½çÃæ¸úÄãÔÚhttps://oss.sonatype.org/¿´µ½µÄ¼¸ºõÒ»Ñù¡£

    ĬÈÏÕË»§ÃÜÂëÊÇ£º

    admin
    admin123
  • ÉèÖòֿâ

    µã»÷×ó²à repository£¬»á³öÏÖ repository µÄÁÐ±í£¬°ÑÆäÖеÄReleasesµÄConfigutation->Access Setting-> Deploy PolocyÉèÖóÉAllow RedeployʹµÃ¿ÉÒÔÖØ¸´·¢²¼°ü¡£

  • ÅäÖúÍʹÓòå¼þ

    ÎÒ»¹ÊÇʹÓÃÁËchrisbanes/gradle-mvn-push²å¼þ£¬ÉÔ΢¸Ä¶¯ÁËÒ»ÏÂ×ֶεÄÖµ£¬Ö÷Òª¸Ä¶¯ÊÇ»·¾³ÅäÖã¬ÈçÕ˺ÅÃÜÂ룬repository URL µÈ£¬¾ßÌåÇë²Î¿¼ÕâÀïmvn-push¡£

  • ¹Ø¼üÉèÖÃ

    ÒªÔÚgradle.propertiesÖÐÉèÖãº

    PROJ_NAME=sonatyaar
    PROJ_ARTIFACTID=sonatyaar
    PROJ_POM_NAME=Sonatye Aar Repository
    POM_PACKAGING=aar
    RELEASE_REPOSITORY_URL=http://192.168.99.100:8081/content/repositories/releases
    SNAPSHOT_REPOSITORY_URL=http://192.168.99.100:8081/content/repositories/snapshots
  • ²é¿´

    ÉÏ´«³É¹¦Ö®ºó£¬¾Í¿ÉÒÔÔÚä¯ÀÀÆ÷µÄhttp://192.168.99.100:8081/content/repositories/releases¿´µ½Õâ¸ö°ü¡£²¢¿ÉÒýÓÃÁË¡£

  • ´íÎó

    ÉÏ´«µÄʱºò£¬·µ»Ø400£¬¿ÉÄÜÊÇConfigutation->Access Setting-> Deploy PolocyûÉèÖúã»·µ»Ø401£¬¿ÉÄÜÊÇÕ˺ÅÃÜÂë´íÎó¡£

´î½¨Ë½ÓÐ Artifactory ²Ö¿â

bintray ÆäʵÌṩÁ˶à¸ö˽Óв¿Êð²Ö¿âµÄ°æ±¾£¬·Ö±ðÊÇ£º

Artifactory OSS
Artifactory Pro
Artifactory Pro Registry

°´Ãû×ÖÀ´¿´£¬ºóÁ½Õß¿ÉÄÜÊÇÊշѵģ¬ÕâÀï¾ÍÖ»½éÉÜArtifactory OSS£¬ÒÀÈ»ÊÇʹÓà docker ½øÐв¿ÊðÔËÐС£¸üÏêϸµÄʹÓÃÊֲᣬ²Î¿¼Running with Docker¡£

  • ÏÂÔØ¾µÏñ£¨½ØÖ¹ÖÁ2016-01-27£¬×îа汾ÊÇ4.4.1£©

    $ docker pull jfrog-docker-reg2.bintray.io/jfrog/artifactory-oss:4.4.1
  • ÔËÐоµÏñ

    $ docker run -d -p 8080:8081 jfrog-docker-reg2.bintray.io/jfrog/artifactory-oss:4.4.1


  • ÔÚä¯ÀÀÆ÷ÖзÃÎÊhttp://192.168.99.100:8080/£¬Ä¬ÈÏÕ˺ÅÃÜÂëÊÇ£º

    admin
    password

±ÊÕßдµ½Õ⣬·¢ÏÖÕâ¸öƪ·ùÒѾ­Ì«³¤ÁË¡£ÏÖÔڵĶÁÕߣ¬ÆäʵҲûÓÐÌ«¶àÄÍÐÄ¿´³¤Æª´óÂÛ£¬ËùÒÔ¿¼Âǽ«¸üÏêϸµÄ˽·þµÄ²¿Ê𣬷ÅÔÚһƪ¶ÀÁ¢µÄ²©¿ÍÖн²½â¡£

kevinho/gradle-maven-complete

ΪÁË·½±ã¶ÁÕßʹÓà gradle ½« aar¡¢jar°üÍÆË͵½ jcenter ºÍ mavenCentral£¬±ÊÕß¾ö¶¨½«±¾ÎÄËùʹÓÃµÄ sample ÏîÄ¿£¬·ÖÀë³öÒ»¸ö¶ÀÁ¢µÄ github ÏîÄ¿£ºkevinho/gradle-maven-complete£¬ÀïÃæ°üº¬ÈçÏ·¶Àý£º

  • localrepo£º±¾µØ²Ö¿âÍÆËÍ
  • bintrayaar£ºbintray µÄ aar °üÍÆËÍ
  • bintrayjar£ºbintray µÄ jar °üÍÆËÍ
  • sonatypearr£ºmavenCentral µÄ aar °üÍÆËÍ

»ù±¾Éϸ²¸Çµ½ÁËÖ÷Á÷µÄ³¡¾°ÁË£¬Ï£ÍûÎÒÕâ¸öСÂÖ×Ó£¬Ò²ÄܰïÖú´ó¼Ò£¬Ï²»¶¼ÇµÃ star Ŷ£¡

×ܽá

Õâһƪ£¬±ÊÕß½áºÏʵÀý½²½âÁË maven ²Ö¿âÏà¹ØµÄ֪ʶ£¬ÒÔ¼°½« maven °üͨ¹ý gradle ²å¼þÉÏ´«±¾µØ²Ö¿â¡¢bintray jcenter¡¢sonatype mavenCentral£¬»¹¼òÒª½éÉÜÁË sonatype ºÍ artifactory ˽·þµÄ docker ´î½¨¡£»òÐíÄãÒѾ­´À´ÀÓû¶¯ÁË£¬ÄǾ͸Ͻô´ò¿ªÄãµÄµçÄÔ£¬°ÑÄãµÄÂÖ×Ó£¬Óà maven Îä×°ÆðÀ´°É£¡ÏÂһƪ»á½éÉÜ gradle ²å¼þµÄ±àдÒÔ¼°·¢²¼Ê¹Ó㬾´ÇëÆÚ´ý£¡

   
4130 ´Îä¯ÀÀ       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ÄÚºËÇý¶¯
°¬Ä¬Éú ǶÈëʽÈí¼þ¼Ü¹¹Éè¼Æ
Î÷ÃÅ×Ó Ç¶Èëʽ¼Ü¹¹Éè¼Æ