方法一:

    新建个 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

最新文章

  1. Design2:数据层次结构建模之二
  2. MySQL------MySQL与SQLServer数据类型的转换
  3. hdu 1002 A+B
  4. Delphi XE2及以后的版本编译后的程序大小问题
  5. 如何kill掉TaobaoProtect.exe
  6. mac下的改装人生——把主硬盘换成ssd
  7. JavaScript 滚动页面到指定元素位置
  8. GTW likes gt(BC 模拟 or 优先队列)
  9. Linux服务器自动备份压缩MySQL数据库的实用方法
  10. 谈谈ES6箭头操作符
  11. 【京东详情页】——原生js爬坑之标签页
  12. Android开发之漫漫长途 XII——Fragment详解
  13. vuex是什么东西?
  14. Python 中的闭包
  15. SSH执行hql报错:Caused by: org.hibernate.hql.ast.QuerySyntaxException: user is not mapped [from user where username = ?]
  16. 【2】学习C++之引用
  17. Jenkins+PowerShell持续集成环境搭建(八)邮件通知
  18. 对于Arrays的deep相关的方法。
  19. Asp.net+WebSocket+Emgucv实时人脸识别
  20. java和python对比----1:

热门文章

  1. oracle性能诊断sql
  2. 警告(alert)、确认(confirm)
  3. LC 431. Encode N-ary Tree to Binary Tree 【lock,hard】
  4. Python中将(字典,列表等)变量格式化成字符串输出
  5. Hadoop完全分布式安装配置完整过程
  6. zabbix(1)基础知识
  7. mariadb数据库(4)集群
  8. Windows下查找文件或文件夹被哪个进程占用
  9. MongoDB 日志中出现“UserNotFound: Could not find user ceilometer@ceilometer”,如何解决?
  10. vs code 设置 保存自动格式化vue代码