封装H5ToApp方法
方法一:
新建个 Android studio 项目,用 webview 指定访问你的页面
方法二:
使用工具 cordova 附上地址:http://cordova.axuer.com/docs/zh-cn/latest/guide/platforms/android/index.html
方法三:
ionic 结合 cordova
方法四:
ApiCloud
https://www.jianshu.com/p/c45148134082
方法五:
可参考 文档(https://reactnative.cn/docs/signed-apk-android/)
1.生成私有秘钥
①根目录下打开终端,执行命令:
keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize2048-validity10000
②根据提示输入口令: 同时记住 密钥库口令
③生成密钥库文件 根目录下生成一个 my-release-key.keystore 的文件,直接拿到android/app
2.设置 gradle 变量:
①在android/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=******
其中******换成 密钥库口令
3.添加签名配置:
①在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
}
}
splits {
....
}
buildTypes {
release {
signingConfig signingConfigs.release
...
}
}
.....
}
4.生成发行 APK 包
①终端cd到android目录下
gradlew clean (不clean也能打包,但是安装后容易造成APP闪退的问题)
gradlew assembleRelease
需要注意的是每次打包之前最好删除android和android/app文件下的build包,清除之前的缓存。
②success之后生成的apk文件位于android/app/build/outputs/apk/release/app-release.apk。
问题解决一:
现象:ANDROID打包错误ERROR:EXECUTION FAILED FOR TASK ´:APP:LINTVITALRELEASE´.
解决办法:在app的build.gradle里的android{}中添加如下代码
android {
compileSdkVersion
buildToolsVersion ´25.0.´
defaultConfig {
applicationId "com.luzhiyao.sgongdoocar"
minSdkVersion
targetSdkVersion
versionCode
versionName "1.1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(´proguard-android.txt´), ´proguard-rules.pro´
}
}
//添加此处代码即可
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}
再次打包 结果如下:
问题二:npm WARN checkPermissions Missing write access to D:\react-native-workspace\react-native\react-nativ
解决办法:(待验证)
删除掉 C:\Users\dd\AppData\Roaming\npm-cache\
C:\Users\dd\AppData\Roaming\npm\ 两个文件夹 重新执行 npm install -g
关闭自动唤起的 Metro Server ,在项目根目录手动运行:react-native start --root 项项目绝对路径/rn_temp react-native start --root 项项目绝对路径/rn_temp
封装H5ToApp方法的更多相关文章
- js封装的方法
1.JS封装就是尽量把使用的方式简单化,内部逻辑和使用解耦.通俗的说就是使用的时候只需要知道参数和返回值,其他条件尽量不要使用人员进行设置. 2.JS封装的方法有函数方式.对象的方式.闭包的方式. 举 ...
- Visual Studio快速封装字段方法
在面向对象的编程中我们常常要将各个字段封装为属性,但是当字段多的时候往往这个重复的操作会大大降低我们的开发效率,那么如何才能快速的封装字段呢?下面就给大家2个解决方法: 1.使用封装字段方法: 选中字 ...
- 关于tween.js 封装的方法
今天做的是匀速情况下div的运动.首先开始之前先了解运动的原理 A------------>>BA移动到B 这段距离是总距离 用一个变量保存下来:var dA移动到B 移动的总次数 用一 ...
- xml方式封装数据方法
1.xml方式封装数据方法 2.demo <?php xml方式封装数据方法 /** * [xmlEncode description] * @param [type] $code [descr ...
- Kong管理UI -kong-dashboard (附kong封装webservice方法)
本文仍然是在centos 6.7的环境下进行 本文转载请注明出处 —— xiaoEight btw如果要正常使用管理UI,前提为kong已经正常run(可参考)起来,此 ...
- angular 封装公共方法
angular封装公共方法到service中间件,节省开发时间 layer.service.ts openAlert(callback) {// 传递回调函数 const dialogRef = th ...
- jsonp跨域 封装通用方法
jsonp跨域 封装通用方法 //用法如下 jsonp({ url:"https://www.xxxx.com", params:{wd:'b'}, callback:'show' ...
- python_封装redis_list方法
xshell 进入 虚拟环境 安装 redis workon py3env # 进入虚拟环境 pip install redis # 安装redis deactivate # 退出虚拟环境 简单的封装 ...
- python_封装redis_hash方法
xshell 进入 虚拟环境 安装 redis workon py3env # 进入虚拟环境 pip install redis # 安装redis deactivate # 退出虚拟环境 简单的封装 ...
随机推荐
- CentOS 7下使用Apache2部署Django项目,解决文件名中含有中文报错的问题
系统版本: CentOS 7.3Apache 2.4 Django 1.11 问题描述 Django项目涉及上传操作,上传文件名称含有中文,若使用runserver启动服务,没有问题!若将Django ...
- java html table 转 excel,给予jdom 和 poi
maven 引入 <dependency> <groupId>org.jdom</groupId> <artifactId>jdom</artif ...
- LC 499. The Maze III 【lock,hard】
There is a ball in a maze with empty spaces and walls. The ball can go through empty spaces by rolli ...
- react-native命令初始化项目后可借助webstrom快速运行与调试项目
利用webstorm工具打开RN项目,点击 然后添加 然后进行配置 最后,点击apply ,OK完成 后期运行项目直接点击:
- jenkins凭证与新建任务
一.凭证介绍 有许多第三方网站和应用程序可以与 Jenkins 进行交互,例如程序代码仓库,云存储系统和服务等. 此类应用程序的系统管理员可以在应用程序中配置凭证以专供 Jenkins 使用.通常通过 ...
- web容器启动加载WebApplicationContext和初始化DispatcherServlet
原文地址:http://blog.csdn.net/zghwaicsdn/article/details/51186915 ContextLoaderListener监听器,加载ROOT WebApp ...
- Using NodeLists
Understanding a NodeList object and its relatives, NamedNodeMap and HTMLCollection, is critical to a ...
- Azure Blob 存储简介
Azure Blob 存储是 Microsoft 提供的适用于云的对象存储解决方案. Blob 存储最适合存储巨量的非结构化数据. 非结构化数据是不遵循特定数据模型或定义(如文本或二进制数据)的数据. ...
- 中国高考志愿填报与职业趋势分析 - ActiveReports 大数据分析报告
中国高考志愿填报与职业趋势分析 1977年中国高考制度恢复,重新开启了人才成长之门.40多年来,高考累积录取人数增长了27倍, 2.28亿人报名,9900万名高素质人才先后通过了中国高等教育的培养,高 ...
- CNN中feature map、卷积核、卷积核的个数、filter、channel的概念解释
CNN中feature map.卷积核.卷积核的个数.filter.channel的概念解释 参考链接: https://blog.csdn.net/xys430381_1/article/detai ...