Android 上载可调试的颤振应用程序时出现Google Play错误
我已经使用GooglePlayAppSigning、Flatter和VS代码一段时间了,但从昨天开始,我正在处理的每个Flatter项目的每个发布版本都会不断出现错误,并报告我正在尝试上传调试版本 “您上载的APK或Android应用程序捆绑包已在调试模式下签名。您需要在发布模式下对APK或Android应用程序捆绑包进行签名” 即使是一个新的应用程序也有同样的问题 我已经清理了build文件夹,使用了--release标志,这两个选项都不起作用 我想尝试的一件事是手动编译应用程序,手动签名然后上传,但不知道如何做到这一点 有什么建议吗?把头发撕下来,因为我想不出最近有什么变化会影响这一点 颤振医生输出-唯一有点奇怪的是VS代码颤振扩展缺失-不是:-/ ✓] 颤振(通道测试版,v0.5.1,在Mac OS X 10.13.6 17G65上,语言环境为en GB) •颤振版本0.5.1 at/Users/kenwen/Dev Tools/颤振 •框架修订版c7ea3ca377(10周前),2018-05-29 21:07:33+0200 •发动机版本1ed25ca7b7 •Dart版本2.0.0-dev.58.0.颤振-f981f09760 [✓] Android工具链-为Android设备开发(Android SDK 28.0.1) •Android SDK位于/Users/kenwen/Library/Android/SDK •未配置Android NDK位置(可选;用于本机评测支持) •平台android-28,构建工具28.0.1 •Java二进制地址:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/Java •Java版本OpenJDK运行时环境(build 1.8.0_152-release-1024-b01) •接受所有Android许可证 [✓] iOS工具链-为iOS设备开发(Xcode 9.4.1) •Xcode at/Applications/Xcode.app/Contents/Developer •Xcode 9.4.1,构建版本9F2000 •ios部署1.9.2 •CocoaPods版本1.5.2 [✓] Android Studio(3.1版) •Android Studio位于/Applications/Android Studio.app/Contents •颤振插件版本27.0.1 •Dart插件版本173.4700 •Java版本OpenJDK运行时环境(build 1.8.0_152-release-1024-b01) [!]VS代码(版本1.25.1) •VS代码at/Applications/visualstudio Code.app/Contents •未安装颤振扩展;从 [!]连接的设备 !没有可用的设备 !医生发现了两类问题 格雷德尔先生Android 上载可调试的颤振应用程序时出现Google Play错误,android,flutter,google-play-console,Android,Flutter,Google Play Console,我已经使用GooglePlayAppSigning、Flatter和VS代码一段时间了,但从昨天开始,我正在处理的每个Flatter项目的每个发布版本都会不断出现错误,并报告我正在尝试上传调试版本 “您上载的APK或Android应用程序捆绑包已在调试模式下签名。您需要在发布模式下对APK或Android应用程序捆绑包进行签名” 即使是一个新的应用程序也有同样的问题 我已经清理了build文件夹,使用了--release标志,这两个选项都不起作用 我想尝试的一件事是手动编译应用程序,手动签名然后
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location
with flutter.sdk in the local.properties file.")
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 27
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID
(https://developer.android.com/studio/build/application-id.html).
applicationId "uk.co.kenliu.meanfitfoxes"
minSdkVersion 21
targetSdkVersion 27
versionCode 21
versionName "1.7.9"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --
release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
apply plugin: 'com.google.gms.google-services'
您必须为发布模式创建签名配置,在当前文件中,您正在使用调试中的签名配置
buildTypes {
release {
signingConfig signingConfigs.debug //for this reason google doesn't allow you to upload the apk
}
}
在gradle文件中创建签名配置:
android {
...
signingConfigs {
release {
storeFile file("release.keystore")
storePassword "******"
keyAlias "******"
keyPassword "******"
}
}
buildTypes {
release {
signingConfig signingConfigs.release
}
}
}
您必须生成上载密钥和密钥库 在菜单栏中,单击生成生成签名包/APK 在生成签名捆绑包或APK对话框中,选择Android应用捆绑包或APK,然后单击下一步 在密钥存储路径字段下方,单击新建 填写必填字段:路径、密码、密钥、密码、有效期、证书详细信息(名称、组织单位等) 单击“确定” 要构建,请转到菜单>构建生成签名包/APK 选择释放模式,不要忘记检查V1和V2
以上信息取自您还需要更改
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
到
在android/app/build.gradle中的文件android/app/build.gradle中,将
signingConfig signingConfigs.debug
更改为signingConfig signingConfigs.release
,您可以在buildTypes下找到该问题被标记为红色。您已经复制了第一部分,该部分被签名为Configs。但是没有我没有将“调试”改为“发布”。美国宇航局透露,当你非常匆忙,无法在文档中看到一些细节,需要尽快构建和发布项目时,就会发生这种情况。我就是这样
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location
with flutter.sdk in the local.properties file.")
}
apply plugin: 'com.android.application'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 27
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID
(https://developer.android.com/studio/build/application-id.html).
applicationId "uk.co.kenliu.meanfitfoxes"
minSdkVersion 21
targetSdkVersion 27
versionCode 21
versionName "1.7.9"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --
release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
apply plugin: 'com.google.gms.google-services'
文档页面的屏幕截图
你能分享你的app/build.gradle文件吗?完成了,刚刚添加。虽然没有对任何东西做任何更改,但我大约一天前发现了这一点,它影响到了我正在进行的每个颤振项目,甚至是Scratch的一个新项目。是的,只是再次仔细阅读文档并注意到了这一点。我只是好奇为什么我能做到这一点在今天之前签署和发布发布版本。将我标记为confusedNote(来自Flatter docs):更改gradle文件后,您可能需要运行Flatter clean。这可以防止缓存的版本影响签署过程。