当我想将Android应用程序上传到Play Store时,我应该使用哪一个?

我已经try 过以上方法,但我仍然不知道哪一种最有效?

./gradlew assembleRelease
./gradlew installRelease
./gradlew bundleRelease

我希望能用最好的方法来实现上述目标.

推荐答案

你要寻找的大多数答案都可以找到here

assembleDebug

这将使用调试变量为您的项目生成一个apk.

这将创建一个名为module_name-debug的APK.项目名称/模块名称/构建/输出/apk/中的apk.该文件已使用调试密钥签名,并与zipalign对齐,因此您可以立即将其安装到设备上.

installDebug

这将使用调试变量为您的项目生成一个apk,然后将其安装到连接的设备上

或者构建APK并立即将其安装到正在运行的模拟器或连接的设备上,而不是调用installDebug

assembleRelease

这将创建应用程序的版本apk.然后,您需要使用命令行或通过在build.gradle中设置签名详细信息(见下文)对其进行签名,然后您可以使用adb将其安装到设备上.

通过命令行签署apk所涉及的步骤相当长,这取决于项目的设置方式.签名的步骤可以在here中找到

bundleRelease

这将创建一个release aab,这是谷歌上传到Play Store的首选格式.

Android应用Bundle 包包括所有应用程序的编译代码和资源,但推迟生成APK并向Google Play签名.与APK不同,您不能将应用程序包直接部署到设备上.因此,如果你想快速测试或与他人共享APK,你应该构建一个APK.

Signing your apk/aab

您可以配置app/build.gradle,以便在构建完成后完成签名.

在你app/build.gradle岁的时候

android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            // You need to specify either an absolute path or include the
            // keystore file in the same directory as the build.gradle file.
            storeFile file("my-release-key.jks")
            storePassword "password"
            keyAlias "my-alias"
            keyPassword "password"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            ...
        }
    }
}

你可以阅读更多关于签署应用程序here的信息

现在,当您通过调用Gradle任务构建应用程序时,Gradle会为您的应用程序签名(并运行zipalign).

此外,由于您已使用签名密钥配置了发布版本,因此"安装"任务可用于该版本类型.因此,您可以通过installRelease任务在模拟器或设备上构建、对齐、签名和安装release APK.

installRelease

您必须在上面设置签名,才能进行发布版本.它与installDebug相同,但它创建了一个签名版本变体,并将其安装在连接的设备上.

Usage

  • 我用assembleRelease建立了一个apk,我想与其他人分享.
  • 当我想在连接的设备上测试发布版本时,我使用installRelease.
  • 当我将应用程序上传到Play Store时,我使用bundleRelease.

React-native相关问答推荐

Redux toolkit通过按钮操作进行查询

在原生react 中更改图像源URI时闪烁

如何在Recact Native中单击Back按钮后调用函数

"npx expo run:android命令不能在Expo中运行

1.5.1 nxworkspace+react-native 版本的Axios url未定义问题

何时在 React Native 中使用辅助功能 Role='link'?

如何在 react-navigation v6 中更改标题高度

reactnavigation后退按钮的自定义后退导航

react-native redux 和 ListView

react-native (expo)加载markdown 文件

React Native 中如何使用 Flex 居中组件?

submit提交后如何让 React Native TextInput 保持焦点?

如何在 React Native 中访问原生 UI 组件的实例方法

react-native run-android 构建错误':app:generateDebugBuildConfig'

Animated.View 的样式props的Typescript定义

React-Native:更改 ImageBackground 的不透明度 colored颜色

在 React 中调用 getDerivedStateFromProps 中的方法

ExpoKit 和 React Native 元素的区别

如何在android studio中导入react native元素

如何将 React-Native 元素集成到 Android-Studio?