使用react-native教程进行Walkthrought( react-native 0.30 ):我创建的应用程序无法在Android设备上安装,这里是步骤:
-
react-native init demo
-
cd android
-
gradlew assembleRelease
-
将未签名的apk复制到移动设备(htc m8 mini 2)
得到的结果: Application demo was not installed
基于这个类似的问题apk didn't run on mobile android react native:Unsigned apk不会安装在手机上 .
但是为什么我能够运行Ionic 2制作的非侵权应用程序?
有什么问题?
2 回答
在Ionic 2中你运行一个调试apk,它不可能运行一个未签名的apk .
你可以做的反应是签署你的apk并运行 .
第一个设置可能有点复杂,但在完成设置后很容易在需要时生成签名的apk .
您可以按照以下说明签署您的apk:
Generating a signing key
您可以使用keytool生成私有签名密钥 .
此命令会提示您输入密钥库和密钥的密码,并提供密钥的“可分辨名称”字段 . 然后,它将密钥库生成为名为my-release-key.keystore的文件 .
密钥库包含一个密钥,有效期为10000天 . 别名是您稍后在签署应用时使用的名称,因此请记住注意别名 .
注意:请记住将密钥库文件保密,并且永远不要将其提交给版本控制 .
Setting up gradle variables
将
my-release-key.keystore
文件放在项目文件夹中的android/app
目录下 .编辑文件
~/.gradle/gradle.properties
并添加以下内容(用正确的密钥库密码,别名和密钥密码替换*****),这些将成为全局gradle变量,我们稍后可以在gradle配置中使用它来签署我们的应用程序 .
将签名配置添加到应用程序的gradle配置编辑项目文件夹中的文件
android/app/build.gradle
并添加签名配置,Generating the release APK
只需在终端中运行以下命令:
Gradle的assembleRelease会将运行您的应用程序所需的所有JavaScript捆绑到APK中 . 如果您需要更改捆绑JavaScript包和/或可绘制资源的方式(例如,如果您更改了默认文件/文件夹名称或项目的一般结构),请查看android / app / build.gradle以查看如何更新它以反映这些变化 .
生成的APK可以在
android/app/build/outputs/apk/app-release.apk
下找到,并且可以随时分发 .Testing the release build of your app
在将发布版本上载到Play商店之前,请确保彻底测试 . 使用以下方法将其安装在设备上
请注意,只有在您按上述方式设置签名后才能使用installRelease .
您可以终止任何正在运行的打包程序实例,所有和框架JavaScript代码都捆绑在APK的资产中 .
@EvghenyKalkutin如果你是react-native的初学者,那么就按照这个简单的步骤
从cmd下载chocolatey只需在cmd
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
中编写此代码成功安装后现在使用chocolatey安装了node.js和Python2 . 为此使用此代码安装node.js
choco install nodejs.install
并安装Python @使用此代码choco install python2
确定现在打开node.js命令promt并运行此代码
npm install -g react-native-cli
以启动react-nativeok现在使用此代码下载示例项目
react-native init AwesomeProject
或react-native init HelloWorld
:)现在转到使用
cd AwesomeProject
下载此项目的目录启动android stduio并打开此项目并更正你的gradle错误(如果它发生)(并清理项目)并使用usb调试连接你的设备
并使用此代码检查您的设备是否可用
adb devices
如果设备可用,则使用此代码转换它的反应原生端口
adb reverse tcp:8081 tcp:8081
现在为build node.js桥执行此代码
npm start
构建node.js后
bridge现在使用此代码启动您的项目
react-native run-android
,您可以在此处运行您的示例项目对于unsign apk或assembleRelease只需通过以下步骤
cd android && gradlew clean && gradlew assembleRelease
I use windows os so all this instructions are for windows os I don't know this code is same for mac os or linux os
我希望这个wiil可以帮助你以反应原生的方式开始 . 如果有任何问题只是评论它 .