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.

Reply via email to