Duration 39:40
16+
Play
Video

What's new with the Android build system

Jerome Dochez
Software Engineer at Google
+ 1 speaker
  • Video
  • Table of contents
  • Video
2018 Google I/O
May 9, 2018, Mountain View, USA
2018 Google I/O
Video
What's new with the Android build system
Available
In cart
Free
Free
Free
Free
Free
Free
Add to favorites
5.83 K
I like 0
I dislike 0
Available
In cart
Free
Free
Free
Free
Free
Free
  • Description
  • Transcript
  • Discussion

Hello, good afternoon. My name is xaviel to cry and my name is so generous with financial management. So last year in $3 when the fold and know the whole concept is that all depends on debug and release the boundary? Well, as long as you have matching what it doesn't happen, even though we have a DSL to help you take the frame, but we've seen a lot of developer over the next 6 months who just seen your message, you know like this and just don't know what to do with it. So we wanted to take a minute to explain exactly what's

going on and help you solve such a problem. So the first thing to look at is that the sign that check would not result for Jake Library. So that's good that you should not be fine. You're trying to consume and the part of that don't you mean it is the one that is recorded by Idina top right section. You can see says, you know the name of the staging run time and it's always on time. So he has to do and the air is unable to find a matching configuration. And so it's working really is that the

library project is publishing a whole bunch of artifact in different configuration. And each of the Federation has attributes associated with it. So that matches on the upside your request has any trying to do am I peeing and it needs to find one exact match and here it can finally not so if we go through those configuration, you know, you can look at all the attributes and basically Viper Definition find out where to find me to hear the first thing that we see these two of them have you know an API API time and you can see that the

actual name usage and some of them are using Java API, so don't so we can just ignore them. Then we have too much of a good that is what you go to school on both sides so we can just ignore it something that we used Infiniti to match different type of plug-in application vs. Ivory vs features. We can just ignore it by Adele tribute is not required. It's actually never required and you can just ignore it all the ways. We use that only when we build the motel when we do is to do stink so we can always ignore it and then we find a final extra duties

which is always incompatible. We ask for staging and responding to other values and the name of type of the attributes here, which is packaged name. Psychiatry is basically hopefully it will type attribute and we're requesting staging and it's not finding it. So busy Library does not have the new type and that's why it's so you can trade it there or you can just use the DSL that allows you to create a fullback. So in that case he on the app you're saying if staging is no sound just use diva. You have the same exact principal. If you have a missing

flavor old I mention value here because you're being the name of the Lego Dimension problem. Right? It's not finding try or when you're searching for it. And so the fix is basically exactly the same or matching for back on on the trailer. And you do that inside right on the outside know the library or library that depend on the library. You play Torres on the countryside. Another type of problem here is saying tennis shoes between the following configuration right way instead of finding zero

matches. It's fine to compatible matches. And so, you know, it's only going to show the to configuration that are matching is going to hide all the other ones. So that's what it'll be easier. And if you look at it. Going to be a lot of attributes And he says it's found in attributes on the 46 side on the library, but it was not required by the consumer and so here, you know, basically what's happening is that your library has defined a physical Dimension that is not used not defined in the app or the functioning module and therefore it doesn't know how

to choose this one. So you can again. The fabled I mentioned in your lap or indifferent or you can just go and say, you know missing Diamond strategy name of the name of the value and what it's doing releases adding that attribute directly to the request so that it's able to match the only one and you can add these either to the default config which applies to all your clients. You can reply to specific flavor which will apply only to that deliver or you can add it to a particular Ryan. Thank you. All right. So let's talk about some of the notable changes

that we've introduced in the Bison pipeline. The first thing that we have changed lately is apt to and this is a new incremental results from fighter and compared to a PC 182 is really dividing its work into two phases of people compilation phase where it's changing the resources into a binary format. And then there is a final Lincoln phase where is going to generate the Rachel's table and the final ladies know if you want to use the latest Beckham pictures, you need to use a 52 and in theory apt to is entirely compatible. What is a PT

1 hour? So you might run into issues when you change from abc12 apt to so we have given you a flag so that you can visible if you have issues but you should be aware that those issues may be in apt to itself. It may be in your project. So you should type bugs if you find issues with apt to what you should do your homework first. You should look into well. Maybe the problem is in my project. So let's look maybe you have invited resources and reference to stuff. So we can face out a UPC one pretty soon.

So it's really important that you use which and that you find verbs if you still find some. Next thing is the sugar. So this is a tool which is used to remove all the syntactic sugar. That was a Droid ig-88 like long does and stuff like that with David again into two different versions. So the first version with cheap 230 was an external process used. Another resource was pretty slow now with the DEA to the new Dexter. We've introduced a new restaurant West integrated inside its pipeline. So it's it's better it's faster again. We're going to face out to the old version

interior. You should all be switching to the integrated version will be seeing any difference. If you do please find a boat is most likely out for this time. It's not your fault because we don't have phased out of the old external process version very soon. Talking about Dexter you should all be using the new DH pump Idaho right now. It's was introducing 3-0. It's now D14 3.1 if you use DXM if you still use the eggs because you have arrows consolation are whores or runtime errors. You should definitely

find verbs. They are extremely responsive at fixing those issues. And again, we going to be phasing out the X the OGX very soon and we would like you to be still capable of building your applications. So please 5 x 8 witches renew shrinker of a skater slightly different thing that what they choose to be with plug outlet to plug a juice to a parade on classify. It was classified and making them in if I'd have to be ready to be text over the entire pipeline from classifieds to text ice husband is doing the sugar is doing

minification and Dexter. 4103 Shawnee can we use a lot of data? So it's faster. So we went with you sleep you should try it and you should see if it works. Well again, please find works because at some point if we will stop supporting the old thinkers, maybe not soon. Very mature. No, these are the flags you can use to enable or disable a 28, so please use this if you run into trouble, but she's also p5x. Okay? Now let's talk a little bit about conformance. We know very well that is subject to that.

You are extremely interested in and so are we one of the one of the problem we have is that we have a lot of trouble reproducing issues that may happen in the wide. We don't have that many patients internally that we can use so however is an example using The Nest Mobile app and you can see that has improved about you know, 13% from 30231 and about 18% of the state is not final with 3.2 vs the 301 that if you keep the same set of features in your application of you thinking of changing the application just changing the plug-in if you

start adding features, like, you know, Java age of coupling, you know stinks Mayberry, obviously, Know if you think if you look a little different performance thinks he's a little bit more complicated when you look at information Bill's you can see that jealousy full full build was about 10 to 15% of your gold build a when you went in for metal. It jumps to a really bad 38% of the time so we can see that in increments of nachos Java SQL partition is the dominating Factor Why is that it's because it's nothing criminal tool. Why is it

nothing criminal? It's because people are using an efficient processes and so far they are not incremental capable. So we started a joint effort with goggle to have incremental allocation focuses, its gold in cat so it's ready when shifting 4.7 and now we are in the process of trying to move all of Google so that they can process has to be incremental capable. Days Inn action required for you from you if you have in-house and a different processes that you should move them to be incapable to use this Library. It's not very complicated for

the simple solution for sale does weather just like one source file any stingrays something from One Source? Cuz I need to see the entire world is just adding a few many countries. So it's very simple and that will eventually if all of you on a different processes are in captivity will be able to switch the the population to be criminal and that we have a huge impact on the performance of you and crematorium. Thank you. Let's talk a little bit about jetpack. You've heard about it a lot. So how does it work? Let's just

take the first example where we have a few you wouldn't want to move to a coup underway text project to heal your gut you old projects using the old come all the way to Port. What you should do is to use the refectory TuneIn Studio to actually move your project to use. The news. One of the issue is that we had some dependencies to your project automatically Decks that use data binding we go to add automatically export Library. If you move to a new pure on the way to world, where are you now suddenly have the

on the way to Exxon friend instead of the old combative what we need to know that you we must use the underwear expert edex runtime libraries. So we need to have an indication of which one we want to inject and you need to tell the plug in DC Swedish flag, which of the two girls when you want us to use. Okay, so if you want to move to another World Peace was this world flag. If you are in a hybrid World, which is most likely what's going to happen to most people so yes, you've moved your application. You moved all your projects to use the new on the

way to ask stuff. But you use some external library that you have no control over that still uses the old come the soup of libraries. You have no choice. You have no control over the social. So what can you do to be able to provide facilities that will just basically change automatically the dependency from the old come down towards to port to the new one and will change the library itself. But by changing all the info statements to the new one, it's not like we're going to be published elaborate, but luckily you would be able to have an illusion of impure

world where everybody's defending of the new on the way text Library. Again, that is a flag and a boat Jetty fire. Okay, so let's talk about the Afghan girl. I'm sure you've heard about the about the lot over the last two days. So we're going to tell you a few greater specific thing. So the first thing is that on the application flag in a note on the library all the feature plug-in, but only application plug-in on top of all the animals have that you see here we have and so you'll be able to very quickly, you know without any change just go and build upon. And remember all

that depend on is a way to go back to the Play Store and get out of the box much smaller apks targeting Avi density and language. Is it okay for a specific device? So you'll get much smaller in stock locally. You can also build electric are exactly the same way to play Crystal Jersey to when it rains does a ticket. So if you want to verify something saying, you know, I have a device, you know, I don't want to be alone APK directly. I want to be late to get away the Play Store with training APK Thunder you can do that. You know what

state is definitely a little bit more involved that directly building the APK, right? We first build a bundle when we use it to record Bender tool, which is also available. How to create a zip of all the possibilities and then based on a device configuration. We can go when Traders apks engineer or we don't really necessarily want you to create that manually using a greater task. However, in a video Android self channel can use that flu when you need it. So for example, the instant ask if you have just the basic Android application with no Dynamic

features is going to directly building APK. As soon as you have been. In order to ensure that we can install that on any device because remember if you have a dynamic future and you try to install on a 3 l d i, so if you are less than 21 we need to fuse that idiot. Kiss together, you know that you in study and we don't want to do it your way that's different from the Play Store. We want to do it exactly the same way the police told us. If you try to run tests from the command line folding connected Shake, it's

always going to go directly to the atk's we're going to work later on adding to go to run tests yard bundle in order to simulate better exactly the type of education that I created by the Play Store. Different from Studio you have a choice, right? You can either directly deploy if he cares or you can deploy TK's Beauty and hear the big box that you can shake we recommend to not check it when you do your regular out there opens as we saw earlier building APK from the band or is it in that building and on top of that

when you deploy from Studio, we actually look at the device you want to talk it and then we can check that information into greater and then try to take some chocolate so I can call if you require Legacy decks which text to watch the Bills but you deploy to device. 21 actually going to use my teeth after we can't take that chance. So we recommend, you know to have two different types of wrinkled aggression just Rachel of them one with and one without the option and then use the APK as often as you can and only use the other one when you really have to when you want to try exactly if you

could that would be triggered by the If you push to a device again, that's 321, then we're going to use that option anyway, and we're always going to go to the bundle as soon as you have done any pictures. So you may already be doing manual milky APK using that your cell and also there's a giant City auditor used to compute fiction code, you know, dynamically forwarded if I need to get that you're doing that right now. Do you want to switch to the bundle? You can just erase all of that ESL? It's completely unnecessary, right? There's nothing to do all you have to do

you call the butler to get your bundle and on the serious side. We will do all the states by density Avi Language by default. Would you have a DSL to order you to marry Elizabeth if you're running into a problem with think that it would be very very few cases where you actually need to do that, but you have you could eat if you're really have to if you have that also file a bug and talk to the PlayStore team and you know, see if you can actually saw the Prime with them. So I mentioned I'm a teacher. So what are Dynamic features right there male teachers that are downloaded

on demand side by side with Humanity K. So he's got a feature that only 10% of all need 92 in Spanish for audio to 90% Just haven't done it on demand for the way you're going to organize your code. Is it such a friendship project in Greater? You haven't even flow in a you plug in cord and my future and the different compared to letter library library library and can't wait for the code of the library. Here are the pictures. I'll actually sitting on the top and depend on the base so we can see here the two based feature of the two Diamond

teacher in Blue on the project app, which is your base one. Now the basement also have to refer to those that in the future it needs to list them because the way we built the Complicated and unusual, but you need to list those Dynamite pictures and it's just a list of strings which objects Reddit path of your all of your Dynamic features. If you use instant app since that you're it for me, look somewhat similar, you know, which is used both for your features. And for your best feature, except you have a small flag using

face Bleacher Report truth, but the bass beat you're also have to refer to all of those teachers using which is not right and we'll probably migrated to the dynamic future version student. But right now you do it using the feature of Punky Gresham. And you know, you probably heard about you know that in the future you'll be able to instant a table in order to deliver using the app under and this is why it's going to be possible because the future plug-in and Earth anime feature plug-in out very very similar inside the application that in the future and future plug-in. She'll probably

over 95% code switching to the epidural would be exactly the same architecture with leggings. And if you're doing that make it your right now then also anything that can be done. If it's not that would be very similar in the future. Okay, so, you know, I mentioned that he needs to know about the bass app which know about the future. So if you have that I had before they just look normal, right, you know, there's a bunch of intermediates in each modules and itch out Connecticut. What happens is that

belongs to the app to the app answer when you actually build the bundle we have to publish things from the future back into the basement and that's why we need to have all of those dependent TV available on the basement. If you don't add Dynamic features to your bass module, it's just not going to happen. It's not going to show up in your Bandolero. So When developing Dynamic features, it's important to understand are some differences with additional to wait after getting building

won't change between the bass module and the Futures application. I deficient name fish include all of those should be set in the basement Jewel and we will then publish them back to the pictures so that they can be used in the past when Funston generating the manifesto whatever understand that you said that you do not repeat them in the features. We will automatically transfer. Facebook recipe development index and you are not using any pictures but you still doing the bundle thing in this case. There's really not much

difference is the same behavior. The only difference is that instead of shipping stuff into an 80k when achieving well now shipping into a bundle which eventually gets uploaded the dynamic delivery will not do much. They will just take this despised and stole them on the on the device before execution. If you have picture of still not a lot of difference between each picture can develop and go can become itself a multiple text files. Everything gets merged onto baseball Jewel and then you get a package inside

the bottle again and you know something as we have each year it gets delivered on the phone not too big a difference. 94242 native think we need to have the flexibility to still deliver the application in 90 merchandise. If you are so don't leave deploying on the device, which is 25, but if you are getting I feel different on 15 now we need to do something specific for back-end. What will happen is that a dynamically delivery refused all of your text files into

a single one that would be delivered to this. This is important to realize that even if none of your modules including the base module on your picture Mojo's if none of them use multi texting itself because we combine those into a single one. Beast may actually go over to Dixie meats and this may a requirement in texting. Okay. So you need to manually enable multi texting device application and what that will do is busy create the men's deck list at his Ghost Ship along with old X-Files into the bundle. So now the dynamic delivery will take that don't drool and it would be

capable that you're trying to turn on a 15 device. It will use the Medics least to the diffusing create the correct mendex and then forget the text correctly. Thinking an application. So it's the same as before. You set it on the baseboard. You'll just like the application ID. So you 75 enable. This is not a lot of changes but how we actually Implement these weary different. This is only supposed to do with a twitch is a whole new thing to write talked about earlier. So what

we do is that we take all the names that's will be Define close to the class of the apply to the rules in the Futures will melt all the rules into a single one than what they called. Listen to create a combined X X Files with everything and then we're going to spend that text file into a text splitter which will split this text all of the features flows for the bass. Nights are very different mechanisms before now we have again. This text is Ben strength to be navigated. Now. There's two scenarios possible. Either

you using the bond or or using is ATK. If you're using the boundaries for the simple, this text finds out of matically transferred into the bundle. Like we saw earlier if you using feature it slightly different the next 5 days to be re-published back to each of the feature. And then they would be packaged into the case. Alright, so it's a slightly different mechanism as we must have seen in the past is a lot of going back and forth and that's why we need to have these differences between features an app. Okay, so we wanted to talk a little bit about

a few things that actually not shipping entry. To respect. We are working on it. We've been working on this for a while. We expect they will ship soon and they have a lot of changes and so we wanted to kind of like give you a heads-up and also we want you back as soon as it's available. I want to talk about the way we think you have a first library or library to in the shower on floor. What happens is that going to process those resources and now the Java and nothing else so when this gets consumed I don't like another library

library on this one may be referencing resources from library to and so, you know that you really validate or those results references and ideas with some of those two results for their into a single resource dollar and process it and then generates an order a class that regenerate to our classes. Right one is for the library itself, which everyone all the resources from everyone and every two and then we have another one which is just a new version of the outcasts United by library to that is used in case you want to run tests and things like that. You need to find out ID version of

it. So then you got gas station we can ask you the same thing again. So we going to remerge and everyone library to and process all of that and then we generate the final results binary format as well as all the time that I needed by the code from the library want to know this is probably one of the last thing that is very inefficient in the way. We've been things the resources from library to is busy clean version for set three times. We generate a lot about classes in project with a few hundred mud used

in writing summer 2000, which is too many and so we really need to talk. So this is what the new floor looks like the first one we compiled the library to we're going to generate a binary version of resources and it is because ATT to has that picture we can't make that work with ATT. So that's Saying if you chew is going away 82 is really the future and this time we just didn't read the outlet directly rather than go to that. You don't have to that's my location when we depend on it

and come see me a library one. What we're going to do is that we're only going to process the resources of that merger, and then we'll use the outfit of the farthest module the same way basic to use a job during jealousy, right? It just took One Pilots. It's mostly they have to validate again resort restaurants has a new generation you resolve package that only contains another nurse Russian. No matter anymore and the library of that Library. It does not contain the result of the library and this one we don't match the

sizes anymore. When an object depends on everyone and every 2 seconds. Principal at the end, we have an additional step binary and binary format of the resources and energy into the final one and create the Final Extra so you can see where everything is a resource in library to buy just a Teaching letters train. There's no reason that I need to complete Library want to get it just the list of ideas that I need to take against the recurrence is exactly the same one that's been no changes so we can use the same thing like competition avoidance that we use for jealousy and then we

don't need to recompile everyone. We don't think she'll be compelled. All we have to do is do the final link and that's it. And we can do that also because they have class for the app does not use final I use any more look at some of the impact of that change the first I said that he has lots of each model only contain the resources of that modulate doesn't contain all of them. That means that if you want to reference another results from another module you have to use The Hourglass on that merger instead of the stuff. That means you're likely to have to involve more than one of

class. Which continent or is it a recycle? Yes. We are looking at ways to go to make that work in July did it because technically there's no reason for the artist to be called it will record whatever else so each Library. Could Define surname to reduce the amount of conflicts. And again, as I said, you know the outlet ideas on those final anymore even in yapp's which means that you can still use Java switch cases anymore. I mentioned we're not doing results matter anymore. So if you have a module that really final results already present in the library, that's not going

to work anymore. And that's a good reason for that. We definitely want to hear from you. If you're using the naughty list Ranch way if what you're doing is letting Depot in my app. I want to go for a ride and iPhone that's coming from one of my library. You can just use by and see where they're going to see management right in that type very have it debugged version of that icon. And then he actually going to the depot Goshen anyway, which was not the case before 3, so, that's all that problem. If you have an older yusuke's definitely talk to us because you want to hear about it.

So I mentioned in space right? You know what I even talked about any of them space so far, but when you think about it, you know, I just said we don't have any resource manager or resourceful. So what happened here and both of them didn't exactly the same results with the same name, but with a different value stream, maybe you're late night phone or something like that in the past don't know Joe would just pick one of them physically the first one that you would have a higher priority and

still here. What's happening. Now. Is that where we where do you want to do is one package. Them. So both of them are going to become pie in the face and then we're going to package that internally. The outlet is from those two libraries. We have different we have to stay out of string. Food, but with different values and internal injuries of saber. They would really point to two different resources, which is much better. So now when you're referring to a library at your results from library, you have to use the namespace of the thyroid

and using the a glass of that. She is already a way to access it the ice namespace, right? It's like you don't have to go to a class with all the ideas. So when you do that from the many faces are to be different if you have to use the money first. But you still coming soon as you have to use the namespace directly in the resources to act like everyone called on strings attached text, which is very similar to when you are such an Android named State Street right at Android Columbus something if you do have custom attributes you have to do something. So you'll probably using

risotto everywhere now not really bothering your name space is now you actually I have to carry you can say Hey, you know, this is going to try to lay out these strange is that namespace of that library and then I can use those. So are we hoping to bring that in 323 Canary? It's going to be open or just need some breaking changes. We're going to the flag in studio. So that all those restaurants with a chance for you to feedback Friday. It's not going to be torn down in 323 titled ID for either going to be

civil religion where they will be, you know changes any pregnant, but we want to go back. Okay last thing we want to talk about today's all public API. We are painfully aware that the public at the idea to provide is not very good very good documentation. The fugly in India said he's pretty bad. It's not specific to the major type. So this picture of things you cannot start in different modules yet still they are going to be just fine. So some people who like to have access to the most money first class files X-Files when they

made you can't really do it in a nice way Define modal doesn't have access to a lot of information coming from different properties is so you only have access to thought of the truth and it is just too many things that require internal apis hacking past the temperature in between public and internal if you guys is not well-defined so you don't know when you're switching from one to the other. And to give you an example, this is how the configuration was today. Right? So we have the DSM passing first and then we create the volume of

the tasks voltages volume at STP. I so that's where it's running but you can see that it's happening after the tasks. I've been created. So there's no way you can change anything that would influence. So you want to switch from Legacy decks. Are you going to do that anymore? Because we've already created a task for legacy Martinez. Say you want to change some of the information is a DSL programmatically instead of putting it in the DSL. Are you going to do that? Because we already created the tasks and chances are that the input have already been finalized so and then eventually

deactivate Clips new customer wants to run even later today as we know where you can do a lot of things here and took but people do that Jackson's to tasks and then they try to figure out where to find a generator than a stomachs. So what we would like to do is to have a simple Gretel API interfaces, that would be the only module that you should depend on and if you stop depending on how much you want like other cool, you should talk to us and you to tell us what all you'll need. What are you what what why are you doing this don't think that's

why you need to customize things and we are interested in providing you with boots solution. So one of the things we are looking for for instance is to give you access to all of the intimate advice. So it really is associated with what type of milk manifest to call text fires. What resources should be able to be accessed and should be safely capable of being replaced. So you should be able to stay give me the money does manifest change it to little bits and I'm getting you back to this new version and that's the one

you should use to continue to build process. We should be replaceable. You should be at 10 devil. Maybe you want to ask class guys directly and eventually all of this should be drawn through very well-defined extension points. So we started working on it and we would like to have it back from this. So the proposed spacers would you like a different now? You've got the DSM passing we would then start invoking you custom code right there. So you would have the ability to stop changing the subject programmatically even before we stop creating volumes. Then we would look them up. That means

you can change them anymore. Once that has a run this locked up. We would then free us from this information from the Valiant weekend. Anchor directions to Runyon CPI. So that's the ability for you to change Ryan's for later information has created yet. So this is really the ability to say it was using multidex. No, I want you to use Legacy meta decks. Once this has to stop run we will rock her again. If you let you on that starts to change the DSM-5 saying it's too late.

Then eventually we create a task and we will look them up immediately. We will not allow you to notify to tasks anymore the way to modify things would be to go to the buildable artifact to inject to replace to a hand but not smoking weed to test people's will replace them all the time with me today and will delete them. So we beat them whatever we need to do to support new features or make things more efficient. And it eventually we have to leave at Ridgewood Road. So the compatibility would be open. Ject. We will try to make a musically the DSL come mostly unchanged.

We going to try to make an effort to assume becoming more cutting friendly and Trinity. We think that the Garden City I will change heavy but since we already realized that it was not so great. Hopefully you'll be sympathetic to the ID that you would have to change the script using the volume 50. So we want to hear from you. It's very important that we get feedback from the community for us, and I want to thank you for coming tonight. I know it's late session. It was very nice to see so many people here tonight. Thank you.

Cackle comments for the website

Buy this talk

Access to the talk “What's new with the Android build system”
Available
In cart
Free
Free
Free
Free
Free
Free

Access to all the recordings of the event

Get access to all videos “2018 Google I/O”
Available
In cart
Free
Free
Free
Free
Free
Free
Ticket

Interested in topic “Software development”?

You might be interested in videos from this event

September 28, 2018
Moscow
16
159
app store, apps, development, google play, mobile, soft

Similar talks

Stephan Herhut
Software Engineer at Google
Available
In cart
Free
Free
Free
Free
Free
Free
Ibrahim Karahan
Partner developer advocate at Google
+ 2 speakers
Pierre Lecesne
Senior Software Engineer at Google
+ 2 speakers
Anthony Morris
Software Engineer at Google
+ 2 speakers
Available
In cart
Free
Free
Free
Free
Free
Free
Raj Ajrawat
Global Product Specialist Lead at Google
+ 3 speakers
James Bender
Product Manager at Google
+ 3 speakers
Amrit Sanjeev
Developer Advocate at Google
+ 3 speakers
Steve Suppe
Product Manager at Google
+ 3 speakers
Available
In cart
Free
Free
Free
Free
Free
Free

Buy this video

Video

Access to the talk “What's new with the Android build system”
Available
In cart
Free
Free
Free
Free
Free
Free

Conference Cast

With ConferenceCast.tv, you get access to our library of the world's best conference talks.

Conference Cast
558 conferences
22059 speakers
8190 hours of content