So I'm fairly sure there is a multidex bug in the gradle plugin from an assumption of how project are laid out. I post this on the bug tracker in a bit but I wanted to post it here first.
I think the entire process of asking Progaurd to shink may be an issue. I believe all dependencies should be added or that the allclasses.jar should be used instead.
:app:shrinkDebugMultiDexComponents
Executing task ':app:shrinkDebugMultiDexComponents' (up-to-date check took 0.002 secs) due to:
Input file /private/tmp/TestShit/app/build/intermediates/multi-dex/debug/allclasses.jar has changed.
Input file /private/tmp/TestShit/app/build/intermediates/multi-dex/debug/manifest_keep.txt has changed.
ProGuard, version 4.11
Reading program jar [/private/tmp/TestShit/app/build/intermediates/multi-dex/debug/allclasses.jar]
Note: the configuration refers to the unknown class 'com.apportable.app.VerdeApplication'
Note: the configuration refers to the unknown class 'android.content.Context'
Note: the configuration refers to the unknown class 'com.apportable.activity.VerdeActivity'
Note: the configuration refers to the unknown class 'com.apportable.activity.GdbServerService'
Note: the configuration refers to the unknown class 'com.apportable.media.AudioManagerService'
Note: the configuration refers to the unknown class 'com.apportable.activity.ManageSpaceActivity'
Note: the configuration refers to the unknown class 'com.apportable.notifications.NotificationsBootReceiver'
Note: the configuration refers to the unknown class 'com.apportable.notifications.NotificationsAlarmReceiver'
Note: the configuration refers to the unknown class 'com.apportable.notifications.LocalNotificationService'
Note: the configuration refers to the unknown class 'com.apportable.iap.BillingService'
Note: the configuration refers to the unknown class 'com.apportable.iap.BillingReceiver'
Note: the configuration refers to the unknown class 'com.facebook.LoginActivity'
Note: the configuration refers to the unknown class 'com.adjust.sdk.ReferrerReceiver'
Note: the configuration refers to the unknown class 'com.mobileapptracker.Tracker'
Note: the configuration refers to the unknown class 'com.amazon.device.ads.AdActivity'
Note: the configuration refers to the unknown class 'com.google.android.gms.ads.AdActivity'
Note: the configuration refers to the unknown class 'com.millennialmedia.android.MMActivity'
Note: the configuration refers to the unknown class 'com.millennialmedia.android.VideoPlayerActivity'
Note: the configuration refers to the unknown class 'com.rhythmnewmedia.sdk.RhythmActivity'
Note: the configuration refers to the unknown class 'com.rhythmnewmedia.sdk.video.RhythmVideoActivity'
Note: the configuration refers to the unknown class 'com.applovin.adview.AppLovinInterstitialActivity'
Note: the configuration refers to the unknown class 'com.inmobi.androidsdk.IMBrowserActivity'
Note: the configuration refers to the unknown class 'com.jirbo.adcolony.AdColonyOverlay'
Note: the configuration refers to the unknown class 'com.jirbo.adcolony.AdColonyFullscreen'
Note: the configuration refers to the unknown class 'com.jirbo.adcolony.AdColonyBrowser'
Note: the configuration refers to the unknown class 'com.rfm.sdk.HTMLBrowserView'
Note: the configuration refers to the unknown class 'com.mopub.common.MoPubBrowser'
Note: the configuration refers to the unknown class 'com.mopub.mobileads.MoPubActivity'
Note: the configuration refers to the unknown class 'com.mopub.mobileads.MraidActivity'
Note: the configuration refers to the unknown class 'com.mopub.mobileads.MraidVideoPlayerActivity'
Note: the configuration refers to the unknown class 'com.unity3d.ads.android.view.UnityAdsFullscreenActivity'
Note: the configuration refers to the unknown class 'com.scopely.zendeskhelper.ui.RequestActivity'
Note: the configuration refers to the unknown class 'com.scopely.zendeskhelper.ui.RequestCompletionActivity'
Note: the configuration refers to the unknown class 'android.app.backup.BackupAgent'
Note: the configuration refers to the unknown class 'java.lang.annotation.Annotation'
Note: android.support.multidex.MultiDexExtractor accesses a method 'apply()' dynamically
Note: there were 39 references to unknown classes.
You should check your configuration for typos.
Note: there were 1 accesses to class members by means of introspection.
You should consider explicitly keeping the mentioned class members
(using '-keep' or '-keepclassmembers').
Note: You're ignoring all warnings!
:app:shrinkDebugMultiDexComponents FAILED
:app:shrinkDebugMultiDexComponents (Thread[main,5,main]) completed. Took 0.122 secs.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:shrinkDebugMultiDexComponents'.
> java.io.IOException: The output jar is empty. Did you specify the proper '-keep' options?
* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.