android - 在为新版本创建 apk 时获取旧代码
问题描述
我试图在上传到商店之前以及当我创建 apk 时测试我的应用程序
./gradlew assembleRelease
我在日志中看到了我添加的新依赖项,但是当我尝试对其进行测试时:
react-native run-android --variant=release
我看到了旧代码...当我使用调试模式进行测试时没有问题,我看到了我的新代码
到目前为止我一直在尝试什么:
- ./gradlew 清洁
- 删除我的构建文件夹并重新构建+重新启动我的计算机
删除我的 android 文件夹并重新构建
每次尝试后我都从手机中删除了该应用程序
我正在使用以前版本中的旧密钥库
我没有使用 Visual Studio 我使用 vsc (我的代码是本机反应)
这是我的 app/build.gradle 文件:
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
这是我的 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'
}
}
}
}
解决方案
构建你的apk
./gradlew assemble
代替
./gradlew assembleRelease
推荐阅读
- symfony - 断言验证空数组集合 symfony
- xamarin.forms - 使用FB插件登录时如何保持用户登录?
- reactjs - 谷歌地图标记在部署版本上不可见,但在本地运行版本上可用
- microsoft-graph-api - 需要在 OneDrive 文件夹中嵌入许多图像的链接
- python - 我可以暂时将 python 设置为默认为早期版本吗?
- php - 发送邮件时找不到Laravel 5.8邮件类
- parsing - Avoiding code duplication for data type with lots of similar constructors
- c++ - 为什么在分配给现有 r 值引用时没有调用我的移动赋值运算符?
- r - 如何根据 R 中的数据框条件指定值?
- csv - 如何在 Talend 中从 CSV 中提取键值