封装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 # 退出虚拟环境 简单的封装 ...
随机推荐
- Java操作符——i++ 和 ++i的区别
问题:前置自增和后置自增的区别 Code-后置自增 public class Test { public static void main(String[] args) { int a = 2; in ...
- 用 dnSpy 反编译调试 .NET 程序
dnSpy 官网下载:https://github.com/0xd4d/dnSpy/releases 运行需要 .NET Framework 4 环境:https://dotnet.microsoft ...
- find 命令详细解释
命令格式:find pathname -options [-print -exec -ok ...] 命令参数: pathname: find命令所查找的目录路径.例如用.来表示当前目录,用/来表示系 ...
- Enetity Framework 加载关联数据后,循环问题
通过ef查询关联数据后,出现无限循环情况,在实体中将属性加上[Newtonsoft.Json.JsonIgnore] . [IgnoreDataMember] 就ok了. 我是查询后,用json转换 ...
- TCP/IP及内核参数优化调优(转)
Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等.如下配置是写在sysctl.conf ...
- 八十六:redis之RDB和AOF两种数据持久化机制
详见:http://redisdoc.com/persistence/index.html redis.conf RDB机制 改为5秒内1次 文件已生成 关闭RDB,注释掉3个save,重启redis ...
- linux常用命令(17)find命令概览
Linux下find命令在目录结构中搜索文件,并执行指定的操作.Linux下find命令提供了相当多的查找条件,功能很强大.由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时 ...
- MySQL使用order by field()自定义排序
MySQL的自定义排序和Oracle相比,要简单得多. 假设在表v_education的列schoolRecord中,有以下字段:'小学','初中','高中','专科','本科','硕士','博士'. ...
- iOS10权限问题
下图就是Info.plist的常用的权限问题: * 麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风? * 相机权限: Priv ...
- java:shiroProject
1.backend_system Maven Webapp: LoginController.java: package com.shiro.demo.controller; import org ...