封装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
最新文章
- Design2:数据层次结构建模之二
- MySQL------MySQL与SQLServer数据类型的转换
- hdu 1002 A+B
- Delphi XE2及以后的版本编译后的程序大小问题
- 如何kill掉TaobaoProtect.exe
- mac下的改装人生——把主硬盘换成ssd
- JavaScript 滚动页面到指定元素位置
- GTW likes gt(BC 模拟 or 优先队列)
- Linux服务器自动备份压缩MySQL数据库的实用方法
- 谈谈ES6箭头操作符
- 【京东详情页】——原生js爬坑之标签页
- Android开发之漫漫长途 XII——Fragment详解
- vuex是什么东西?
- Python 中的闭包
- SSH执行hql报错:Caused by: org.hibernate.hql.ast.QuerySyntaxException: user is not mapped [from user where username = ?]
- 【2】学习C++之引用
- Jenkins+PowerShell持续集成环境搭建(八)邮件通知
- 对于Arrays的deep相关的方法。
- Asp.net+WebSocket+Emgucv实时人脸识别
- java和python对比----1:
热门文章
- oracle性能诊断sql
- 警告(alert)、确认(confirm)
- LC 431. Encode N-ary Tree to Binary Tree 【lock,hard】
- Python中将(字典,列表等)变量格式化成字符串输出
- Hadoop完全分布式安装配置完整过程
- zabbix(1)基础知识
- mariadb数据库(4)集群
- Windows下查找文件或文件夹被哪个进程占用
- MongoDB 日志中出现“UserNotFound: Could not find user ceilometer@ceilometer”,如何解决?
- vs code 设置 保存自动格式化vue代码