美文网首页
RN运行在安卓模拟器,打包APK

RN运行在安卓模拟器,打包APK

作者: iOS丶Michelle | 来源:发表于2021-09-02 20:12 被阅读0次

    1初始化一个RN项目

    npx react-native init AwesomeProject
    

    2运行在安卓模拟器,需要先配置Android环境变量,方法在下面

    打开AS,然后Configure,然后AVD Manager,选择安卓10版本,机型任意


    image.png

    3打包APK

    • Mac电脑直接右键android文件夹在终端打开,输入以下命令,终端会让你输入一些信息,你就一直输入一个字母,一路回车就好了
    keytool -genkey -v -keystore my-release-key.keystore  -alias my-release-key-alias -keyalg RSA -keysize 2048 -validity 10000
    
    • 出现my-release-key.keystore文件,然后复制到android/app下
    • 配置android下的gradle.properties文件,添加


      image.png
    MYAPP_RELEASE_STORE_FILE=my-release-key.keystore    #(刚生成签名文件的名称)
    
    MYAPP_RELEASE_KEY_ALIAS=my-release-key-alias    #(刚生成签名文件的别名)
    
    MYAPP_RELEASE_STORE_PASSWORD=123456  #(刚生成签名文件的自己设置的密码)
    
    MYAPP_RELEASE_KEY_PASSWORD=123456
    
    • 配置androd/app/build.gradle文件
    //如果出现lintOptions错误,把这个加上就可以了
    //Execution failed for task ':app:lintVitalRelease'.
    lintOptions {
            checkReleaseBuilds false
            abortOnError false
     }
    signingConfigs {
            debug {
                storeFile file('debug.keystore')
                storePassword 'android'
                keyAlias 'androiddebugkey'
                keyPassword 'android'
            }
            release {
                storeFile file("/Users/hb/Desktop/AwesomeProject/android/app/my-release-key.keystore")//这里换成你自己的
                storePassword "123456"//这里换成你自己的
                keyAlias "my-release-key-alias"//这里换成你自己的
                keyPassword "123456"//这里换成你自己的
            }
    }
    buildTypes {
            debug {
                signingConfig signingConfigs.debug
            }
            release {
                // Caution! In production, you need to generate your own keystore file.
                // see https://reactnative.dev/docs/signed-apk-android.
                //signingConfig signingConfigs.debug   改为下面的
                signingConfig signingConfigs.release
                minifyEnabled enableProguardInReleaseBuilds
                proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
            }
    }
    
    • 如果打包有其他错误的看一下报错,如果是compileReleaseJavaWithJavac FAILED 执行以下代码再重新打包

    清理缓存

    在Windows上:
    gradlew cleanBuildCache
    
    在Mac或Linux上:
    ./gradlew cleanBuildCach
    

    重新打包

    在项目的android文件夹下执行命令
    ./gradlew assembleRelease
    

    -----------------------------------↓↓↓分割线↓↓↓----------------------------------------------------

    配置Android环境变量的方法

    打开终端输入

    open .bash_profile
    
    image.png
    #RN打包需要JDK 1.8
    JAVA_1_8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
    export JAVA_1_8_HOME
    
    JAVA_16_HOME=/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home
    export JAVA_16_HOME
    
    export JAVA_HOME=$JAVA_1_8_HOME
    
    alias jdk1.8="export JAVA_HOME=$JAVA_1_8_HOME"
    alias jdk16="export JAVA_HOME=$JAVA_16_HOME"
    
    #RN运行在安卓模拟器上yarn android
    export ANDROID_HOME=/Users/hb/Library/Android/sdk
    export PATH=${PATH}:${ANDROID_HOME}/tools
    export PATH=${PATH}:${ANDROID_HOME}/platform-tools
    

    在终端中输入下面代码 ,使我们的改动生效

    source .bash_profile
    

    运行在AS模拟器上

    把初始化好的项目,拖拽进AS,鼠标右键,终端打开,就可以运行了

    yarn android
    
    image.png

    相关文章

      网友评论

          本文标题:RN运行在安卓模拟器,打包APK

          本文链接:https://www.haomeiwen.com/subject/pzycwltx.html