android – react-native编译的apk不会在设备上运行

前端之家收集整理的这篇文章主要介绍了android – react-native编译的apk不会在设备上运行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用react-native教程进行操作(react-native 0.30):
我创建的应用程序无法在 Android设备上安装这里是步骤:

> react-native init demo
> cd android
> gradlew assembleRelease
>将unsigned apk复制到移动设备(htc m8 mini 2)

并得到结果:未安装应用程序演示

基于这个类似的问题apk didn’t run on mobile android react native
Unsigned apk不会安装在手机上.

但是为什么我能够运行Ionic 2制作的非侵权应用程序?

有什么问题?

解决方法

在Ionic 2中你运行一个调试apk,它不可能运行一个未签名的apk.

你可以做的反应是签署你的apk并运行.

第一个设置可能有点复杂,但在完成设置后很容易在需要时生成签名的apk.

您可以按照以下说明签署您的apk:

生成签名密钥

您可以使用keytool生成私有签名密钥.

$keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

此命令会提示您输入密钥库和密钥的密码,并提供密钥的“可分辨名称”字段.然后,它将密钥库生成为名为my-release-key.keystore的文件.

密钥库包含一个密钥,有效期为10000天.别名是您稍后在签署应用时使用的名称,因此请记住注意别名.

注意:请记住将密钥库文件保密,并且永远不要将其提交给版本控制.

设置gradle变量

>将my-release-key.keystore文件放在android / app下
项目文件夹中的目录.
>编辑文件〜/ .gradle / gradle.properties并添加以下内容
(用正确的密钥库密码,别名和密钥替换*****
密码),

MYAPP_RELEASE_STORE_FILE=my-release-key.keystore

MYAPP_RELEASE_KEY_ALIAS=my-key-alias

MYAPP_RELEASE_STORE_PASSWORD=*****

MYAPP_RELEASE_KEY_PASSWORD=*****

这些将成为全局gradle变量,我们稍后可以在gradle配置中使用它来签署我们的应用程序.

Note about saving the keystore: Once you publish the app on the Play
Store,you will need to republish your app under a different package
name (losing all downloads and ratings) if you want to change the
signing key at any point. So backup your keystore and don’t forget the
passwords. Note about security: If you are not keen on storing your
passwords in plaintext and you are running OSX,you can also store
your credentials in the Keychain Access app. Then you can skip the two
last rows in ~/.gradle/gradle.properties.

将签名配置添加到应用程序的gradle配置中
编辑项目文件夹中的文件android / app / build.gradle并添加签名配置,

...
android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            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
        }
    }
}
...

生成发布APK

只需在终端中运行以下命令:

$cd android && ./gradlew assembleRelease

Gradle的assembleRelease会将运行您的应用程序所需的所有JavaScript捆绑到APK中.如果您需要更改捆绑JavaScript包和/或可绘制资源的方式(例如,如果您更改了默认文件/文件名称或项目的一般结构),请查看android / app / build.gradle以查看如何更新它以反映这些变化.

生成的APK可以在android / app / build / outputs / apk / app-release.apk下找到,并准备好分发.

测试应用的发布版本

在将发布版本上载到Play商店之前,请确保彻底测试.使用以下方法将其安装在设备上

$cd android && ./gradlew installRelease

请注意,只有在您按上述方式设置签名后才能使用installRelease.

您可以终止任何正在运行的打包程序实例,所有和框架JavaScript代码都捆绑在APK的资产中.

原文链接:https://www.f2er.com/android/309850.html

猜你在找的Android相关文章