问题
im trying to test my app before uploading to the store and when I create the apk by
./gradlew assembleRelease
I see in the logs the new dependencies that I added but when im trying to test it:
react-native run-android --variant=release
I see the old code... when im testing with the debug mode there is no problem and I see my new code
What I have been trying so far:
- ./gradlew clean
- delete my build folder and build again+restart my computer
delete my android folder and build again
I deleted the app from my phone after every try
I'm using the old keystore from the previous version
I'm not using visual studio im using vsc (my code is react native)
this is my app/build.gradle file:
apply plugin: "com.android.application" buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } dependencies { classpath 'io.fabric.tools:gradle:1.+' } } apply plugin: 'io.fabric' repositories { maven { url 'https://maven.fabric.io/public' } } import com.android.build.OutputFile project.ext.react = [ entryFile: "index.js" ] apply from: "../../node_modules/react-native/react.gradle" def enableSeparateBuildPerCPUArchitecture = false def enableProguardInReleaseBuilds = false android { compileSdkVersion 28 buildToolsVersion "28.0.2" dexOptions { javaMaxHeapSize "4g" } defaultConfig { applicationId "com.vitalacy.dashboard" minSdkVersion 16 targetSdkVersion 20 versionCode 1 versionName "1.0" multiDexEnabled true ndk { abiFilters "armeabi-v7a", "x86" } } signingConfigs { release { if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) { storeFile file(MYAPP_RELEASE_STORE_FILE) storePassword MYAPP_RELEASE_STORE_PASSWORD keyAlias MYAPP_RELEASE_KEY_ALIAS keyPassword MYAPP_RELEASE_KEY_PASSWORD } } } splits { abi { reset() enable enableSeparateBuildPerCPUArchitecture universalApk false // If true, also generate a universal APK include "armeabi-v7a", "x86" } } buildTypes { release { minifyEnabled enableProguardInReleaseBuilds proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" signingConfig signingConfigs.release } } // applicationVariants are e.g. debug, release applicationVariants.all { variant -> variant.outputs.each { output -> // For each separate APK per architecture, set a unique version code as described here: // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits def versionCodes = ["armeabi-v7a":1, "x86":2] def abi = output.getFilter(OutputFile.ABI) if (abi != null) { // null for the universal-debug, universal-release variants output.versionCodeOverride = versionCodes.get(abi) * 1048576 + defaultConfig.versionCode } } } } dependencies { compile project(':react-native-fabric') compile project(':react-native-vector-icons') compile project(':react-native-spinkit') compile project(':react-native-push-notification') compile project(':react-native-picker') compile project(':react-native-linear-gradient') compile project(':react-native-image-crop-picker') compile project(':react-native-firebase') compile project(':react-native-fcm') compile project(':react-native-device-info') compile project(':react-native-config') implementation project(':react-native-picker') implementation project(':react-native-device-info') implementation project(':react-native-fcm') implementation project(':react-native-firebase') implementation project(':react-native-svg') implementation project(':react-native-vector-icons') implementation project(':react-native-spinkit') implementation project(':react-native-push-notification') implementation project(':react-native-linear-gradient') implementation project(':react-native-image-crop-picker') implementation project(':react-native-config') implementation fileTree(dir: "libs", include: ["*.jar"]) implementation "com.google.android.gms:play-services-gcm:15.0.1" implementation "com.android.support:appcompat-v7:28.0.0-rc02" implementation "com.facebook.react:react-native:+" // From node_modules implementation 'com.google.firebase:firebase-core:16.0.1' implementation 'com.google.firebase:firebase-messaging:17.0.0' //17.3.1 implementation 'com.android.support:multidex:1.0.3' compile('com.crashlytics.sdk.android:crashlytics:2.9.2@aar') { transitive = true; } } task copyDownloadableDepsToLibs(type: Copy) { from configurations.compile into 'libs' } apply plugin: 'com.google.gms.google-services' com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
and this is my android/build.gradle:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0-alpha11'
classpath 'com.google.gms:google-services:4.1.0'
}
}
allprojects {
repositories {
maven { url "https://jitpack.io" }
mavenLocal()
google()
jcenter()
maven {
url "$rootDir/../node_modules/react-native/android"
}
}
}
ext {
compileSdkVersion = 28
targetSdkVersion = 28
buildToolsVersion = "28.0.2"
supportLibVersion = "28.0.0-rc02"
googlePlayServicesVersion = "15.0.1"
oreoEXPERIMENTAL = "yes"
}
subprojects {
afterEvaluate {project ->
if (project.hasProperty("android")) {
android {
compileSdkVersion 28
buildToolsVersion '28.0.2'
}
}
}
}
回答1:
Did you try changing the Version Code and Version Name for the new APK?
回答2:
Build your apk with
./gradlew assemble
instead of
./gradlew assembleRelease
来源:https://stackoverflow.com/questions/52514541/getting-the-old-code-when-creating-apk-for-new-version