-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathandroid_release.ts
40 lines (37 loc) · 1.5 KB
/
android_release.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
const util = require("./build_script/util.ts");
const fs = require('fs');
const apkPath = './android/app/build/outputs/apk/release/';
const cpuArch = ['armeabi-v7a', 'x86', 'arm64-v8a', 'x86_64'];
const cmdRN = [
"yarn",
"./node_modules/.bin/tsc",
"rm -rf ./android/app/build/outputs/apk/release/*.apk",
"react-native link",
// "rm -rf android/app/src/main/assets/index.android.bundle",
// "react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/app/src/main/assets/index.android.bundle --assets-dest android/app/src/main/res/",
// "rm -rf android/app/src/main/res/drawable-*",
// "rm -rf android/app/src/main/res/raw/",
"npx jetify",
]
const cmdAndroid = [
// "export JAVA_OPTS=\"-Xmx1024M -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512M\"",
// "export GRADLE_OPTS=\"-Dorg.gradle.daemon=false\"",
// "./gradlew clean",
// "./gradlew assembleRelease -x bundleReleaseJsAndAssets -x verifyReleaseResources",
"./gradlew assembleRelease -x verifyReleaseResources",
// "node ./rename-apk.js"
]
console.log("start>>>>")
//1 打包RN bundle
util.execSyncCmdsAndPrint(cmdRN, "./")
//2 打包apk
util.execSyncCmdsAndPrint(cmdAndroid, "./android/")
//3 重命名Apk
let curDate = util.formatDate(new Date(), 'yyyy-MM-dd_hh:mm:ss')
for (let arch of cpuArch) {
fs.rename(
`${apkPath}/app-${arch}-release.apk`,
`${apkPath}/app-${arch}-release-${curDate}.apk`, function (err) {
console.log(err);
})
}