The Android SDK Manager is used to pull updates to those tools and libraries and Google supplies the libraries via 2 artifact repositories. This is a good thing as you get the benefits of artifact versioning etc. (NB I won't rant here about why these artifact repositories should be global instead of machine local - suffice to say it is a barrier to dev, particularly open source dev).
The problem is that the Android SDK Manager doesn't behave like a well mannered repository manager when it is updating it's 2 repos.
It should just download the new library versions and place them within the repo.
Instead it removes the repo and recreates it from a combination of
- new libraries
- existing libraries that it thinks should be there
If you have added artifacts to your Google repos, to get around Issue#72807 for instance, then you will have lost those artifacts and will need to recreate them.
So lessons from this:
- Don't rely on Android SDK Manager to be a good citizen. Store those modified Google artifacts in a separate repository of your own (mea culpa).
- Google - fix Issue#72807 so we don't have to individually create modified Google artifacts. With the advent of PlayServices-6.5.87 there are 17+ more artifacts that have invalid dependency information.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.