android - 无法为 android 创建签名版本 APK
问题描述
我做了一个关于 react-native 的项目。一切正常,每当我创建调试 apk 时,它也总是有效。但现在我必须创建一个签名的发布 apk 才能将其部署在 google play store 上。为此,我使用命令创建了一个密钥库文件keytool -genkey -v -keystore ENTER_APP_Name.keystore -alias ENTER_APP_Alias_Name -keyalg RSA -keysize 2048 -validity 10000
。我将密钥库详细信息添加到 build.gradle as
....
android {
....
signingConfigs {
release {
storeFile file('your_key_file_name.keystore')
storePassword 'your_key_store_password'
keyAlias 'your_key_file_alias'
keyPassword 'your_key_file_alias_password'
}
}
buildTypes {
release {
....
signingConfig signingConfigs.release
}
}
}
....
并将密钥库文件添加到 android/app/app.keystore 在我发生了一些奇怪的事情之后。有时react-native run-android
会报错,有时调试 APK 会报错,而一直发布的 apk 会报一两个错误,每次都不一样。我尝试使用两种方法创建发布 apk。1. 使用终端:在项目文件夹内:
react-native bundle --platform android --dev false --entry-file
index.android.js --bundle-output
android/app/src/main/assets/index.android.bundle --assets-dest
android/app/src/main/res
然后cd android
然后gradlew assembleRelease
- 使用 android studio:构建 > 生成签名的 apk > 选择 apk,然后添加密钥库详细信息,然后选择发布选项,然后完成。
这两种方法都给了我不同的错误,但随机并没有一起出现。我在下面提到了它们: 1. 任务:app:processReleaseResources FAILED(Android 资源链接失败) 2. 任务:app:processDebugResources FAILED(Android 资源链接失败) 3. Android 资源链接失败 4.app\android\app\build\中间体\merged_manifests\release\AndroidManifest.xml:17:错误:找不到资源 mipmap/ic_launcher(又名 com.app:mipmap/ic_launcher)。5. app\android\app\build\intermediates\merged_manifests\release\AndroidManifest.xml:17:错误:找不到资源 mipmap/ic_launcher_round(又名 com.app:mipmap/ic_launcher_round)。6. 错误:处理清单失败。
如果我在没有任何错误的情况下获得发布应用程序,那么它不允许我穿过登录屏幕,它会给我一个错误警报,通常在 api 没有响应或服务器关闭时出现。
解决方案
有一件事可以确定。它说您缺少启动器图标(这个ic_launcher
东西)。也许检查它是否在项目中的任何地方被引用尝试首先修复它并检查错误情况是否有变化。你有明确的指示,它丢失了。希望对您有所帮助。祝你有美好的一天!
推荐阅读
- c# - 有没有一种好方法可以识别osm文件中的哪个建筑物:部分属于哪个建筑物
- php - 加入 Eloquent Laravel Not Working ID 包含特殊字符或字母
- typescript - 我想创建只允许数字的文本框。我如何在 aurelia 中使用 Typescript 来做到这一点?
- jenkins - docker build 使用 jenkins dind slave + kubernetes 插件抛出 java.net.AbstractPlainSocketImpl.connect UnknownHostException
- vue.js - i18n vue 在更改语言环境时不起作用,使用 vuetify 文本字段中的规则
- c# - 如何通过 C# 访问嵌套标签?
- java - Runnable 没有捕获到异常
- c# - 剑道组合框需要验证不起作用
- javascript - 我怎样才能将盒子移动到拐角处
- reactjs - 在带有路由的 github 页面上部署 Reactjs 网站会导致刷新时出现 404 错误