React-native android/ios 打包

2,670 阅读2分钟

android 打包

引用文章:React Native Mac 下打包Android APK

进入项目运行下面代码,生成keystore文件

keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

“my-release-key.keystore“  签名的名称  
“my-key-alias ”   签名别名
有效期为10000天

按提示填写也可以直接回车跳过

在当前目录下就可以看到新增一个my-release-key.keystore文件,把文件搬到下面目录:

在android/app/build.gradle这个文件里面找到下面属性并添加对应的keystore和密码

修改安装包名称: android/app/src/main/res/values/strings.xml

打包命令: 进入android文件夹,运行 ./gradlew assembleRelease

建议在package.json里面添加命令 "build_android": "cd android && ./gradlew assembleRelease"

打包完成的apk路径 ==> android/app/build/outputs/apk/release/

打包过程可能会遇到一些插件版本过低问题,下列一些常见解决方案:

react-native-picker:verifyReleaseResources node_module 找到文件夹 react-native-picker/android/build.gradle文件

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

Configure project :react-native-picker WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'. node_module 找到文件夹 react-native-picker/android/build.gradle文件

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.facebook.react:react-native:+'
}

Task :aliyun-oss-react-native:verifyReleaseResources FAILED node_module 找到文件夹 aliyun-oss-react-native/android/build.gradle文件

android {
    compileSdkVersion 28
    buildToolsVersion "28.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
    }
    lintOptions {
        abortOnError false
    }
}

Configure project :aliyun-oss-react-native WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.

node_module 找到文件夹 aliyun-oss-react-native/android/build.gradle文件

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.facebook.react:react-native:+'
}

IOS 打包

IOS打包需要在xcode配置授权证书和账号登录,完成配置之后按以下操作即可:

工程构建存档

  • 把模式选择为构建模式
  • xcode -> product -> Archive

打出安装包

  • xcode -> window -> organizer -> distribute app -> development -> next > app thinning(选择全部 all) -> next * 2 -> export(一般打包在桌面)

安装包到手机-手机连上电脑

  • xcode -> window -> devices and simulators

把ipa文件拉到以下位置即可