thanks for the report, we'll get this fixed.

On Thu, Sep 17, 2015 at 9:32 AM, Ariel Cattan <[email protected]> wrote:

> Hey guys,
>
> I found another issue with the Android Gradle Plugin version 1.4.0-beta2
> which uses the Transform API.
> Apparently when building a project with multidex enabled, Proguard is
> automatically triggered (without requesting it, in the debug build-type),
> and generates lots of warnings on a project that normally builds fine with
> proguard.
>
> Below is an example of a build output:
>
> Executing tasks: [:test2:assembleDemoDebug]
>
> Configuration on demand is an incubating feature.
> :somelib:preBuild UP-TO-DATE
> :somelib:preReleaseBuild UP-TO-DATE
> :somelib:compileReleaseNdk UP-TO-DATE
> :somelib:compileLint
> :somelib:copyReleaseLint UP-TO-DATE
> :somelib:mergeReleaseProguardFiles UP-TO-DATE
> :somelib:checkReleaseManifest
> :somelib:prepareReleaseDependencies
> :somelib:compileReleaseAidl UP-TO-DATE
> :somelib:compileReleaseRenderscript UP-TO-DATE
> :somelib:generateReleaseBuildConfig UP-TO-DATE
> :somelib:generateReleaseAssets UP-TO-DATE
> :somelib:mergeReleaseAssets UP-TO-DATE
> :somelib:generateReleaseResValues UP-TO-DATE
> :somelib:generateReleaseResources UP-TO-DATE
> :somelib:packageReleaseResources UP-TO-DATE
> :somelib:processReleaseManifest UP-TO-DATE
> :somelib:processReleaseResources UP-TO-DATE
> :somelib:generateReleaseSources UP-TO-DATE
> :somelib:compileReleaseJavaWithJavac UP-TO-DATE
> :somelib:processReleaseJavaRes UP-TO-DATE
> :somelib:packageReleaseJar UP-TO-DATE
> :somelib:packageReleaseJniLibs UP-TO-DATE
> :somelib:packageReleaseLocalJar UP-TO-DATE
> :somelib:packageReleaseRenderscript UP-TO-DATE
> :somelib:bundleRelease UP-TO-DATE
> :test2:preBuild UP-TO-DATE
> :test2:preDemoDebugBuild UP-TO-DATE
> :test2:checkDemoDebugManifest
> :test2:preDemoReleaseBuild UP-TO-DATE
> :test2:preExperimentalDebugBuild UP-TO-DATE
> :test2:preExperimentalReleaseBuild UP-TO-DATE
> :test2:prepareAndroidStudioProjectsSomelibUnspecifiedLibrary UP-TO-DATE
> :test2:prepareComAndroidSupportAppcompatV72221Library UP-TO-DATE
> :test2:preDemoDebugAndroidTestBuild UP-TO-DATE
> :test2:preExperimentalDebugAndroidTestBuild UP-TO-DATE
> :test2:prepareComAndroidSupportMultidex101Library UP-TO-DATE
> :test2:prepareComAndroidSupportSupportV42221Library UP-TO-DATE
> :test2:prepareComGoogleAndroidGmsPlayServicesAnalytics780Library UP-TO-DATE
> :test2:prepareComGoogleAndroidGmsPlayServicesBase780Library UP-TO-DATE
> :test2:prepareComGoogleAndroidGmsPlayServicesMaps780Library UP-TO-DATE
> :test2:prepareDemoDebugDependencies
> :test2:compileDemoDebugAidl UP-TO-DATE
> :test2:compileDemoDebugRenderscript UP-TO-DATE
> :test2:generateDemoDebugBuildConfig UP-TO-DATE
> :test2:generateDemoDebugAssets UP-TO-DATE
> :test2:mergeDemoDebugAssets UP-TO-DATE
> :test2:generateDemoDebugResValues UP-TO-DATE
> :test2:generateDemoDebugResources UP-TO-DATE
> :test2:mergeDemoDebugResources UP-TO-DATE
> :test2:processDemoDebugManifest UP-TO-DATE
> :test2:processDemoDebugResources UP-TO-DATE
> :test2:generateDemoDebugSources UP-TO-DATE
> :test2:compileDemoDebugJavaWithJavac
> :test2:compileDemoDebugNdk UP-TO-DATE
> :test2:compileDemoDebugSources
> :test2:transformClassesAndResourcesWithExtractJarsForDemoDebug
> :test2:transformClassesWithJarMergingForDemoDebug
> :test2:collectDemoDebugMultiDexComponents
> :test2:transformClassesWithMultidexlistForDemoDebug
> ProGuard, version 5.2.1
> Reading program jar
> [D:\AndroidStudioProjects\test2\build\intermediates\transforms\CLASSES\FULL_PROJECT\jarMerging\demo\debug\classes.jar]
> Reading library jar
> [D:\AndroidSDK\build-tools\23.0.0\lib\shrinkedAndroid.jar]
> Note: android.support.v4.app.NotificationCompatJellybean calls
> 'Field.getType'
> Note: com.google.android.gms.internal.zzry calls 'Field.getType'
> Note: crittercism.android.k calls 'Field.getType'
> Note: android.support.v4.app.NotificationCompatJellybean: can't find
> dynamically referenced class android.app.Notification$Action
> Note: android.support.v4.text.ICUCompatIcs: can't find dynamically
> referenced class libcore.icu.ICU
> Note: android.support.v7.internal.widget.DrawableUtils: can't find
> dynamically referenced class android.graphics.Insets
> Note: com.google.android.gms.maps.internal.zzy: can't find dynamically
> referenced class com.google.android.gms.maps.internal.CreatorImpl
> Note: crittercism.android.ap: can't find dynamically referenced class
> android.webkit.CallbackProxy
> Note: crittercism.android.dz: can't find dynamically referenced class
> dalvik.system.PathClassLoader
> Note: crittercism.android.ed: can't find dynamically referenced class
> dalvik.system.DexClassLoader
> Note: android.support.multidex.MultiDexExtractor accesses a method
> 'apply()' dynamically
> Note: android.support.v4.app.NotificationCompatJellybean accesses a
> declared field 'icon' dynamically
>       Maybe this is program field
> 'android.support.v4.app.NotificationCompat$Action { int icon; }'
>       Maybe this is program field 'android.support.v7.appcompat.R$attr {
> int icon; }'
>       Maybe this is program field 'android.support.v7.appcompat.R$id { int
> icon; }'
>       Maybe this is program field 'com.safedk.test2.R$attr { int icon; }'
>       Maybe this is program field 'com.safedk.test2.R$id { int icon; }'
> Note: android.support.v4.app.NotificationCompatJellybean accesses a
> declared field 'title' dynamically
>       Maybe this is program field
> 'android.support.v4.app.NotificationCompat$Action { java.lang.CharSequence
> title; }'
>       Maybe this is program field 'android.support.v7.appcompat.R$attr {
> int title; }'
>       Maybe this is program field 'android.support.v7.appcompat.R$id { int
> title; }'
>       Maybe this is program field 'com.safedk.test2.R$attr { int title; }'
>       Maybe this is program field 'com.safedk.test2.R$id { int title; }'
> Note: android.support.v4.app.NotificationCompatJellybean accesses a
> declared field 'actionIntent' dynamically
>       Maybe this is program field
> 'android.support.v4.app.NotificationCompat$Action {
> android.app.PendingIntent actionIntent; }'
> Note: android.support.v4.text.ICUCompatIcs accesses a method
> 'getScript(java.lang.String)' dynamically
>       Maybe this is program method 'android.support.v4.text.ICUCompat {
> java.lang.String getScript(java.lang.String); }'
>       Maybe this is program method
> 'android.support.v4.text.ICUCompat$ICUCompatImpl { java.lang.String
> getScript(java.lang.String); }'
>       Maybe this is program method
> 'android.support.v4.text.ICUCompat$ICUCompatImplBase { java.lang.String
> getScript(java.lang.String); }'
>       Maybe this is program method
> 'android.support.v4.text.ICUCompat$ICUCompatImplIcs { java.lang.String
> getScript(java.lang.String); }'
>       Maybe this is program method 'android.support.v4.text.ICUCompatIcs {
> java.lang.String getScript(java.lang.String); }'
> Note: android.support.v4.text.ICUCompatIcs accesses a method
> 'addLikelySubtags(java.lang.String)' dynamically
>       Maybe this is program method 'android.support.v4.text.ICUCompat {
> java.lang.String addLikelySubtags(java.lang.String); }'
>       Maybe this is program method
> 'android.support.v4.text.ICUCompat$ICUCompatImpl { java.lang.String
> addLikelySubtags(java.lang.String); }'
>       Maybe this is program method
> 'android.support.v4.text.ICUCompat$ICUCompatImplBase { java.lang.String
> addLikelySubtags(java.lang.String); }'
>       Maybe this is program method
> 'android.support.v4.text.ICUCompat$ICUCompatImplIcs { java.lang.String
> addLikelySubtags(java.lang.String); }'
>       Maybe this is program method 'android.support.v4.text.ICUCompatIcs {
> java.lang.String addLikelySubtags(java.lang.String); }'
> Note: android.support.v7.internal.widget.DrawableUtils accesses a method
> 'getOpticalInsets()' dynamically
> Note: android.support.v7.internal.widget.ViewUtils accesses a method
> 'makeOptionalFitsSystemWindows()' dynamically
> Note: com.google.android.gms.common.internal.DowngradeableSafeParcel
> accesses a field 'NULL' dynamically
>       Maybe this is program field
> 'com.google.android.gms.common.internal.safeparcel.SafeParcelable {
> java.lang.String NULL; }'
> Note: crittercism.android.ap accesses a method 'getWebViewClient()'
> dynamically
> Note: crittercism.android.ap accesses a method 'getWebViewClient()'
> dynamically
> Note: crittercism.android.ap accesses a declared field
> 'mContentsClientAdapter' dynamically
> Note: crittercism.android.dz accesses a declared field 'path' dynamically
> Note: crittercism.android.lh accesses a declared field '$__handler'
> dynamically
> Note: crittercism.android.lh accesses a declared field '$__methodArray'
> dynamically
> Note: crittercism.android.q accesses a declared method 'clone()'
> dynamically
>       Maybe this is program method
> 'android.support.v4.app.NotificationCompat$Action$WearableExtender {
> android.support.v4.app.NotificationCompat$Action$WearableExtender clone();
> }'
>       Maybe this is program method
> 'android.support.v4.app.NotificationCompat$Action$WearableExtender {
> java.lang.Object clone(); }'
>       Maybe this is program method
> 'android.support.v4.app.NotificationCompat$WearableExtender {
> android.support.v4.app.NotificationCompat$WearableExtender clone(); }'
>       Maybe this is program method
> 'android.support.v4.app.NotificationCompat$WearableExtender {
> java.lang.Object clone(); }'
>       Maybe this is program method
> 'android.support.v4.util.LongSparseArray {
> android.support.v4.util.LongSparseArray clone(); }'
>       Maybe this is program method
> 'android.support.v4.util.LongSparseArray { java.lang.Object clone(); }'
>       Maybe this is program method
> 'android.support.v4.util.SparseArrayCompat {
> android.support.v4.util.SparseArrayCompat clone(); }'
>       Maybe this is program method
> 'android.support.v4.util.SparseArrayCompat { java.lang.Object clone(); }'
>       Maybe this is program method 'com.google.android.gms.internal.zzrr {
> java.lang.Object clone(); }'
>       Maybe this is program method 'com.google.android.gms.internal.zzrt {
> java.lang.Object clone(); }'
>       Maybe this is program method 'com.google.android.gms.internal.zzru {
> java.lang.Object clone(); }'
>       Maybe this is program method 'com.google.android.gms.internal.zzrx {
> java.lang.Object clone(); }'
> Note: crittercism.android.t accesses a declared method 'getInetAddress()'
> dynamically
> Note: crittercism.android.t accesses a declared method 'getPort()'
> dynamically
> Note: there were 3 classes trying to access generic signatures using
> reflection.
>       You should consider keeping the signature attributes
>       (using '-keepattributes Signature').
>       (
> http://proguard.sourceforge.net/manual/troubleshooting.html#attributes)
> Note: there were 7 unresolved dynamic references to classes or interfaces.
>       You should check if you need to specify additional program jars.
>       (
> http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass
> )
> Note: there were 18 accesses to class members by means of introspection.
>       You should consider explicitly keeping the mentioned class members
>       (using '-keep' or '-keepclassmembers').
>       (
> http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclassmember
> )
> Note: you're ignoring all warnings!
> Preparing output jar
> [D:\AndroidStudioProjects\test2\build\intermediates\multi-dex\demo\debug\componentClasses.jar]
>   Copying resources from program jar
> [D:\AndroidStudioProjects\test2\build\intermediates\transforms\CLASSES\FULL_PROJECT\jarMerging\demo\debug\classes.jar]
> :test2:transformClassesWithDexForDemoDebug
> :test2:processDemoDebugJavaRes UP-TO-DATE
> :test2:transformResourcesWithMergeJavaResForDemoDebug
> :test2:validateDemoReleaseSigningSigning
> :test2:packageDemoDebug
> :test2:zipalignDemoDebug
> :test2:assembleDemoDebug
>
> BUILD SUCCESSFUL
>
> Total time: 32.948 secs
>
>
> Thanks,
> Ariel Cattan
>
> --
> 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