gradle Android Studio正在通过生成签名包/ APK构建旧版本

l0oc07j2  于 12个月前  发布在  Android
关注(0)|答案(1)|浏览(155)

我试图从Android studio 3.6.3构建APK在设备上进行测试,以及在Google Play控制台上发布应用程序,但我注意到,它的建筑APK与旧版本,尝试了几乎所有的东西
顺便说一下,构建在内置模拟器上运行良好,但是,有时它也在构建旧版本,但通过删除构建文件夹,它解决了问题。

build.gradle

// The old version name was 1.1

defaultConfig {
    applicationId "com.companyName"
    minSdkVersion rootProject.ext.minSdkVersion
    targetSdkVersion rootProject.ext.targetSdkVersion
    versionCode 3
    versionName "1.2"
    missingDimensionStrategy 'react-native-camera', 'general'
    multiDexEnabled true
}

字符串

版本化

► android: ./gradlew -version
------------------------------------------------------------
Gradle 5.6.4
------------------------------------------------------------

Build time:   2019-11-01 20:42:00 UTC
Revision:     dd870424f9bd8e195d614dc14bb140f43c22da98

Kotlin:       1.3.41
Groovy:       2.5.4
Ant:          Apache Ant(TM) version 1.9.14 compiled on March 12 2019
JVM:          14.0.1 (Oracle Corporation 14.0.1+7)
OS:           Mac OS X 10.14.6 x86_64

尝试的解决方案

1.文件>无效缓存/重启>无效缓存/重启
1.构建>清理项目
1.运行>编辑配置>应用程序>常规>启动前> Gradle-aware make
请帮忙,先谢了

gjmwrych

gjmwrych1#

编辑:这种情况在我身上发生了三次,第三次我提出了一个不同的解决方案,至少是有意义的,所以我不会再添加另一个答案,我会在这里合并所有答案;如果将来有一个坚持,我会再次更新答案。

尝试#3

这又一次困扰着我,但这次我做了更多的调查,在清理后,在项目目录和~/gradle中,通过grep-ing寻找旧的构建号。结果发现,当你清理时,这个编号并不在项目中,而是出现在(生成的中间资产)BuildConfig.java中,并从那里出现在所有地方。所以我的解决方案是:

  • Android Studio中的Clean项目
  • 退出Android Studio
  • 确保没有gradle进程正在运行(例如,ps -Af | grep gradle应该只显示grep)
  • 删除~/.gradle中的cache目录
  • 重新打开Android Studio并生成bundle

尝试#2

所以这发生了第二次(这一次它甚至没有在设备上更新).之前的咒语都不起作用,但这一次做的是要在Run/DebugEdit Configurations...插件,并从“默认APK”切换到“APK从应用程序包”.
这似乎已经足够震撼了设备,以至于设备选择了新的清单/版本。
希望下次能成功!
x1c 0d1x的数据

尝试#1

在尝试了阳光下的一切之后,我做了两件事,不确定哪一件做得好(强烈怀疑第二件,下次将单独尝试)
1.在BuildSelect Build Variant...上,我从调试切换到发布
1.构建了一个非签名捆绑包(BuildBuild Bundle(s)/ APK(s)Build Bundle(s))。
构建的bundle有了新的版本/清单。从那时起,构建一个签名的bundle就可以了(速度快得令人怀疑,但我猜它重用了最后一个,只是对它进行了签名; app store像往常一样接受了它,而拒绝了其他已经使用的构建号)
必须恢复“1”才能再次在设备上正确调试(我上次没有这样做,这让我更倾向于相信只需要2。

相关问题