我尝试获取应用APK。我做得很好。但是,我今天尝试使用get apk的其他应用程序,但它没有给我发布apk。为什么?
我按照以下步骤操作: enter link description here
通常情况下,它需要2-3分钟,但现在仅持续3秒,并且不会生成apk
它是这样说的:
在此版本中使用了不推荐使用的Gradle功能,因此 与Gradle 6.0不兼容。使用'--warning-mode all'来显示 个别弃用警告。看到 https://docs.gradle.org/5.4.1/userguide/command_line_interface.html#sec:command_line_warnings
答案 0 :(得分:7)
简短答案请改用gradlew assembleRelease
。
不是简短的答案:)您正在使用的命令gradlew bundleRelease
建立了一个android app bundle.read this:
Difference between apk (.apk) and app bundle (.aab)
还有这个:
https://developer.android.com/guide/app-bundle
AAB文件是新文件,并非所有商店都支持它。
答案 1 :(得分:2)
我有同样的问题。以下命令对我有用:
在./gradlew bundleRelease
命令之后,我们获得了应用程序的 .aab 版本。要获取APK,您应使用以下命令在任何设备上运行发行版应用。
确保您已连接android设备
在your-project/
中运行此命令:
react-native run-android --variant=release
然后可以在android/app/build/outputs/apk/release
中找到APK
希望这会有所帮助
答案 2 :(得分:1)
使用gradlew bundleRelease
生成应用程序捆绑包(.aab文件),使用gradlew assembleRelease
生成apk(.apk文件)。要在模拟器上安装发行版,请使用react-native run-android --variant=release
。希望对您有帮助
答案 3 :(得分:1)
我制作了一个名为build.sh
的文件。
当我想在ReactNative中发布新版本的android时,只需在终端中键入并按sh ./build.sh
。
我的build.sh
文件中的shell脚本:
npx jetify && cd android && ./gradlew clean && ./gradlew assembleRelease && ./gradlew bundleRelease && cd ..
答案 4 :(得分:1)
简而言之,命令gradlew bundleRelease
用于生成.aab文件,而命令gradlew assembleRelease
用于生成.apk文件,因此相应地使用命令
答案 5 :(得分:0)
以下方法可以解决您的问题:
打开Android Studio,然后从“构建/构建捆绑包/ Apk”中选择“构建捆绑包”。
然后,打开控制台并从项目的根目录运行cd android && ./gradlew bundleRelease。
您可能会遇到诸如“>无法添加任务'包装器'之类的错误,因为具有该名称的任务已经存在。”,因为在4.8和更高版本中不推荐使用覆盖的内置任务 产生错误。
为防止这种情况,请按如下所示更新您的android / build.gradle:
从:
task wrapper(type: Wrapper) {
gradleVersion = '4.4'
distributionUrl = distributionUrl.replace("bin", "all")
}
收件人:
wrapper {
gradleVersion = '4.4'
distributionUrl = distributionUrl.replace("bin", "all")
}
最后,不要忘了通过bundletool将.aab文件转换为.apk,以便在本地测试您的应用(完全是apk文件)
最诚挚的问候
答案 6 :(得分:0)