RN app打包

摘要:
最近,我用ReactNative启动了一个移动应用程序。我之前做过一些反应,并有一些反应的基础。后来,我听说RN很好,于是我开始了RN项目。我将打包概括为五个步骤:1.修改打包的应用程序名称。同时_启动器。png是应用程序图标2.Android平台上ReactNative初始化项目的默认显示模式根据设备放置模式而改变。如果希望移动应用程序的显示模式保持不变,可以修改RN项目目录中的“androidappsrcmainAndroidManifest.xml”文件,并将android:screenOrientation=“portlet”˃属性添加到.MainActivity。

最近使用React Native做起了移动应用,之前做过一点react,有一点react基础,后来听说RN还不错,就做起了RN项目。为了让辛辛苦苦开发的项目想在手机端运行,就涉及到发布打包。

防止自己长时间不用忘记了,这里做一下笔记,在记录点滴的同时,希望可以帮助正在奋斗的你。

好啦,不多说了,直接说详细的步骤,请认真读完,相信你,也可以轻轻松松发布你的app应用。我把打包总结成了五个步骤:

1、修改打包后的应用名称,同时,ic_launcher.png为应用图标

RN app打包第1张

2、React Native初始化项目在Android平台下默认显示方式跟随设备放置方式而改变。如果希望移动应用的显示方式始终不变,可以修改RN项目目录下的“androidappsrcmainAndroidManifest.xml”文件,为.MainActivity加入android:screenOrientation="portrait"> 属性。修改RN app打包第2张的内容如下图所示:

RN app打包第3张

RN app打包第4张

3、生成应用的秘钥

Java开发环境自带了秘钥生成工具。可以在命令行窗口执行以下命令生成一个发布秘钥:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

其中,my-release-key.keystore是生成的秘钥库文件名称,my-key-alias是生成的秘钥库别名。

实际上生成秘使用的是别名golf
keytool -genkey -v -keystore golf.keystore -alias golf -keyalg RSA -keysize 2048 -validity 20000,按回车键后,命令行

会提示输入秘钥库keystore和对应的秘钥的密码,还有名称、公司名称、公司简称等一大串信息。最后会在当前目录下生成一个指定名称的秘钥文件。如果运行后提示找不到keytool,请检查Java JDK安装目录下得bin子目录是否在环境变量path中。如果不在 ,将其添加后就可以找到。

最后,秘钥文件生成后,将它移动到项目目录的“androidapp”子目录下。

4、修改gradle配置文件

为了生成发布版本,需要修改RN项目中Android项目的build.gradle文件。这个文件位于项目目录“androidapp”子目录下,需要修改的内容如下所示:

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
applicationId "cn.yunhwa.android.zdl.soip"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
ndk {
abiFilters "armeabi-v7a", "x86"
}
}

signingConfigs {
release {
storeFile file("./golf.keystore")//使用刚才生成的秘钥文件名称
storePassword "mygolf"//使用生成秘钥时输入的密码
keyAlias "golf"//使用生成密钥时输入的别名
keyPassword "mygolf"//使用生成密钥时输入的别名密码
}
}

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"
signingConfig signingConfigs.release//这个别忘记加上
}
}

5、最后是打包命令
在命令行状态下,进入项目目录的android子目录下,输入命令:

./gradlew assembleRelease(不好使),废了很大劲

最后使用gradlew assembleRelease --console plain命令,按下回车键,打包成功,会生成发布版本安装包。

它的位置是:项目目录/android/app/build/outputs/app/app-release.apk. 

 

android  ctrl+M dev settings,F1开启设置

免责声明:文章转载自《RN app打包》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇WebConfig配置 文件加密处理day15自定义模块的导入下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ReactNative: 使用日期选择器组件DatePickerIOS组件

一、简介 在App中,时间选择器使用的场景还是比较多的,例如选择外卖的送货时间、物流的收货日期等等。在ReactNative中提供了一个日期选择器组件DatePickerIOS,这个是iOS平台使用的。它的API也比较简单,一般实际开发中需要再次封装使用。 二、API 组件中常用属性如下 //当前日期实例,必选属性,一般可用当前日期表示:new Date(...

【react和iframe的数据通信】

业务场景,前端一个弹框中,使用iframe嵌入了一个子项目,子项目中的操作完成之后,需要关闭弹框; 关系:父组件react 页面 ,子组件 嵌入的页面 实现方案: 1.window全局定义一个事件xxx,代码块里面写关闭的方法;子项目中window.xxx 2.通过判断子项目中的某个dom元素值的变化判断子项目的交互操作状态,例如 input的value值...

React 踩坑--input中的value与defaultValue

这两个月实习期时间踩了不少坑,先来谈谈有代表性的一个。 我们知道表单是前端里很常见的一个东西,往往包含了很多数据校验逻辑。  React、antd 对表单元素专门做了优化处理,有了一些抽象的东西,使得他们的使用方式更统一更规范。。 在一次需求开发中,有一块是这样的:首先渲染一个Table,里面每一项都有个“编辑”操作,点击弹出Modal框  如图所示:...

跨平台响应式开发框架DevExtreme——支持Vue 3

DevExpress技术交流群3:700924826欢迎一起进群讨论 DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NET Core或...

React Native、Cordova开发必备的阿里源

maven { url "https://maven.aliyun.com/repository/public"}maven { url "https://maven.aliyun.com/repository/google"}maven { url "https://maven.aliyun.com/repository/gradle-...

Taro开发微信小程序的初体验

了解Taro 听说Taro是从几个星期前开始的,在一次饭桌上,一个小伙伴说:“Hey, 你听说了Taro么,听说只需要写一套程序就可以生成H5,小程序以及RN的代码模板,并且类似于React的语法。”“哦?还有这么好的事,赶紧研究一下。” Taro初体验 去官网,Github了解了一下,Taro是由京东·凹凸实验室团队开发的,在掘金上看到他们的发稿,大致归...