【问题标题】:Android App opens and closes -React Native Signed AppAndroid App 打开和关闭 -React Native Signed App
【发布时间】:2017-12-29 05:33:42
【问题描述】:

我已将已签名的 APK 安装在 Android 设备中。安装后它会在几秒钟内崩溃/关闭。

我已按照官方 react native 文档获取已签名的发布 APK。 React Native Documentation

我正在附上我的 build.gradle

    def enableProguardInReleaseBuilds = false

android {
    compileSdkVersion 23
    buildToolsVersion '26.0.2'

    defaultConfig {
        applicationId "com.samplemobileapp"
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
        ndk {
            abiFilters "armeabi-v7a", "x86"
        }
    }
    signingConfigs {
        release {
            if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
                storeFile file(MYAPP_RELEASE_STORE_FILE)
                storePassword MYAPP_RELEASE_STORE_PASSWORD
                keyAlias MYAPP_RELEASE_KEY_ALIAS
                keyPassword MYAPP_RELEASE_KEY_PASSWORD
            }
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
            // minifyEnabled enableProguardInReleaseBuilds
            // proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
        }
    }
    splits {
        abi {
            reset()
            enable enableSeparateBuildPerCPUArchitecture
            universalApk false  // If true, also generate a universal APK
            include "armeabi-v7a", "x86"
        }
    }
    // buildTypes {
    //     release {
    //         minifyEnabled enableProguardInReleaseBuilds
    //         proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
    //     }
    // }
    // applicationVariants are e.g. debug, release
    applicationVariants.all { variant ->
        variant.outputs.each { output ->
            // For each separate APK per architecture, set a unique version code as described here:
            // http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits
            def versionCodes = ["armeabi-v7a":1, "x86":2]
            def abi = output.getFilter(OutputFile.ABI)
            if (abi != null) {  // null for the universal-debug, universal-release variants
                output.versionCodeOverride =
                        versionCodes.get(abi) * 1048576 + defaultConfig.versionCode
            }
        }
    }
}

dependencies {
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules
}

请告诉我这是框架问题还是代码问题。

【问题讨论】:

    标签: android reactjs react-native signed-apk


    【解决方案1】:

    您需要在 gradle.properties 文件中设置您的密钥库文件属性。

    你可以在 android/gradle.properties 下找到这个文件

    MYAPP_RELEASE_STORE_FILE=my-release-key.keystore
    MYAPP_RELEASE_KEY_ALIAS=my-key-alias
    MYAPP_RELEASE_STORE_PASSWORD=MYPASS
    MYAPP_RELEASE_KEY_PASSWORD=MYPASS
    

    【讨论】:

    猜你喜欢
    • 2021-04-05
    • 1970-01-01
    • 2020-06-11
    • 2018-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多