±¾ÎÄΪ¡°Óµ±§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/' } |
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úÉú¹«Ô¿ºÍ˽Կ£¬°Ñ¹«Ô¿·¢Ë͵½¹«¿ªµÄ·þÎñÆ÷£¬Ë½Ô¿ÓÃÀ´²úÉú°üÎļþÇ©Ãû¡£°üµÄʹÓÃÕßÔÚÄõ½°üÎļþÖ®ºó£¬Í¨¹ý¹«Ô¿À´ÑéÖ¤ÎļþµÄÓÐЧÐÔ£¬ÔËÐоßÌåÔÀí²Î¿¼ÕâÀï¡£
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 |
Èç¹ûÒ»ÇÐ˳Àû£¬Äã»áÔÚ¿ØÖÆÌ¨¿´µ½¶à¸öÎļþÉÏ´«³É¹¦µÄ±êÊä³ö
- ²È¿Óʵ¼
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/¿´µ½µÄ¼¸ºõÒ»Ñù¡£
ĬÈÏÕË»§ÃÜÂëÊÇ£º
- ÉèÖòֿâ
µã»÷×ó²à 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/£¬Ä¬ÈÏÕ˺ÅÃÜÂëÊÇ£º
±ÊÕßдµ½Õ⣬·¢ÏÖÕâ¸öƪ·ùÒѾ̫³¤ÁË¡£ÏÖÔڵĶÁÕߣ¬ÆäʵҲûÓÐÌ«¶àÄÍÐÄ¿´³¤Æª´óÂÛ£¬ËùÒÔ¿¼Âǽ«¸üÏêϸµÄ˽·þµÄ²¿Ê𣬷ÅÔÚһƪ¶ÀÁ¢µÄ²©¿ÍÖн²½â¡£
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 ²å¼þµÄ±àдÒÔ¼°·¢²¼Ê¹Ó㬾´ÇëÆÚ´ý£¡
|