Google's Maven Repository
我找个时间扒下来吧
原地址:
需要使用google浏览器打开
扒过程
查看源码:
/**
* The prefix URL of GMaven.
* @private @const {string}
*/
var MAVEN_BASE_URL = 'https://dl.google.com/dl/android/maven2/';
关键代码:
MAVEN_BASE_URL + 'master-index.xml'
得到第一个路径:
https://dl.google.com/dl/android/maven2/master-index.xml
这样子,就下载到了
<?xml version="1.0" encoding="UTF-8"?>
<metadata>
<com.android.support.constraint/>
<com.android.databinding/>
<com.android.support/>
<com.android.support.test/>
<com.android.support.test.janktesthelper/>
<com.android.support.test.uiautomator/>
<com.android.support.test.espresso/>
<android.arch.persistence.room/>
<android.arch.lifecycle/>
<android.arch.core/>
<com.google.android.instantapps/>
<com.google.android.instantapps.thirdpartycompat/>
<com.android.java.tools.build/>
<com.android.tools/>
<com.android.tools.layoutlib/>
<com.android.tools.ddms/>
<com.android.tools.external.com-intellij/>
<com.android.tools.build/>
<com.android.tools.analytics-library/>
<com.android.tools.internal.build.test/>
<com.android.tools.lint/>
<com.android.tools.external.org-jetbrains/>
<com.android.support.test.espresso.idling/>
<com.android.support.test.services/>
<com.google.firebase/>
<com.google.android.gms/>
<com.google.gms/>
<android.arch.paging/>
<com.crashlytics.sdk.android/>
<io.fabric.sdk.android/>
<android.arch.persistence/>
<com.google.android.wearable/>
<com.google.android.support/>
<com.android.installreferrer/>
<com.google.ar/>
<androidx.core/>
<com.google.android.things/>
<com.android.tools.build.jetifier/>
<tools.base.build-system.debug/>
<androidx.databinding/>
<androidx.constraintlayout/>
<org.chromium.net/>
<com.google.android.play/>
<androidx.multidex/>
<com.google.android.material/>
<androidx.test.services/>
<androidx.test.janktesthelper/>
<androidx.test/>
<androidx.test.espresso/>
<androidx.test.espresso.idling/>
<androidx.test.uiautomator/>
<androidx.room/>
<androidx.paging/>
<androidx.lifecycle/>
<androidx.sqlite/>
<androidx.arch.core/>
<android.arch.work/>
<android.arch.navigation/>
<androidx.mediarouter/>
<androidx.percentlayout/>
<androidx.emoji/>
<androidx.cardview/>
<androidx.preference/>
<androidx.wear/>
<androidx.legacy/>
<androidx.documentfile/>
<androidx.car/>
<androidx.swiperefreshlayout/>
<androidx.leanback/>
<androidx.appcompat/>
<androidx.customview/>
<androidx.gridlayout/>
<androidx.vectordrawable/>
<androidx.heifwriter/>
<androidx.transition/>
<androidx.print/>
<androidx.viewpager/>
<androidx.annotation/>
<androidx.exifinterface/>
<androidx.dynamicanimation/>
<androidx.browser/>
<androidx.localbroadcastmanager/>
<androidx.asynclayoutinflater/>
<androidx.contentpager/>
<androidx.slidingpanelayout/>
<androidx.cursoradapter/>
<androidx.media/>
<androidx.loader/>
<androidx.interpolator/>
<androidx.coordinatorlayout/>
<androidx.fragment/>
<androidx.tvprovider/>
<androidx.slice/>
<androidx.collection/>
<androidx.recommendation/>
<androidx.drawerlayout/>
<androidx.recyclerview/>
<androidx.webkit/>
<androidx.palette/>
<com.google.ar.sceneform/>
<com.google.ar.sceneform.ux/>
<androidx.test.ext/>
<com.google.android.ads.consent/>
<androidx.versionedparcelable/>
<androidx.media2/>
<com.google.ads.afsn/>
<com.google.android.ads/>
<androidx.biometric/>
<androidx.concurrent/>
<androidx.activity/>
<com.android.tools.apkparser/>
<com.android.tools.pixelprobe/>
<androidx.textclassifier/>
<androidx.remotecallback/>
<com.android.tools.chunkio/>
<com.android.tools.fakeadbserver/>
<androidx.savedstate/>
<com.google.android.libraries.places/>
<androidx.viewpager2/>
<androidx.navigation/>
<androidx.work/>
<androidx.sharetarget/>
<androidx.enterprise/>
<androidx.camera/>
<androidx.benchmark/>
<androidx.security/>
<com.google.android.datatransport/>
<zipflinger/>
<androidx.autofill/>
<androidx.ads/>
<com.android/>
<com.google.ads.interactivemedia.v3/>
<androidx.ui/>
<androidx.compose/>
<com.google.androidbrowserhelper/>
<org.jetbrains.kotlin/>
<com.google.prefab/>
<com.android.billingclient/>
<com.android.ndk.thirdparty/>
<com.google.oboe/>
<androidx.window/>
<com.google.test.platform/>
</metadata>
这样一个文件了
再看源码:
MAVEN_BASE_URL + groupId.replace(/\./g, '/') + '/group-index.xml';
groupId就是上面的内容了,去掉尖括号和斜杠以后,就可以获取到里面的内容。接着,把点替换成斜杠,比如说:
https://dl.google.com/dl/android/maven2/androidx/room/group-index.xml
这样子就扒到它的版本了
<?xml version="1.0" encoding="UTF-8"?>
<androidx.room>
<room-rxjava2 versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4,2.2.5"/>
<room-common versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4,2.2.5"/>
<room-compiler versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4,2.2.5"/>
<room-guava versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4,2.2.5"/>
<room-migration versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4,2.2.5"/>
<room-testing versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4,2.2.5"/>
<room-runtime versions="2.0.0-alpha1,2.0.0-beta01,2.0.0-rc01,2.0.0,2.1.0-alpha01,2.1.0-alpha02,2.1.0-alpha03,2.1.0-alpha04,2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4,2.2.5"/>
<room-coroutines versions="2.1.0-alpha03,2.1.0-alpha04"/>
<room-ktx versions="2.1.0-alpha05,2.1.0-alpha06,2.1.0-alpha07,2.1.0-beta01,2.1.0-rc01,2.1.0,2.2.0-alpha01,2.2.0-alpha02,2.2.0-beta01,2.2.0-rc01,2.2.0,2.2.1,2.2.2,2.2.3,2.2.4,2.2.5"/>
</androidx.room>
于是乎,我就想写个程序,让其他浏览器同学也能查扯到。
写上此篇文章以记之。