-
Notifications
You must be signed in to change notification settings - Fork 148
SDK tools updated to 25.2.5 #68
SDK tools updated to 25.2.5 #68
Conversation
obsolete android command replaced with sdkmanager constraint layout extra added armeabi-v7a Google API system image added
Wow, thank you @koral-- for the PR!! Just a quick question: does This is quite important, to ensure that an image is only created if all packages are successfully installed. |
No internet connection:
Unwritable destination directory:
Invalid component name:
As you see exit code is proper in most test cases. Searching for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome PR overall, it's just quite an extensive update that's why we have a couple of questions - we'll check these too, so these comments are for us as well ;)
Dockerfile
Outdated
RUN sdkmanager "extras;android;m2repository" | ||
RUN sdkmanager "extras;google;m2repository" | ||
RUN sdkmanager "extras;google;google_play_services" | ||
RUN sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you please move these into a new section, like the Android System Images
or build tools
ones? It's easier to manage versioned packages that way, if those are in a separate section, with "descending" order.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK
RUN echo 8933bad161af4178b1185d1a37fbf41ea5269c55 > ${ANDROID_HOME}/licenses/android-sdk-license | ||
|
||
# Platform tools | ||
RUN sdkmanager "platform-tools" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this required? Isn't platform-tools part of the sdk? I know we did install it too, just curious as the Android SDK distribution changed quite a bit in the last year, changing things like what's in the SDK/ZIP quite a bit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
platform-tools
contain binaries used in project development like adb
or hprof-conv
while tools
is for managing SDK itself eg. sdkmanager
, avdmanager
are there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And answering the first question: it is required, adb
is used to install apps on devices and emulators.
Dockerfile
Outdated
|
||
# Accept license before installing components, no need to echo y | ||
RUN mkdir -p ${ANDROID_HOME}/licenses | ||
RUN echo 8933bad161af4178b1185d1a37fbf41ea5269c55 > ${ANDROID_HOME}/licenses/android-sdk-license |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What license is this? For what package & what version?
Can you please add it as a comment, maybe with some notes for when this have to be updated in the future how you can get the new license, would help a lot with future updates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This license is called android-sdk-license
and (at the time of writing) is valid for all components in the stable channel (so all installed from Dockerfile). There are separate licenses for other, not installed components:
- android-googletv-license
- android-sdk-preview-license
- google-gdk-license
- mips-android-sysimage-license
- intel-android-extra-license (this one is not applicable on Linux)
I think in the future (starting from tools 25.3.1
) the easiest way to accept licenses is like that:
yes | sdkmanager --licenses
it will answer y
for all the licenses.
RUN cd /opt && unzip -q android-sdk-tools.zip | ||
RUN mkdir -p ${ANDROID_HOME} | ||
RUN cd /opt && mv tools/ ${ANDROID_HOME}/tools/ | ||
RUN cd /opt && rm -f android-sdk-tools.zip | ||
|
||
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools | ||
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's in tools/bin
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sdkmanager
is in tools/bin
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
avdmanager
added in version 25.3.1 will also go here.
Content of Layout:
|
… license description added
System report diff - seems 👍
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perfect, thank you very much @koral-- !
We'll run a couple of additional tests on staging build servers, but so far everything seems to be working as expected, and your changes should be part of this weekend's stack updates ;)
SDK tools updated to 25.2.5
android
command replaced withsdkmanager
constraint layout extra added
armeabi-v7a Google API system image added
pipe with
echo y
replaced with license fileSDK tools 25.2.5 contains both usable
android
andsdkmanager
commands so build steps using obsolete commands won't be broken (in 25.3.1android
became unusable stub).