Flutter模拟器运行报错java.io.IOException: Failed to generate v1 signature求助
解决Flutter项目生成v1签名失败问题(保留全局debug.keystore)
方法1:为当前Flutter项目单独配置debug密钥库
- 在项目的
android/app目录下创建新的密钥库文件,比如命名为debug_local.keystore
- 在项目的
- 执行以下命令生成新的debug密钥库:
keytool -genkey -v -keystore android/app/debug_local.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000- 打开项目的
android/gradle.properties文件,添加以下配置,指定项目使用本地密钥库:
android.debug.keystore=../app/debug_local.keystore android.debug.keystore.password=android android.debug.key.alias=androiddebugkey android.debug.key.password=android- 打开项目的
- 重新运行Flutter项目,此时项目会使用本地密钥库生成签名,不会影响全局的
~/.android/debug.keystore
- 重新运行Flutter项目,此时项目会使用本地密钥库生成签名,不会影响全局的
方法2:修复全局debug.keystore的权限问题
如果是权限不足导致签名失败,可调整全局密钥库的权限:
- Linux/macOS下执行命令:
chmod 600 ~/.android/debug.keystore - Windows下右键
debug.keystore文件,进入「属性」-「安全」,确保当前用户拥有读写权限
方法3:强制使用v2签名替代v1(仅兼容Android 7.0+设备)
若目标设备均为Android 7.0(API 24)及以上,可修改android/app/build.gradle文件,禁用v1签名:
android { ... buildTypes { debug { signingConfig signingConfigs.debug v1SigningEnabled false v2SigningEnabled true } } }
注意:该方法不支持Android 6.0及以下设备
内容的提问来源于stack exchange,提问作者Hyejung
相关产品推荐
相关产品推荐

