React-Native官方的介绍:
React Native使你能够在Javascript和React的基础上获得完全一致的开发体验,构建世界一流的原生APP。
React Native着力于提高多平台开发的开发效率 —— 仅需学习一次,编写任何平台。(Learn once, write anywhere)。
Facebook已经在多项产品中使用了React Native,并且将持续地投入建设React Native。
接下来为大家奉上开发React-Native应用的流程。
开发环境
- windows 10 专业版 1607
- Node 7.3.0
- Android Studio 1.5
- Java Development Kit 1.8.0_73
- Python 3.6
一、 首先安装 react-native-cli
|
|
二、 测试安装(Project
在这里代指工程目录名,可自行设定,最好为纯英文目录)。
|
|
有时运行上述代码后Packager可能不会自动运行,或者运行过程中断,这时运行以下代码:
|
|
三、 现在你已经成功运行了项目,我们可以开始尝试动手改一改了:
把
Project\android\app\build\outputs\apk
目录中生成的APP安装到安卓虚拟机或者手机中在安卓模拟器OR你的手机App中设置IP后就可以看到效果了
打开APP后通过 手机摇一摇 或者 点击设置建,调出如下图设置菜单,点击
Dev Settings
选项。进入设置页面,点击
Debug server host
选项,输入YouIP:8081
保存到主页面菜单再点击Reload
即可。使用你喜欢的代码编辑器打开index.android.js并随便改上几行,并在APP中
Reload
即可看到页面效果。
四、 接下来就是开发过程需要注意的
逻辑代码使用ES6语法。
页面使用FlexBox布局。
若想将图片打包到app内,需要将文件放到
Project\android\app\src\main\res\drawable-xhdpi
目录下,
并且引用的时候在Image加上source属性1source={{uri:'文件名'}}
五、 把制作完成的APP打包
测试版打包:
正式版打包:(需要设置签名)
切换到react-native工程根目录,先生成秘钥文件
1keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000需要把刚生成的秘钥文件copy到android/app下
修改android/gradle.properties, 在最后面添加如下内容:
1234MYAPP_RELEASE_STORE_FILE=my-release-key.keystoreMYAPP_RELEASE_KEY_ALIAS=my-key-aliasMYAPP_RELEASE_STORE_PASSWORD=123456 //刚才生成秘钥时设置的密码MYAPP_RELEASE_KEY_PASSWORD=123456 //刚才生成秘钥时设置的密码在 android/app/build.gradle文件里面修改
|
|
在项目根目录输入(服务开启情况下)
1curl "http://localhost:8081/index.android.bundle" > android/app/src/main/assets/index.android.bundle启动代码混淆
Proguard 是一个 Java 字节码混淆压缩工具,可剔除项目文件夹中未使用的部分,有效减少APK的大小。在 build.gradle 文件中,启动 Proguard模块:1def enableProguardInReleaseBuilds = true修改app图标
将制作好的图标放入android/app/src/res/drawable***/
app名称修改
在android/app/src/main/res/values/string.xml
中修改1<string name="app_name">唯品购</string>进入Android目录并开始打包
123cd android.\gradlew assembleRelease打包完成
进入Project\android\app\build\outputs\apk
目录即可看到打包好的app-release.apk
文件。