封装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 23
    buildToolsVersion ´25.0.0´

    defaultConfig {
        applicationId "com.luzhiyao.sgongdoocar"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 5
        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: eact-native-workspace eact-native eact-nativ

                     解决办法:(待验证

        删除掉 C:UsersddAppDataRoaming pm-cache

            C:UsersddAppDataRoaming pm  两个文件夹  重新执行 npm install -g

      关闭自动唤起的 Metro Server ,在项目根目录手动运行:react-native start --root 项项目绝对路径/rn_temp react-native start --root 项项目绝对路径/rn_temp

原文地址:https://www.cnblogs.com/focusHots/p/11654901.html