[Android-tools-devel] Updating SDK tools

Hans-Christoph Steiner hans at at.or.at
Fri Jul 17 17:57:21 UTC 2015


We have to be careful when guessing what upstream is using, it can go really
wrong, as I've found out in the past packaging this stuff.  Since the source
is managed with the `repo` tool, and the `repo` tool checks everything out
based on a single git tag, so we should be able to find that somewhere.

It looks like the version numbers in the gradle-* tags match the releases of
the Android plugin for gradle, which is a good sign.

Reading the docs has got me thinking: we should structure the androidsdk-tools
source package in the same as what you get from doing:

repo init -u https://android.googlesource.com/platform/manifest -b
gradle_1.3.0-beta4
repo sync

All of that stuff should not be included, for example the 'prebuilt' stuff and
tons of other stuff.  It seems to download everything possible.

.hc

殷啟聰:
> Hi Hans,
> 
> I cannot find any direct documentation about that, but the "gradle-*" tags
> are documented in <http://tools.android.com/build>. The commit tagged by
> the latest "gradle-*" tag is much newer than the one tagged by the latest
> "android-*" tag, and so is the SDK Tools version number. Since SDK Tools
> maintains its own version number, and the Gradle plugin is also inside the
> platform/tools repos, I guess it's good to fetch "gradle-*" tags instead.
> 
> By the way, gradle_2.5-1 is ready without merging the binary packages.
> Komal you can use it on your work on SDK Tools.
> 
> Cheers,
> Kai-Chung
> 
> Hans-Christoph Steiner <hans at at.or.at> 於 2015年7月10日週五 下午3:03寫道:
> 
>>
>> Have you found documentation about using the gradle-* tags over the Android
>> release version tags?  It seems that only buildSrc is missing the Android
>> release version tags.
>>
>> .hc
>>
>> 殷啟聰:
>>> Hi all,
>>>
>>> I am thinking that, so far SDK Tools (and its version number) seems to be
>>> independent from other tools in SDK Build-tools and SDK Platform-tools,
>> and
>>> from <http://developer.android.com/tools/sdk/tools-notes.html> we can
>> see
>>> the version of other tools they require, maybe androidsdk-tools can fetch
>>> the gradle-* tags while other android-platform-* repos can fetch
>> android-*
>>> tags. This makes all tools up-to-date.
>>>
>>> Cheers,
>>> Kai-Chung Yan
>>>
>>> 殷啟聰 <seamlikok at gmail.com> 於 2015年7月9日週四 下午5:21寫道:
>>>
>>>> Hi all,
>>>>
>>>> However things in SDK Build-tools and SDK Platform-tools are a little
>> bit
>>>> worse. Their tools come from various repo, and one single repo contains
>>>> tools belonging to various SDK *-tools. Also note that the mksdcard in
>> SDK
>>>> Tools is from platform/sdk instead of platform/tool/* .
>>>>
>>>> By the way, I bought a VPN just now and I can reach you guys finally :)
>>>>
>>>> Cheers,
>>>> Kai-Chung Yan
>>>>
>>>> Hans-Christoph Steiner <hans at at.or.at> 於 2015年7月9日週四 上午2:21寫道:
>>>>
>>>>>
>>>>> Yeah, platform/tools is the root dir of all this, but there is not
>>>>> platform/tools git repo, only git repos under that, e.g.:
>>>>>
>>>>> https://android.googlesource.com/platform/tools/base.git
>>>>> https://android.googlesource.com/platform/tools/buildSrc.git
>>>>> https://android.googlesource.com/platform/tools/swt.git
>>>>>
>>>>> That's how the `repo` tool sets things up.  Its a bit bizarre, but
>> `repo`
>>>>> is
>>>>> used to build all Android ROMs as well as a lot of the SDK.  The
>>>>> androidsdk-tools source package should be set up to mirror that setup.
>> It
>>>>> looks like it already is, but it needs some improvements.
>>>>>
>>>>> About those build instructions, we'll have to change all `./gradlew`
>>>>> calls to
>>>>> be just `gradle`, and then find all jar dependencies in Debian.  One
>> idea
>>>>> is
>>>>> to make a patch that removes `mavenCentral()` and `jcenter()` from all
>>>>> build.gradle files, then add static paths to find the jars using
>>>>> /usr/share/java
>>>>>
>>>>> .hc
>>>>>
>>>>> Komal Sukhani:
>>>>>> Hello Hans,
>>>>>>
>>>>>> From Android Tools Site[1], I have found that platform/tools.git is
>> root
>>>>>> project and all SDK tools are built under it.
>>>>>>
>>>>>> [1] http://tools.android.com/build/gradleplugin
>>>>>>
>>>>>> Komal Sukhani
>>>>>>
>>>>>> On Tue, Jul 7, 2015 at 12:31 AM, Hans-Christoph Steiner <
>> hans at at.or.at>
>>>>>> wrote:
>>>>>>
>>>>>>>
>>>>>>> I checked out the git repos, since these all seem to be built using
>>>>>>> gradle, we
>>>>>>> should try to mimic the official Google setup as much as possible.
>>>>> For a
>>>>>>> repo
>>>>>>> like platform/tools/buildSrc.git I think having that as a standalone
>>>>> source
>>>>>>> package will just create work, since lots of things depend on it, but
>>>>> it
>>>>>>> doesn't create anything.
>>>>>>>
>>>>>>> Has anyone found any documentation of how Google builds all this?  I
>>>>>>> imagine
>>>>>>> it is similar to how Android ROMs are built, using multiple git repos
>>>>>>> managed
>>>>>>> using `repo`, and built all together at once.
>>>>>>>
>>>>>>> .hc
>>>>>>>
>>>>>>> Hans-Christoph Steiner:
>>>>>>>>
>>>>>>>> I'm CCing the android-tools list.
>>>>>>>>
>>>>>>>> I think it makes sense to make a source package per git repo, unless
>>>>>>> Google is moving around important files between them a lot, like we
>> saw
>>>>>>> with AndroidConfig.h.  All of the android-platform-* source packages
>>>>> are
>>>>>>> already organized like that. My main concern with this approach is
>>>>> that it
>>>>>>> might mean a lot of work in the short term.
>>>>>>>>
>>>>>>>> Yeah, the git release tags are a nightmare, they are not consistent
>>>>> nor
>>>>>>> documented much.  I think for now, we should just go with our best
>>>>> guess as
>>>>>>> to what is the right tag, then we can adjust in the future.
>>>>>>>>
>>>>>>>> .hc
>>>>>>>>
>>>>>>>> On Jul 5, 2015, at 8:39 AM, Komal Sukhani wrote:
>>>>>>>>
>>>>>>>>> Hello Kai-Chung,
>>>>>>>>>
>>>>>>>>> Those methods are introduced in higher version of libraries. For
>>>>>>> example, methods like getAbis(), getDensity() of ddmlib v23.1.0 are
>>>>> used.
>>>>>>>>>
>>>>>>>>> Komal Sukhani
>>>>>>>>>
>>>>>>>>> On Sat, Jul 4, 2015 at 2:45 AM, 殷啟聰 <seamlikok at gmail.com> wrote:
>>>>>>>>> Hi Komal,
>>>>>>>>>
>>>>>>>>> Perhaps those APIs that reported missing are actually in buildSrc?
>>>>>>>>>
>>>>>>>>> Hi Hans,
>>>>>>>>>
>>>>>>>>> We found that the android-xxx tags does not exist in all repos, for
>>>>>>> example platform/tools/buildSrc.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Kai-Chung Yan
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2015 年 7 月 4 日 (週六)04:51 <Komal Sukhani> 於 komaldsukhani at gmail.com
>>>>> 寫道:
>>>>>>>>> Hello,
>>>>>>>>>
>>>>>>>>> I hope you are enjoying in California.
>>>>>>>>>
>>>>>>>>> This week I have been working on Android plugin for Gradle. The
>>>>> plugin
>>>>>>> has dependency over some
>>>>>>>>> of Java libraries like sdklib, ddmlib etc. These libraries are
>>>>> provided
>>>>>>> by source package androidsdk-tools
>>>>>>>>> but their current version is 22.2 and one used by plugin is
>> 24.2.0. I
>>>>>>> have tried using existing libraries but
>>>>>>>>> Gradle plugin refers to some of methods that were introduced in
>>>>> higher
>>>>>>> version. So update is must.
>>>>>>>>>
>>>>>>>>> androidsdk-tools package is fetching code from two different repo,
>>>>>>>>>                              - tools/base
>>>>>>>>>                              - tools/swt
>>>>>>>>>
>>>>>>>>> Kai-Chung and I were thinking instead of updating the package, it
>>>>> would
>>>>>>> be easier to maintain the package
>>>>>>>>> if we create two separate packages for repos tools/base and
>> tools/swt
>>>>>>> namely android-platform-tools-base
>>>>>>>>> and android-platform-tools-build. This will cover all  SDK tools
>> and
>>>>>>> Android-Gradle-Plugin, but there will
>>>>>>>>> be two source packages for SDK tools.
>>>>>>>>>
>>>>>>>>> What do you suggest?
>>>>>>>>>
>>>>>>>>> Komal Sukhani
>>>>>>>>> --
>>>>>>>>> 殷啟聰 | Kai-Chung Yan
>>>>>>>>> 一生只向真理與妻子低頭
>>>>>>>>> Full-time student of Providence University of Taiwan
>>>>>>>>> LinkedIn: <https://linkedin.com/in/seamlik>
>>>>>>>>> Blog: <seamlik.logdown.com>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Android-tools-devel mailing list
>>>>>>> Android-tools-devel at lists.alioth.debian.org
>>>>>>>
>>>>>
>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/android-tools-devel
>>>>>>
>>>>>
>>>> --
>>>>
>>>> 殷啟聰 | Kai-Chung Yan
>>>> 一生只向真理與妻子低頭
>>>> Full-time student of Providence University of Taiwan
>>>> LinkedIn: <https://linkedin.com/in/seamlik>
>>>> Blog: <seamlik.logdown.com>
>>>>
>>



More information about the Android-tools-devel mailing list