首页 文章

React本机构建签名APK失败

提问于
浏览
1

我创建了一个带有react-native的新项目,包含很少的包(react-native-camera,react-native-device-info,react-native-elements,react-native-geocoder,react-native-qrcode-scanner,react-本机矢量图标,反应导航)但我无法弄清楚它为什么不构建 . 我执行此命令来生成APK:

gradlew clean
gradlew assembleRelease

输出是:

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

com.android.ide.common.process.ProcessException:无法执行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商店控制台中,我收到此错误:

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 回答

  • 4

    我发现了这个解决方案或更好的解决方法:

    • 在gradle.properties上禁用aapt2

    android.enableAapt2 = FALSE

    在build.gradle子项目中

    • 插入:

    afterEvaluate {project - > if(project.hasProperty(“android”)){android {compileSdkVersion 26}}}

相关问题