react-native - 在本机反应中生成发布apk
问题描述
我通过 react native 创建了一个简单的应用程序。现在完成部署后,我想发布 apk 所以为了根据它的官方网站,我创建了密钥:
"C:\Program Files\Java\jdk1.8.0_162\bin\keytool.exe" -genkeypair -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
我补充说:
MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore
MYAPP_UPLOAD_KEY_ALIAS=my-key-alias
MYAPP_UPLOAD_STORE_PASSWORD=mypass
MYAPP_UPLOAD_KEY_PASSWORD=mypass
进入android/gradle.properties
文件,最后我将release
部分添加到文件中的signingConfigs
部分android/app/build.gradle
:
signingConfigs {
debug {
storeFile file('debug.keystore')
storePassword 'android'
keyAlias 'androiddebugkey'
keyPassword 'android'
}
release {
if (project.hasProperty('MYAPP_UPLOAD_STORE_FILE')) {
storeFile file(MYAPP_UPLOAD_STORE_FILE)
storePassword MYAPP_UPLOAD_STORE_PASSWORD
keyAlias MYAPP_UPLOAD_KEY_ALIAS
keyPassword MYAPP_UPLOAD_KEY_PASSWORD
}
}
}
我将此标志配置添加到buildTypes
部分:
buildTypes {
debug {
signingConfig signingConfigs.debug
}
release {
minifyEnabled enableProguardInReleaseBuilds
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
signingConfig signingConfigs.release
}
}
但运行后\android> ./gradlew bundleRelease
:
PS F:\SafaProject\ReactNative\RNAuditMngm\android> ./gradlew bundleRelease
> Task :app:bundleReleaseJsAndAssets
warning: the transform cache was reset.
Loading dependency graph, done.
info Writing bundle output to:, F:\SafaProject\ReactNative\RNAuditMngm\android\app\build\generated\assets\react\release\index.android.bundle
info Writing sourcemap output to:, F:\SafaProject\ReactNative\RNAuditMngm\android\app\build\generated\sourcemaps\react\release\index.android.bundle.map
info Done writing bundle output
info Done writing sourcemap output
info Copying 13 asset files
info Done copying assets
> Task :react-native-gesture-handler:compileReleaseJavaWithJavac
Note: F:\SafaProject\ReactNative\RNAuditMngm\node_modules\react-native-gesture-handler\android\src\main\java\com\swmansion\gesturehandler\react\RNGestureHandlerButtonViewManager.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
> Task :react-native-reanimated:compileReleaseJavaWithJavac
Note: F:\SafaProject\ReactNative\RNAuditMngm\node_modules\react-native-reanimated\android\src\main\java\com\swmansion\reanimated\NodesManager.java uses or overrides a deprecated
API.
Note: Recompile with -Xlint:deprecation for details.
Note: F:\SafaProject\ReactNative\RNAuditMngm\node_modules\react-native-reanimated\android\src\main\java\com\swmansion\reanimated\NodesManager.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.5/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 1m 54s
88 actionable tasks: 84 executed, 4 up-to-date
PS F:\SafaProject\ReactNative\RNAuditMngm\android>
它只是app.aab
在\app\build\outputs\bundle\release
文件夹中创建文件?
我怎样才能创建apk文件?
这是完整的应用程序build.gradle
解决方案
如果你想创建 .apk 然后运行命令:
光盘安卓
./gradlew assembleRelease
它将在此处生成发布 apk:
android/app/build/output/apk/release/app-release.apk
如果您想生成一个 buldle (.aab) 以上传到 Play 商店:
光盘安卓
./gradlew bundleRelease
推荐阅读
- python - 如何在 Python Pygame 中检测之前的动作?
- java - Java:如何获取图像的 RGB 值?
- php - PHP stream_context_create
- html - 如何使用角度反应形式正确地将数据绑定到单选按钮?
- ios - SwiftUI UIViewRepresentable MKMapView With Selectable MKCircles 在添加新圆时丢失选择
- r - embed_notebook 函数不适用于 R Jupyter Notebook 中的 Plotly
- elasticsearch - 如何从弹性搜索数据为 vega 中的路径创建索引?
- python-3.x - 从截断的高斯分布生成 numpy 向量化值
- reverse-engineering - 如何使用 Ollydbg 对软件进行逆向工程
- r - R中的二进制矩阵,每列中都有特定的矩阵