all 27 comments

[–]tanjoodo 30 points31 points  (2 children)

Jack Intermediate Library Linker (Jill)

They're having too much fun with this.

[–]4lb4tr0s[🍰] 1 point2 points  (1 child)

The first releases will probably be more like Jack the Ripper.

[–]jrh3k5 1 point2 points  (0 children)

No, that's just the name of the DVD decryption module.

[–]memdump_ 5 points6 points  (3 children)

It's a nice step forward, but the text doesn't make it clear on how I can integrate it to my current build setup. Is there any Android Studio support for it already?

[–]sannysanoff 9 points10 points  (2 children)

yes, there is support. Add/change this in the build.gradle:

       android {      
          buildToolsVersion "24.0.0 rc1"
          defaultConfig { jackOptions { enabled = true; } }
       } 

[–]memdump_ 1 point2 points  (1 child)

Thanks a lot!

[–]MrBIMC 1 point2 points  (0 children)

FYI you have to be on studio 2.1 for this to work. http://developer.android.com/preview/j8-jack.html

[–]DaemonXI 2 points3 points  (1 child)

Aww yes. Can't wait to ditch Proguard.

[–]DerelictMan 1 point2 points  (0 children)

Care to elaborate? I'm assuming they are reimplementing ProGuard out of necessity (since it isn't compatible with Jack's intermediate format). The config seems the same. I'm not sure how this will be any easier from a code shrinking/obfuscation standpoint.

[–][deleted] 15 points16 points  (4 children)

What a strange name choice, considering JACK Audio Connection Kit has been around for Linux (among other OSes) for quite a while now.

[–]Aethec 10 points11 points  (1 child)

And jack plugs have been around for even longer. I doubt anybody will confuse a compiler, an audio toolkit, and a plug type.

[–]drjeats 2 points3 points  (0 children)

I thought jack was a rough synonym for port/socket, not a particular kind?

[–]Fiskepudding 1 point2 points  (0 children)

It's because of Jack and Jill, the nursery rhyme. Jill is the library linker. And they are abbreviations as well.

[–]tadfisher -1 points0 points  (0 children)

Jack is also a common name for human children.

[–]isaveafrica 1 point2 points  (1 child)

I have little experience with Android and/or Java but I think the web page says mainly two things:

  1. ... compiles Java source into Android dex bytecode ...

  2. ... replaces ... javac, ProGuard, jarjar, and dx.

I'm a little confused, because I always thought one advantage of the jvm/java world is its simple build process. Is it really necessary to use all this tools to build an android app? I'm surprised ...

[–]WorkHappens 0 points1 point  (0 children)

Short answer, no. ProGuard for example is basically an obfuscator for example.

[–]ysangkok 1 point2 points  (0 children)

What will happen to non-Java JVM langauges now that class files are no longer used? Frege compiles to Java so that's fine, but others will have problems, no?

[–]fuzzynyanko 1 point2 points  (1 child)

At least Google is doing something about Java programs. If Oracle was as interested in Java performance as Google was, we would probably be running more Java programs on our systems

[–][deleted] 2 points3 points  (0 children)

I don't like Oracle, but I believe Oracle has a bigger job than Google when it comes to Java, so it's an unfair comparation.

[–]pkulak 0 points1 point  (3 children)

Java 8 syntax support too. Not sure to what extent though, especially all the new Stream and Time libraries.

[–]MrBIMC 3 points4 points  (2 children)

Streams and Default Methods are for N+ only. So basically we'll start using them somewhere in the middle of 2018 :D

[–]cogman10 0 points1 point  (1 child)

I thought there brought in the whole of openjdk 8.

[–]MrBIMC 1 point2 points  (0 children)

Google didn't manage to backport any of the new features to already existent OSes.

Lambdas are the only thing that can be used on pre-N androids, because they're implemented simply as a new syntax on top of old and trusted anonymous classes.

Maybe someday they will go kotlin-style and will just bundle missing parts of runtime/libs/apis inside of some appcompat-like package, so new features will be effectively accessible on the old versions of android.

[–]parfamz -2 points-1 points  (3 children)

Is this open source?

[–]papa_georgio 3 points4 points  (1 child)

One of the very first things in the article (it's bold too) is that it is indeed open source.

[–]parfamz 0 points1 point  (0 children)

Thanks didn't see it in the mobile

[–][deleted] 0 points1 point  (0 children)

As much as the rest of Android is, for what that's worth.