Android speed-up application when we use multi library on Gradle - android

I'm using multi library which they are installed by Gradle on my appliaction, after opening application each time i get simple delay on opening application such as 10 second :| if i download libraries instead of using and installing by Gradle, that cause of speed up my application or not?
My Gradle
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex:rxjava:1.1.6'
compile 'com.jakewharton.rxbinding:rxbinding-appcompat-v7:0.4.0'
compile 'com.jakewharton.rxbinding:rxbinding-design:0.4.0'
compile 'com.jakewharton:butterknife:8.2.1'
apt 'com.jakewharton:butterknife-compiler:8.2.1'
compile 'frankiesardo:icepick:3.2.0'
provided 'frankiesardo:icepick-processor:3.2.0'
compile('io.socket:socket.io-client:0.7.0') {
exclude group: "org.json", module: "json"
}
compile 'com.google.code.gson:gson:2.6.2'
compile 'com.github.devlight.navigationtabbar:library:+'
compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.2.2'
compile 'com.balysv:material-ripple:1.0.2'
compile 'com.github.chyrta:AndroidOnboarder:+'
compile 'com.github.lamydev:android-notification:3.0'
compile 'com.koushikdutta.ion:ion:2.+'
compile 'com.bugsnag:bugsnag-android:+'
compile 'com.github.liuguangqiang.swipeback:library:1.0.2#aar'
compile 'com.wunderlist:sliding-layer:1.2.5'
compile 'com.facebook.rebound:rebound:0.3.8'
compile 'com.tumblr:backboard:0.1.0'
compile 'com.nineoldandroids:library:2.4.0'
compile 'com.jaredrummler:android-device-names:1.0.9'
compile 'org.sufficientlysecure:html-textview:1.6'
compile 'com.melnykov:floatingactionbutton:1.3.0'
compile 'com.github.ksoichiro:android-observablescrollview:1.5.2'
compile 'com.kogitune:pre-lollipop-activity-transition:1.3.0'
compile 'org.greenrobot:eventbus:3.0.0'
compile 'com.mikhaellopez:circularimageview:3.0.2'
compile 'com.alexvasilkov:foldable-layout:1.2.0'
compile 'com.mikhaellopez:circularfillableloaders:1.2.0'
compile 'cat.ereza:customactivityoncrash:1.5.0'
compile 'jp.wasabeef:glide-transformations:2.0.1'
compile 'com.github.hotchemi:permissionsdispatcher:2.1.3'
apt 'com.github.hotchemi:permissionsdispatcher-processor:2.1.3'
compile 'com.github.goka.flickableview:flickableview:1.0.0'
compile 'com.github.Kennyc1012:BottomSheet:2.1.2'
compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
compile('com.github.ozodrukh:CircularReveal:2.0.1#aar') {
transitive = true;
}
compile project(':lib-searchview')
}

No because gradle saves them locally, you can go to your gradle.properties and set these values and enable the gradle to use more of your machine compute power.
-Xms4096m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:+CMSClassUnloadingEnabled
-XX:+CMSPermGenSweepingEnabled
-XX:+HeapDumpOnOutOfMemoryError
-Dfile.encoding=utf-8

Related

Execution failed for task ':app:transformClassesWithMultidexlistForDebug' Duplicate Zip Entry

I am getting the below error all of a sudden. The app was running fine till morning. Since then I have been getting this. I tried loading older commits from Git, however I am getting the same issue now. I can see that there's a duplicate entry of some class, but it is not very clear where. I have checked all of my libraries to locate the issue but in vain. Please help
Error:Execution failed for task
':app:transformClassesWithMultidexlistForDebug'.
> java.io.IOException: Can't write [C:\Users\Bluetie Backup 3
i5\Downloads\Bluetie_Android_NewDesign-
Development\Bluetie_Android_NewDesign-Development\BlueTieAndroid-
master\app\build\intermediates\multi-dex\debug\componentClasses.jar] (Can't
read [C:\Users\Bluetie Backup 3 i5\.gradle\caches\transforms-1\files-
1.1\support-core-ui-27.1.0.aar\781c80d72f0634c3cfc30b7ab8014102\jars\classes.jar(;;;;;;**.class)]
(Duplicate zip entry[classes.jar:android/support/design/widget/CoordinatorLayout$Behavior.class]))`
I have used a lot of Libraries as my app is very UI centric.
Here's the build.gradle file
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',
{
exclude group: 'com.android.support', module: 'support-annotations'
})
compile project(':rtp')
compile project(':pageIndicator')
compile files('libs/linkedin-j-android.jar')
//compile files('libs/commons-codec-1.3.jar')
//compile files('libs/signpost-core-1.2.1.1.jar')
compile project(':imagepicker')
compile project(':swipflingview')
compile project(':linkedin-sdk')
compile 'com.android.support:multidex:1.0.2'
//noinspection GradleCompatible
compile 'com.google.firebase:firebase-core:11.0.2'
compile 'com.google.firebase:firebase-crash:11.0.2'
/* compile 'com.google.firebase:firebase-auth:11.0.2'*/
compile 'com.google.android.gms:play-services-analytics:11.0.2'
compile 'com.google.firebase:firebase-messaging:11.0.2'
compile 'com.google.android.gms:play-services-location:11.0.2'
/*compile 'com.google.android.gms:play-services-ads:11.0.2'*/
compile 'com.google.android.gms:play-services-auth:11.0.2'
/* compile 'com.google.android.gms:play-services-gcm:11.0.2'*/
compile 'com.google.android.gms:play-services-places:11.0.2'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
compile 'com.squareup.okhttp:okhttp:2.0.0'
compile 'com.squareup.okio:okio:1.0.1'
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:support-v4:26.1.0'
compile 'com.android.support:design:26.1.0'
compile ('com.facebook.android:facebook-android-sdk:4.6.0'){
exclude module: 'support-v4'
}
compile 'com.squareup.picasso:picasso:2.4.0'
compile 'com.yalantis:ucrop:2.2.0'
compile 'com.appyvet:materialrangebar:1.3'
compile 'com.android.support:cardview-v7:26.1.0'
compile 'com.joanzapata.iconify:android-iconify-fontawesome:2.2.2'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'org.greenrobot:eventbus:3.0.0'
compile 'com.makeramen:roundedimageview:2.3.0'
compile 'com.jsibbold:zoomage:1.1.0'
compile 'com.michaelmuenzer.android:ScrollableNumberPicker:0.2.2'
compile 'com.theartofdev.edmodo:android-image-cropper:2.6.+'
compile ('com.nineoldandroids:library:2.4.0'){
exclude module: 'support-v4'
}
compile 'uk.co.samuelwall:material-tap-target-prompt:1.1.4'
compile 'com.mikhaellopez:circularimageview:3.0.2'
compile 'com.android.support:percent:26.1.0'
compile('com.github.ozodrukh:CircularReveal:1.1.1') {
transitive = true;
}
testCompile 'junit:junit:4.12'
compile project(':paralaxed_viewpager')
compile project(':tooltiplibrary'){
exclude module: 'support-v4'
}
compile project(':pinview_lib')
compile 'com.github.travijuu:numberpicker:1.0.7'
compile 'com.razorpay:checkout:1.4.1'
compile 'com.github.travijuu:numberpicker:1.0.7'
compile 'com.razorpay:checkout:1.4.1'
compile project(':country_code_picker_library')
compile 'com.github.satyan:sugar:1.5'
compile 'org.igniterealtime.smack:smack-android:4.1.6'
compile 'org.igniterealtime.smack:smack-tcp:4.1.6'
compile 'org.igniterealtime.smack:smack-im:4.1.6'
compile 'org.igniterealtime.smack:smack-extensions:4.1.6'
compile 'com.jackandphantom.android:circularprogressbar:1.2.0'
compile 'com.jaredrummler:material-spinner:1.2.4'
compile 'com.skyfishjy.ripplebackground:library:1.0.1'
compile 'com.wonderkiln:camerakit:0.13.1'
compile 'com.droidninja:filepicker:2.1.2'
compile project(':autocompleteview')
compile 'com.appsflyer:af-android-sdk:4.8.7#aar'
compile 'com.android.installreferrer:installreferrer:1.0'
Just change the version of a dependency-
from
compile 'com.theartofdev.edmodo:android-image-cropper:2.6.+'
to
compile 'com.theartofdev.edmodo:android-image-cropper:2.5.1'
Sync >> Clean >> Rebuild , and Done
In my case this changes fixed my issue.
This error appeared after Android released Support Library v27.1.0 (February 2018).
I think, this error is because of some dependencies used in the project.
compile 'com.another.library:1.2.3'
compile '.....'
Since every dependency is another project, with its own dependencies. Android tries to add all of these to the project, when building. If a dependency uses another version of a support library, this kind of conflicts or duplicates may occur.
Probably one of your dependencies has a line in its gradle file, declaring:
compile 'com.android.support:design:27.+'
which means "use the newest release of v.27".
When v.27.1.0 has been released your own compile 'com.android.support:...:26.1.0' lines caused a duplicate.
To solve this out:
You can either update your own dependencies to the new version
or
-if you are able to find- you can exclude the support libraries from the dependency using v.27.1.0:
compile('com.another.library:1.2.3') {
exclude group: 'com.android.support', module: 'support-v13'
}
Change the dependency version
Use this
implementation 'com.theartofdev.edmodo:android-image-cropper:2.5.1'
instead of
implementation 'com.theartofdev.edmodo:android-image-cropper:2.6.+'

duplicate Entry com/google/zxing/BarcodeFormat.class

When I am running the app on Android 6.0 and above directly through run from android studio then able to run the app successfully. But when creating a build through build apk from android studio then I am getting following error :
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: com/google/zxing/BarcodeFormat.class**
Below is my gradle file :
dependencies {
compile('com.crashlytics.sdk.android:crashlytics:2.6.1#aar') {
transitive = true;
}
compile('com.digits.sdk.android:digits:1.11.2#aar') {
transitive = true;
}
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.android.support:recyclerview-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.dlazaro66.qrcodereaderview:qrcodereaderview:1.0.0'
compile 'com.wdullaer:materialdatetimepicker:2.4.0'
compile 'com.google.android.gms:play-services:11.0.1'
compile 'com.android.support:multidex:1.0.0'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:converter-scalars:2.1.0'
compile 'com.koushikdutta.ion:ion:2.1.8'
compile 'de.hdodenhof:circleimageview:2.0.0'
compile 'testfairy:testfairy-android-sdk:1.+#aar'
compile 'cn.pedant.sweetalert:library:1.3'
compile 'com.theartofdev.edmodo:android-image-cropper:2.4.+'
compile 'com.google.code.gson:gson:2.6.1'
compile 'com.facebook.android:facebook-android-sdk:4.+'
compile 'com.orhanobut:dialogplus:1.11#aar'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.google.firebase:firebase-messaging:11.0.1'
compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-auth:11.0.1'
compile 'dev.dworks.libs:volleyplus:+'
testCompile 'junit:junit:4.12'
}
You can exclude "com.google.zxing" module "core"
implementation('com.facebook.android:facebook-android-sdk:{VERSION}') {
exclude group: "com.google.zxing", module: 'core'
}
you need to use same version depedency of firebase
use this
compile 'com.google.firebase:firebase-messaging:11.0.1'
compile 'com.google.firebase:firebase-core:11.0.1'
compile 'com.google.firebase:firebase-auth:11.0.1'
instead of this
compile 'com.google.firebase:firebase-messaging:11.0.1'
compile 'com.google.firebase:firebase-core:9.2.0'
compile 'com.google.firebase:firebase-auth:11.0.1'
You might be having same file named as BarcodeFormat.java in your project. Please rename it to anything else and see if the error gets solved.

Error:(66, 30) error: package PhoneAuthProvider does not exist

Error:(66, 30) error: package PhoneAuthProvider does not exist
This is my app build.gradle
P.S multidex enabled is true
Why this error happens?
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',
{
exclude group: 'com.android.support', module: 'support-annotations'
})
// this line must be included to integrate with Firebase
compile 'com.google.firebase:firebase-core:10.2.0'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.google.firebase:firebase-auth:10.2.0'
compile 'com.google.firebase:firebase-storage:10.2.0'
compile 'com.google.firebase:firebase-database:10.2.0'
compile 'com.google.firebase:firebase-messaging:10.2.0'
compile 'org.apache.directory.studio:org.apache.commons.io:2.4'
compile 'com.koushikdutta.ion:ion:2.+'
compile 'com.github.barteksc:android-pdf-viewer:2.5.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.github.kenglxn.QRGen:android:2.2.0'
compile 'me.dm7.barcodescanner:zxing:1.9'
compile 'com.google.zxing:core:3.2.1'
compile 'com.dlazaro66.qrcodereaderview:qrcodereaderview:2.0.1'
compile 'com.afollestad.material-dialogs:core:0.9.4.5'
compile 'com.github.clans:fab:1.6.2'
compile 'com.google.android.gms:play-services-auth:10.2.0'
compile 'com.facebook.android:facebook-android-sdk:[4,5)'
compile 'com.github.chrisbanes:PhotoView:2.0.0'
compile 'me.grantland:autofittextview:0.2.+'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.theneura:android-sdk:+'
testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
Use :
compile 'com.google.android.gms:play-services-auth:11.0.2'
Instead of :
compile 'com.google.android.gms:play-services-auth:10.2.0'
the phone authentication was released with Firebase Android SDK v11 you need to update your auth module to 11.0.2 instead of 10.2.0

Execution failed for task ':app:transform' > duplicate entry: com/nineoldandroids/animation/Animator$AnimatorListener.class

I am getting this error while I try to run my Android Application,
I have used Reside Menu as merge into my Application (not by Gradle dependency) and then I am trying to integrate a payment gateway but while using a payment gateway I have to import ".aar" package.
After successfully importing, when I try to run my application at that time I got this error of library "nineoldandroids". I think this error triggered because one of the my gradle plugin is also using the same library.
Please take a look of my gradle :-
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
compile project(':cal_library')
compile project(':mobicomkitui')
compile 'com.android.support:appcompat-v7:24.2.1'
compile 'com.android.support:support-v4:24.2.1'
compile 'com.android.support:design:24.2.1'
compile 'com.android.support:cardview-v7:24.2.1'
compile 'com.android.support:recyclerview-v7:24.2.1'
compile 'com.jakewharton:butterknife:8.4.0'
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'com.google.android.gms:play-services-maps:10.0.1'
compile 'com.makeramen:roundedimageview:2.3.0'
compile 'com.droidninja:filepicker:2.0.3'
compile 'com.rengwuxian.materialedittext:library:2.1.4'
compile 'com.squareup.picasso:picasso:2.5.0'
compile 'com.balysv:material-ripple:1.0.2'
compile 'com.leavjenn.smoothdaterangepicker:library:0.2.0'
compile 'com.github.skydoves:elasticviews:1.0.6'
compile 'com.squareup.retrofit2:converter-gson:2.0.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
compile 'com.squareup.okhttp3:okhttp:3.4.1'
compile 'com.github.johnpersano:supertoasts:1.3.4#aar'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
testCompile 'junit:junit:4.12'
apt 'com.jakewharton:butterknife-compiler:8.4.0'
compile 'com.weiwangcn.betterspinner:library-material:1.1.0'
compile 'com.yalantis:ucrop:2.2.0'
compile 'com.onesignal:OneSignal:3.+#aar'
compile 'com.google.android.gms:play-services-gcm:10.0.1'
compile 'com.google.android.gms:play-services-location:10.0.1'
compile 'com.j256.ormlite:ormlite-android:5.0'
compile 'com.j256.ormlite:ormlite-core:5.0'
compile 'com.github.kayvannj:PermissionUtils:1.0.2#aar'
}
So what could be the problem ?

Bundling gradle dependencies with aar

I have a project project A that has these dependencies:
dependencies {
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:24.0.0'
compile 'com.android.support:recyclerview-v7:24.0.0'
compile 'com.android.support:cardview-v7:24.0.0'
compile 'com.android.support:palette-v7:24.0.0'
compile 'com.google.android.gms:play-services-gcm:9.4.0'
compile 'com.google.android.gms:play-services-auth:9.4.0'
compile 'com.google.android.gms:play-services-plus:9.4.0'
compile 'com.google.android.gms:play-services-location:9.4.0'
compile 'com.android.support:customtabs:24.0.0'
compile ('com.hannesdorfmann.smoothprogressbar:library:1.0.0'){
transitive = true
}
compile 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
compile 'jp.wasabeef:blurry:2.0.2'
compile 'com.karumi:dexter:2.3.1'
compile 'io.card:android-sdk:5.4.0'
compile 'com.android.volley:volley:1.0.0'
compile 'com.cocosw:bottomsheet:1.+#aar'
compile 'de.hdodenhof:circleimageview:1.3.0'
compile 'me.leolin:ShortcutBadger:1.1.3'
compile 'com.dlazaro66.qrcodereaderview:qrcodereaderview:1.0.0'
compile 'com.facebook.android:facebook-android-sdk:4.13.2'
compile 'xyz.danoz:recyclerviewfastscroller:0.1.3'
compile 'uk.co.chrisjenx:calligraphy:2.2.0'
compile 'com.android.support:multidex:1.0.1'
// compile 'joda-time:joda-time:2.9.3'
compile 'com.github.clans:fab:1.6.3'
compile files('libs/jsevaluator.jar')
compile files('libs/libphonenumber-7.0.2.jar')
compile project(':zoneOrchestra')
compile project(':scrambledkeyboard')
compile project(':datelibrary')
compile project(':phoneNumberValidator')
compile project(':library')
compile project(':inputtypepicker')
compile project(':pagerIndicator')
compile project(':persistentSearch')
compile('com.github.KingsMentor:IntentManip:v1.0.2') {
exclude group: 'com.android.support'
}
compile('com.twitter.sdk.android:tweet-composer:0.8.0#aar')
{
transitive = true;
}
compile('com.crashlytics.sdk.android:crashlytics:2.5.2#aar') {
transitive = true;
}
}
the project is bundle to project.aar , which should serve as a dependency to other projects.
The problem is, when project.aar is added to another project, it is unable to build. It requires it's dependencies which for some reasons are not bundled with it.
How do I make sure these dependencies are bundled along with the .aar file?

Categories

Resources