1

I have an older version of my signed app and i am trying to upgrade it with a newer version but getting error app not installed. I don't want to reinstall the app as lot of users are using the older version on live. I have investigated it and found the only difference is the Gradle file.

Older Version build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {

        classpath 'com.android.tools.build:gradle:3.1.2'
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
}

Newer version build.gradle

 // Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {

        classpath 'com.android.tools.build:gradle:3.1.4'
    }
}

allprojects {
    repositories {
        maven { url "https://maven.google.com" }
        jcenter()
        google()
    }
}

App level build.gradle file:-

Older version :

    buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
}

android {
    compileSdkVersion 25
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "in.spoors"
        targetSdkVersion 25
        multiDexEnabled true
        minSdkVersion 14
        ndk {
            abiFilters "armeabi-v7a", "x86", "armeabi"
        }
    }
    flavorDimensions "default"
    productFlavors {
        nd {
            applicationIdSuffix ".effortplus"
            buildConfigField("boolean", "IS_LIVE", "false")
//            resValue("string", "server_base_url", "http://nd.spoors.in/mf6")
//            resValue("string","server_base_url","http://ma.spoors.in:8083/effortPlusUat")
            resValue("string", "authority", "in.spoors.effortplus.provider")
            resValue("string", "file_authority", "in.spoors.effortplus.fileprovider")
            resValue("string", "app_name", "EFFORT Plus")
            resValue("string", "app_folder_name", "EFFORT Plus")
            resValue("string", "backup_app_folder_name", "EFFORT Plus")
            resValue("string", "title_activity_home", "EFFORT Plus")
        }
        live {
            applicationIdSuffix ".effortplus"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://spoors.in/mobile")
            resValue("string", "authority", "in.spoors.effortplus.provider")
            resValue("string", "file_authority", "in.spoors.effortplus.fileprovider")
            resValue("string", "app_name", "EFFORT Plus")
            resValue("string", "app_folder_name", "EFFORT Plus")
            resValue("string", "backup_app_folder_name", "EFFORT Plus")
            resValue("string", "title_activity_home", "EFFORT Plus")
        }
        secure_live {
            applicationIdSuffix ".effort2mfmdm"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://secure.spoors.in/effort6")
            //resValue("string", "server_base_url", "http://nd.spoors.in:9080/effort5-2016")
//            resValue("string","server_base_url","https://nd.spoors.in/effort5-2016")
            resValue("string", "authority", "in.spoors.effort2mfmdm.provider")
            resValue("string", "file_authority", "in.spoors.effort2mfmdm.fileprovider")
            resValue("string", "app_name", "EFFORT MAPPS")
            resValue("string", "app_folder_name", "EFFORT MAPPS")
            resValue("string", "backup_app_folder_name", "EFFORT MAPPS")
            resValue("string", "title_activity_home", "EFFORT MAPPS")
        }
        mapps_byod {
            applicationIdSuffix ".effort2mfmdm.byod"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://secure.spoors.in/effort6")
            //resValue("string", "server_base_url", "http://nd.spoors.in:9080/effort5-2016")
//            resValue("string","server_base_url","https://nd.spoors.in/effort5-2016")
            resValue("string", "authority", "in.spoors.effort2mfmdm.byod.provider")
            resValue("string", "file_authority", "in.spoors.effort2mfmdm.byod.fileprovider")
            resValue("string", "app_name", "EFFORT MAPPS")
            resValue("string", "app_folder_name", "EFFORT MAPPS")
            resValue("string", "backup_app_folder_name", "EFFORT MAPPS")
            resValue("string", "title_activity_home", "EFFORT MAPPS")
        }
        mapps_cod {
            applicationIdSuffix ".effort2mfmdm.cod"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://secure.spoors.in/effort6")
            //resValue("string", "server_base_url", "http://nd.spoors.in:9080/effort5-2016")
//            resValue("string","server_base_url","https://nd.spoors.in/effort5-2016")
            resValue("string", "authority", "in.spoors.effort2mfmdm.cod.provider")
            resValue("string", "file_authority", "in.spoors.effort2mfmdm.cod.fileprovider")
            resValue("string", "app_name", "EFFORT MAPPS")
            resValue("string", "app_folder_name", "EFFORT MAPPS")
            resValue("string", "backup_app_folder_name", "EFFORT MAPPS")
            resValue("string", "title_activity_home", "EFFORT MAPPS")
        }
        mapps_cod_uat {
            applicationIdSuffix ".effort2mfmdm.coduat"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://secure.spoors.in/effort6")
            //resValue("string", "server_base_url", "http://nd.spoors.in:9080/effort5-2016")
//            resValue("string","server_base_url","https://nd.spoors.in/effort5-2016")
            resValue("string", "authority", "in.spoors.effort2mfmdm.coduat.provider")
            resValue("string", "file_authority", "in.spoors.effort2mfmdm.coduat.fileprovider")
            resValue("string", "app_name", "EFFORT MAPPS")
            resValue("string", "app_folder_name", "EFFORT MAPPS")
            resValue("string", "backup_app_folder_name", "EFFORT MAPPS")
            resValue("string", "title_activity_home", "EFFORT MAPPS")
        }

        mapps_byod_uat {
            applicationIdSuffix ".effort2mfmdm.byoduat"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://secure.spoors.in/effort6")
            //resValue("string", "server_base_url", "http://nd.spoors.in:9080/effort5-2016")
//            resValue("string","server_base_url","https://nd.spoors.in/effort5-2016")
            resValue("string", "authority", "in.spoors.effort2mfmdm.byoduat.provider")
            resValue("string", "file_authority", "in.spoors.effort2mfmdm.byoduat.fileprovider")
            resValue("string", "app_name", "EFFORT MAPPS")
            resValue("string", "app_folder_name", "EFFORT MAPPS")
            resValue("string", "backup_app_folder_name", "EFFORT MAPPS")
            resValue("string", "title_activity_home", "EFFORT MAPPS")

        }
    }

    dexOptions {
        jumboMode = true
        javaMaxHeapSize "2g"
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }

}

dependencies {
    implementation files('libs/CWAC-WakefulIntentService.jar')
    implementation files('libs/antlr-4.5.3-complete.jar')
    implementation files('libs/org.eclipse.paho.android.service-1.0.2.jar')
    implementation files('libs/org.eclipse.paho.client.mqttv3-1.0.2.jar')
    implementation files('libs/commons-lang3-3.4.jar')
    implementation files('libs/edm.jar')
    implementation files('libs/license.jar')
    implementation files('libs/rc.jar')
//    implementation files('libs/PdfViewer.jar')
    implementation('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
        transitive = true;
    }

    implementation files('libs/97bt-android-library.jar')
    implementation files('libs/97bt-android-library-fp.jar')
    implementation files('libs/AEM_SCRYBE_SEP_2014.jar')
    implementation files('libs/core-3.2.0.jar')
    implementation files('libs/deviceutility.jar')
    implementation files('libs/getprintableimage.jar')
    implementation files('libs/mosambeelib_v1.0.0.042.jar')
    //    implementation files('libs/ProwessSdkV2.3.6.jar')
    implementation files('libs/LeopardProwessSdkV-1.1.9.jar')
    implementation 'com.squareup.okhttp3:okhttp:3.4.1'
    implementation 'com.google.android.gms:play-services-base:8.4.0'
    implementation 'com.google.android.gms:play-services-maps:8.4.0'
    implementation 'com.google.android.gms:play-services-gcm:8.4.0'
    implementation 'com.google.android.gms:play-services-location:8.4.0'
    implementation 'com.google.android.gms:play-services-analytics:8.4.0'
    implementation 'com.google.maps.android:android-maps-utils:0.4.+'
    implementation 'com.android.support:multidex:1.0.2'
    implementation 'com.android.support:appcompat-v7:25.3.1'
    implementation 'com.android.support:design:25.3.1'
    implementation 'com.android.support:cardview-v7:25.3.1'
    implementation 'com.android.support:recyclerview-v7:25.3.1'
    implementation 'com.scottyab:rootbeer-lib:0.0.4'
    implementation 'net.zetetic:android-database-sqlcipher:3.5.7@aar'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:support-v4:25.3.1'
    implementation(name: 'ImageOptimizationApi', ext: 'aar')
    implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
//    implementation files('libs/RootTools-4.2.jar')
    //    implementation files('libs/android-support-v4-1.0.jar')
//    implementation files('libs/commons-codec-1.6.jar')
//    implementation files('libs/commons-io-2.4.jar')
    //    implementation files('libs/commons-lang3-3.1.jar')
//    implementation files('libs/httpclientandroidlib-1.1.1.jar')
//    implementation files('libs/maaS360securehttpconnection.jar')
//    implementation files('libs/maas360analytics.jar')
//    implementation files('libs/maas360clipboard.jar')
//    implementation files('libs/maas360dlpsdk.jar')
//    implementation files('libs/maas360encryptionapi.jar')
//    implementation files('libs/maas360gatewaysdk.jar')
//    implementation files('libs/maas360ipclib.jar')
//    implementation files('libs/maas360logger.jar')
//    implementation files('libs/maas360sdk.jar')
    //    implementation files('libs/maas360sqlcipher.jar')
//    implementation files('libs/maas360utils.jar')
    //    implementation files('libs/sqlcipher.jar')
//    implementation files('libs/gson-2.2.3.jar')

}
repositories {
    flatDir {
        dirs 'libs'
    }
}

New Version :-

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url 'https://maven.fabric.io/public' }
}

android {
    compileSdkVersion 28
    buildToolsVersion '27.0.3'
    defaultConfig {
        applicationId "in.spoors"
        targetSdkVersion 25
        multiDexEnabled true
        minSdkVersion 14
        ndk {
            abiFilters "armeabi-v7a", "x86", "armeabi"
        }
    }
    flavorDimensions "default"
    productFlavors {
        nd {
            applicationIdSuffix ".effortplus"
            buildConfigField("boolean", "IS_LIVE", "false")
//            resValue("string", "server_base_url", "http://nd.spoors.in/mf6")
//            resValue("string","server_base_url","http://ma.spoors.in:8083/effortPlusUat")
            resValue("string", "authority", "in.spoors.effortplus.provider")
            resValue("string", "file_authority", "in.spoors.effortplus.fileprovider")
            resValue("string", "app_name", "EFFORT Plus")
            resValue("string", "app_folder_name", "EFFORT Plus")
            resValue("string", "backup_app_folder_name", "EFFORT Plus")
            resValue("string", "title_activity_home", "EFFORT Plus")
        }
        live {
            applicationIdSuffix ".effortplus"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://spoors.in/mobile")
            resValue("string", "authority", "in.spoors.effortplus.provider")
            resValue("string", "file_authority", "in.spoors.effortplus.fileprovider")
            resValue("string", "app_name", "EFFORT Plus")
            resValue("string", "app_folder_name", "EFFORT Plus")
            resValue("string", "backup_app_folder_name", "EFFORT Plus")
            resValue("string", "title_activity_home", "EFFORT Plus")
        }
        secure_live {
            applicationIdSuffix ".effort2mfmdm"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://secure.spoors.in/effort6")
            //resValue("string", "server_base_url", "http://nd.spoors.in:9080/effort5-2016")
//            resValue("string","server_base_url","https://nd.spoors.in/effort5-2016")
            resValue("string", "authority", "in.spoors.effort2mfmdm.provider")
            resValue("string", "file_authority", "in.spoors.effort2mfmdm.fileprovider")
            resValue("string", "app_name", "EFFORT MAPPS")
            resValue("string", "app_folder_name", "EFFORT MAPPS")
            resValue("string", "backup_app_folder_name", "EFFORT MAPPS")
            resValue("string", "title_activity_home", "EFFORT MAPPS")
        }
        mapps_byod {
            applicationIdSuffix ".effort2mfmdm.byod"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://secure.spoors.in/effort6")
            //resValue("string", "server_base_url", "http://nd.spoors.in:9080/effort5-2016")
//            resValue("string","server_base_url","https://nd.spoors.in/effort5-2016")
            resValue("string", "authority", "in.spoors.effort2mfmdm.byod.provider")
            resValue("string", "file_authority", "in.spoors.effort2mfmdm.byod.fileprovider")
            resValue("string", "app_name", "EFFORT MAPPS")
            resValue("string", "app_folder_name", "EFFORT MAPPS")
            resValue("string", "backup_app_folder_name", "EFFORT MAPPS")
            resValue("string", "title_activity_home", "EFFORT MAPPS")
        }
        mapps_cod {
            applicationIdSuffix ".effort2mfmdm.cod"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://secure.spoors.in/effort6")
            //resValue("string", "server_base_url", "http://nd.spoors.in:9080/effort5-2016")
//            resValue("string","server_base_url","https://nd.spoors.in/effort5-2016")
            resValue("string", "authority", "in.spoors.effort2mfmdm.cod.provider")
            resValue("string", "file_authority", "in.spoors.effort2mfmdm.cod.fileprovider")
            resValue("string", "app_name", "EFFORT MAPPS")
            resValue("string", "app_folder_name", "EFFORT MAPPS")
            resValue("string", "backup_app_folder_name", "EFFORT MAPPS")
            resValue("string", "title_activity_home", "EFFORT MAPPS")
        }
        mapps_cod_uat {
            applicationIdSuffix ".effort2mfmdm.coduat"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://secure.spoors.in/effort6")
            //resValue("string", "server_base_url", "http://nd.spoors.in:9080/effort5-2016")
//            resValue("string","server_base_url","https://nd.spoors.in/effort5-2016")
            resValue("string", "authority", "in.spoors.effort2mfmdm.coduat.provider")
            resValue("string", "file_authority", "in.spoors.effort2mfmdm.coduat.fileprovider")
            resValue("string", "app_name", "EFFORT MAPPS")
            resValue("string", "app_folder_name", "EFFORT MAPPS")
            resValue("string", "backup_app_folder_name", "EFFORT MAPPS")
            resValue("string", "title_activity_home", "EFFORT MAPPS")
        }

        mapps_byod_uat {
            applicationIdSuffix ".effort2mfmdm.byoduat"
            buildConfigField("boolean", "IS_LIVE", "true")
//            resValue("string", "server_base_url", "https://secure.spoors.in/effort6")
            //resValue("string", "server_base_url", "http://nd.spoors.in:9080/effort5-2016")
//            resValue("string","server_base_url","https://nd.spoors.in/effort5-2016")
            resValue("string", "authority", "in.spoors.effort2mfmdm.byoduat.provider")
            resValue("string", "file_authority", "in.spoors.effort2mfmdm.byoduat.fileprovider")
            resValue("string", "app_name", "EFFORT MAPPS")
            resValue("string", "app_folder_name", "EFFORT MAPPS")
            resValue("string", "backup_app_folder_name", "EFFORT MAPPS")
            resValue("string", "title_activity_home", "EFFORT MAPPS")

        }
    }

    dexOptions {
        jumboMode = true
        javaMaxHeapSize "2g"
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }

}

dependencies {
    implementation files('libs/CWAC-WakefulIntentService.jar')
    implementation files('libs/antlr-4.5.3-complete.jar')
    implementation files('libs/org.eclipse.paho.android.service-1.0.2.jar')
    implementation files('libs/org.eclipse.paho.client.mqttv3-1.0.2.jar')
    implementation files('libs/commons-lang3-3.4.jar')
    implementation files('libs/edm.jar')
    implementation files('libs/license.jar')
    implementation files('libs/rc.jar')
//    implementation files('libs/PdfViewer.jar')
    implementation('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') {
        transitive = true;
    }

    implementation files('libs/97bt-android-library.jar')
    implementation files('libs/97bt-android-library-fp.jar')
    implementation files('libs/AEM_SCRYBE_SEP_2014.jar')
    implementation files('libs/core-3.2.0.jar')
    implementation files('libs/deviceutility.jar')
    implementation files('libs/getprintableimage.jar')
    implementation files('libs/mosambeelib_v1.0.0.042.jar')
    //    implementation files('libs/ProwessSdkV2.3.6.jar')
    implementation files('libs/LeopardProwessSdkV-1.1.9.jar')
    implementation 'com.squareup.okhttp3:okhttp:3.4.1'
    implementation 'com.google.android.gms:play-services-base:8.4.0'
    implementation 'com.google.android.gms:play-services-maps:8.4.0'
    implementation 'com.google.android.gms:play-services-gcm:8.4.0'
    implementation 'com.google.android.gms:play-services-location:8.4.0'
    implementation 'com.google.android.gms:play-services-analytics:8.4.0'
    implementation 'com.google.maps.android:android-maps-utils:0.4.+'
    implementation 'com.android.support:multidex:1.0.2'
    implementation 'com.android.support:appcompat-v7:25.3.1'
    implementation 'com.android.support:design:25.3.1'
    implementation 'com.android.support:cardview-v7:25.3.1'
    implementation 'com.android.support:recyclerview-v7:25.3.1'
    implementation 'com.scottyab:rootbeer-lib:0.0.4'
    implementation 'net.zetetic:android-database-sqlcipher:3.5.7@aar'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:support-v4:25.3.1'
    implementation(name: 'ImageOptimizationApi', ext: 'aar')
    implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
//    implementation files('libs/RootTools-4.2.jar')
    //    implementation files('libs/android-support-v4-1.0.jar')
//    implementation files('libs/commons-codec-1.6.jar')
//    implementation files('libs/commons-io-2.4.jar')
    //    implementation files('libs/commons-lang3-3.1.jar')
//    implementation files('libs/httpclientandroidlib-1.1.1.jar')
//    implementation files('libs/maaS360securehttpconnection.jar')
//    implementation files('libs/maas360analytics.jar')
//    implementation files('libs/maas360clipboard.jar')
//    implementation files('libs/maas360dlpsdk.jar')
//    implementation files('libs/maas360encryptionapi.jar')
//    implementation files('libs/maas360gatewaysdk.jar')
//    implementation files('libs/maas360ipclib.jar')
//    implementation files('libs/maas360logger.jar')
//    implementation files('libs/maas360sdk.jar')
    //    implementation files('libs/maas360sqlcipher.jar')
//    implementation files('libs/maas360utils.jar')
    //    implementation files('libs/sqlcipher.jar')
//    implementation files('libs/gson-2.2.3.jar')

}
repositories {
    flatDir {
        dirs 'libs'
    }
}

All other app builds where gradle file is same are getting upgraded but not this one. Is my findings correct? Is there could be any other reason? Please suggest possible solution. FYI- Version code of newer build is more than older build.

shubham
  • 26
  • 3

0 Answers0