gpt4 book ai didi

android - React native 构建签名 APK 失败

转载 作者:行者123 更新时间:2023-11-29 15:35:31 25 4
gpt4 key购买 nike

我用 react-native 创建了一个新项目,其中包含几个包(react-native-camera、react-native-device-info、react-native-elements、react-native-geocoder、react-native-qrcode-scanner , react-native-vector-icons, react-navigation) 但我不明白为什么它不构建。我执行此命令以生成 APK:

gradlew clean
gradlew assembleRelease

输出是:

  • 出了什么问题:任务 ':react-native-device-info:verifyReleaseResources' 执行失败。

    com.android.ide.common.process.ProcessException: Failed to execute aapt

如果我删除 react-native-device-info 包,错误会出现在下一个安装的包 react-native-camera 中。

如果我在 grade.properties 中设置 android.enableAapt2=true(上面的错误在禁用 aapt2 时引发),我会收到此错误:

D:\WorkingCopy\Apps\CpVehicle\src\android\app\build\intermediates\res\merged\release\drawable-hdpi\node_modules_reactnavigation_src_views_assets_backicon.png: error: uncompiled PNG file passed as argument. Must be compiled first into .flat file..
error: failed parsing overlays.

我的 build.gradle 文件是这样的:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
jcenter()
maven { url "$rootDir/../node_modules/react-native/android" }
maven { url "https://jitpack.io" }
maven { url 'https://maven.google.com' }
mavenCentral()
google()
}
}


subprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.android.support'
&& !details.requested.name.contains('multidex') ) {
details.useVersion '27.1.1'
}
}
}
}

gradle-wrapper.properties:

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

当项目刚开始时,我构建的 APK 没有错误。

如果我尝试使用 Android Studio 构建它,它工作正常,但从设备打开应用程序时它会在出现之前崩溃。在 Play Store Console 中,我收到了这个错误:

FATAL EXCEPTION: Thread-3
Process: com.cpvehicle, PID: 8053
java.lang.RuntimeException: Unable to load script from assets 'index.android.bundle'. Make sure your bundle is packaged correctly or you're running a packager server.
at com.facebook.react.bridge.CatalystInstanceImpl.jniLoadScriptFromAssets(Native Method)

谢谢。

最佳答案

我找到了这个解决方案或更好的解决方法:

  1. 在 gradle.properties 上禁用 aapt2

    android.enableAapt2=false

  2. 在 build.gradle 的子项目中插入:

    评估后{ 项目 -> if (project.hasProperty("android")) { 安卓 { 编译SDK版本26 } }

关于android - React native 构建签名 APK 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51319602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com