为什么不在任何Maven存储库中安装Android SDK Jars?

she*_*non 44 android repository maven

有没有理由说Android工具链和开发包不在Maven CEntral存储库中?真的只是没人做过吗?或者是否存在一些许可问题?我的意思是它都是开源的吗?(Google API除外).

我很想把它自己放在一个非核心的回购中,但我只是想确定其他人还没有这样做,而且我不会因此而与任何律师对应或打电话.

tho*_*aux 39

谷歌阻止了它.从这个链接:

通过Android for Maven项目的努力,Android工件已经构建并发布到Maven存储库.谷歌阻止官方Android jar上传到Maven,因此第三方Android for Maven项目开始提供可以上传到Maven存储库的API兼容的Android工件.现在,Maven存储库中提供了每个主要Android版本的工件.但是,它们不起作用,只提供API的存根实现.所有类中的所有方法都会抛出运行时异常.因为Android应用程序在设备上运行,所以它永远不会使用这些库来执行,但API兼容性允许应用程序被编译,就像它是真正的库一样.

  • 所以简短的回答是谷歌封锁了吗? (8认同)
  • @shemnon - 是的,这将是简短的答案:) (2认同)

Rya*_*n R 20

Google现在在Google IO 2017上宣布了官方maven存储库.

buildscript {
    repositories {
        maven {
          // Google Maven Repository
          url 'https://maven.google.com'
        }
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

Android支持库中的新功能(Google I/O '17)
https://youtu.be/V6-roIeNUY0?t=3m34s

Android开发工具中的新功能(Google I/O '17)
https://youtu.be/Hx_rwS1NTiI?t=20m05s

Google的Maven存储库
https://developer.android.com/studio/build/dependencies.html#google-maven

迁移到新插件
https://developer.android.com/studio/preview/features/new-android-plugin-migration.html


小智 9

我找到了一个更好的解决方案,使用SDK提供的通用库,我只是在pom.xml中使用Android Home作为存储库.

 <repositories>
    <repository>
        <id>com.android.support</id>
        <url>file://${env.ANDROID_HOME}/extras/android/m2repository</url>
    </repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)

现在对我有用.


Joh*_*all 5

可以ANDROID_HOME通过指定 system- <dependency>with来使用jars <systemPath>

<properties>
    <android.platform>21</android.platform>
</properties>
<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>${android.platform}</version>
        <scope>system</scope>
        <systemPath>${env.ANDROID_HOME}/platforms/android-${android.platform}/android.jar</systemPath>
    </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)