Evg*_*tin 7 android react-native
使用react-native教程进行反应(react-native 0.30):我创建的应用程序无法在Android设备上安装,这里是步骤:
并得到结果: Application demo was not installed
基于这个类似的问题apk没有运行在移动android反应原生: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
Run Code Online (Sandbox Code Playgroud)
此命令会提示您输入密钥库和密钥的密码,并提供密钥的"可分辨名称"字段.然后,它将密钥库生成为名为my-release-key.keystore的文件.
密钥库包含一个密钥,有效期为10000天.别名是您稍后在签署应用时使用的名称,因此请记住注意别名.
注意:请记住将密钥库文件保密,并且永远不要将其提交给版本控制.
设置gradle变量
my-release-key.keystore文件放在android/app
项目文件夹中的目录下.~/.gradle/gradle.properties并添加以下内容(用正确的密钥库密码,别名和密钥密码替换*****),MYAPP_RELEASE_STORE_FILE =我的释放,key.keystore
MYAPP_RELEASE_KEY_ALIAS =我的钥匙别名
MYAPP_RELEASE_STORE_PASSWORD =*****
MYAPP_RELEASE_KEY_PASSWORD =*****
这些将成为全局gradle变量,我们稍后可以在gradle配置中使用它来签署我们的应用程序.
有关保存密钥库的注意事项:在Play商店中发布应用程序后,如果要在任何时候更改签名密钥,则需要使用其他软件包名称重新发布应用程序(丢失所有下载和评级).所以备份你的密钥库,不要忘记密码.关于安全性的注意事项:如果您不想以明文存储密码并且正在运行OSX,则还可以将您的凭据存储在Keychain Access应用程序中.然后你可以跳过最后两行
~/.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
}
}
}
...
Run Code Online (Sandbox Code Playgroud)
生成发布APK
只需在终端中运行以下命令:
$ cd android && ./gradlew assembleRelease
Run Code Online (Sandbox Code Playgroud)
Gradle的assembleRelease会将运行您的应用程序所需的所有JavaScript捆绑到APK中.如果您需要更改捆绑JavaScript包和/或可绘制资源的方式(例如,如果您更改了默认文件/文件夹名称或项目的一般结构),请查看android/app/build.gradle以查看如何更新它以反映这些变化.
生成的APK可以在下面找到android/app/build/outputs/apk/app-release.apk,并且可以随时分发.
测试应用的发布版本
在将发布版本上载到Play商店之前,请确保彻底测试.使用以下方法将其安装在设备上
$ cd android && ./gradlew installRelease
Run Code Online (Sandbox Code Playgroud)
请注意,只有在您按上述方式设置签名后才能使用installRelease.
您可以终止任何正在运行的打包程序实例,所有和框架JavaScript代码都捆绑在APK的资产中.
| 归档时间: |
|
| 查看次数: |
7170 次 |
| 最近记录: |