thanks for the report, we'll fix this asap.

On Tue, Oct 13, 2015 at 7:12 AM, Jan-Olof Sivtoft <
[email protected]> wrote:

> Hi
>
> We have a simple test project creating two flavors, one building with jack.
>
> android {
>     productFlavors {
>          usejack{
>              useJack = true
>          }
>          usejavac{
>              // build with javac
>          }
>     }
> }
>
> But since we are stepping up from 1.4.0-beta1 to beta2 the flavor building
> with jack no longer contains the dex file.  This also holds all the way up
> to beta6
>
> Whats new in beta2 it the transform API, but it is said that it does not
> support jack but still there are tasks related to the transform api (red
> lines below)
>
> When I build the useJack flavor (assembleUseJackRelease) i can see the
> following tasks being executed:
>
> :preBuild
> :preUsejackReleaseBuild
> :checkUsejackReleaseManifest
> :prepareUsejackReleaseDependencies
> :compileUsejackReleaseAidl
> :compileUsejackReleaseRenderscript
> :generateUsejackReleaseBuildConfig
> :generateUsejackReleaseAssets
> :mergeUsejackReleaseAssets
> :generateUsejackReleaseResValues
> :generateUsejackReleaseResources
> :mergeUsejackReleaseResources
> :processUsejackReleaseManifest
> :processUsejackReleaseResources
> :generateUsejackReleaseSources
> :jillUsejackReleasePackagedLibraries
> :jillUsejackReleaseRuntimeLibraries
> :processUsejackReleaseJavaRes
> :transformClassesAndResourcesWithExtractJarsForUsejackRelease
> :transformResourcesWithMergeJavaResForUsejackRelease
> :compileUsejackReleaseJavaWithJack
> :compileUsejackReleaseNdk
> :validateDebugSigning
> :packageUsejackRelease
> ...
>
> Building usejavac flavor (assenbleUsejavacRelease) results in:
>
> :preBuild
> :preUsejavacReleaseBuild
> :checkUsejavacReleaseManifest
> :prepareUsejavacReleaseDependencies
> :compileUsejavacReleaseAidl
> :compileUsejavacReleaseRenderscript
> :generateUsejavacReleaseBuildConfig
> :generateUsejavacReleaseAssets
> :mergeUsejavacReleaseAssets
> :generateUsejavacReleaseResValues
> :generateUsejavacReleaseResources
> :mergeUsejavacReleaseResources
> :processUsejavacReleaseManifest
> :processUsejavacReleaseResources
> :generateUsejavacReleaseSources
> :compileUsejavacReleaseJavaWithJavac
> :compileUsejavacReleaseNdk
> :transformClassesAndResourcesWithExtractJarsForUsejavacRelease
> :transformClassesWithDexForUsejavacRelease
> :processUsejavacReleaseJavaRes
> :transformResourcesWithMergeJavaResForUsejavacRelease
> :validateDebugSigning
> :packageUsejavacRelease
> ...
>
> Locking into the log
>
> 15:41:50.629 [INFO]
> [org.gradle.api.internal.changedetection.changes.RebuildIncrementalTaskInputs]
> All input files are considered out-of-date for incremental task
> ':packageUsejackRelease'.
> 15:41:50.751 [DEBUG] [org.gradle.api.Project] Packaging
> bootclasspath-usejack-release-unaligned.apk
> 15:41:50.751 [DEBUG] [org.gradle.api.Project] ...
> build/intermediates/res/resources-usejack-release.ap_:
> 15:41:50.751 [DEBUG] [org.gradle.api.Project] => AndroidManifest.xml
> 15:41:50.755 [DEBUG] [org.gradle.api.Project] => res/drawable/icon.png
> 15:41:50.755 [DEBUG] [org.gradle.api.Project] => res/layout/main.xml
> 15:41:50.755 [DEBUG] [org.gradle.api.Project] => res/raw/notice.txt
> 15:41:50.756 [DEBUG] [org.gradle.api.Project] => resources.arsc
>
> while building with jack give me:
>
> 15:43:31.356 [INFO]
> [org.gradle.api.internal.changedetection.changes.RebuildIncrementalTaskInputs]
> All input files are considered out-of-date for incremental task
> ':packageUsejavacRelease'.
> 15:43:31.495 [DEBUG] [org.gradle.api.Project] Packaging
> bootclasspath-usejavac-release-unaligned.apk
> 15:43:31.496 [DEBUG] [org.gradle.api.Project]
> ...build/intermediates/res/resources-usejavac-release.ap_:
> 15:43:31.496 [DEBUG] [org.gradle.api.Project] => AndroidManifest.xml
> 15:43:31.501 [DEBUG] [org.gradle.api.Project] => res/drawable/icon.png
> 15:43:31.501 [DEBUG] [org.gradle.api.Project] => res/layout/main.xml
> 15:43:31.502 [DEBUG] [org.gradle.api.Project] => res/raw/notice.txt
> 15:43:31.503 [DEBUG] [org.gradle.api.Project] => resources.arsc
> 15:43:31.504 [DEBUG] [org.gradle.api.Project] => classes.dex
>
> Now, I have looked into the source code of beta-6 and debugging the both
> cases and in
> in com.android.build.core.AndroidBuilder method packageApk(..) the Map
> dexFolders are always null when running with Jack.
>
> and at com.android.build.gradle.tasks,PackageApplication inner class
> ConficAction method execute(PackageApplication)
> at row (315)  ConventionMappingHelper.map(packageApp, "dexFolders" ......
> ) the is no DEX stream.
>
> As mentioned before it is stated that Transform API isn't supported for
> Jack, but yet there are transform tasks executed so it is difficult to know
> how much of the transform code that actually is used when building with
> jack.
>
> The attribute Map dexFolder in packageApplication is null by default so it
> must be set in some way to get it into the apk.
>
> BR / JO Sivtoft, Sony Mobile in Lund, Sweden.
>
>
>
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "adt-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Xavier Ducrohet
Android SDK Tech Lead
Google Inc.
http://developer.android.com | http://tools.android.com

Please do not send me questions directly. Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"adt-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to