#!/bin/bash # This is flutter build projectDir=`pwd` rootFlutter=`which flutter` rootDir=${rootFlutter%/*} # 0 true 1 false buildDebug=1 upload=0 suff=debug dif=debug #dif=release message=埋点字段写反问题 if [ $buildDebug -eq 0 ]; then suff=debug else suff=release fi #=====更新版本号 TODO #cd /Users/apple/lsy/MergeTest #v=`grep ext.PUBLISH_VERSION build.gradle|cut -d'=' -f2` #v0=`echo $v | awk '{split($0,a," ");print a[2]}'` #echo 旧版本号$v0 # #v1=`echo $v0 | awk '{split($0,a,".");print a[1]}'` #v2=`echo $v0 | awk '{split($0,a,".");print a[2]}'` #v3=`echo $v0 | awk '{split($0,a,".");print a[3]}'` #y=`expr $v3 + 1` #vv=$v1"."$v2"."$y #echo 新版本号$vv #sed -i '.bak' 's/'$v0'/'$vv'/g' build.gradle #if [ $? -eq 0 ]; then # echo '' #else # echo '更新版本号失败...' # exit #fi # ======old===== #cd ${rootDir}/cache/artifacts/engine/android-arm-release #rm -rf lib #rm -rf io #unzip flutter.jar #mkdir ${projectDir}/android/app/src/main/assets #rm -rf ${projectDir}/android/app/src/main/assets/io #rm -rf ${projectDir}/android/app/src/main/assets/lib #mv ${pwd}io/* ${projectDir}/android/app/src/main/assets/io/ #mv ${pwd}lib/* ${projectDir}/android/app/src/main/assets/lib/ #cp ${pwd}darwin-x64/gen_snapshot ${projectDir}/android/app/src/main/assets/gen_snapshot #cd .. #cd darwin-x64/ #cp ${pwd}icudtl.dat ${projectDir}/android/app/src/main/assets/ #====clean cd ${projectDir} ${rootFlutter} clean export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn ${rootFlutter} packages get #====build android ${rootFlutter} build aot --release --output-dir=build/flutteroutput/aot ${rootFlutter} build bundle --precompiled --asset-dir=build/flutteroutput/flutter_assets # rm -f -r android/packflutter/flutter/ echo 'Copy flutter jar' mkdir -p android/packflutter/flutter/flutter/android-arm-release && cp ${rootDir}/cache/artifacts/engine/android-arm-release/flutter.jar "$_" echo 'Copy flutter asset' mkdir -p android/packflutter/flutter/assets/release && cp -r build/flutteroutput/aot/* "$_" mkdir -p android/packflutter/flutter/assets/release/flutter_assets && cp -r build/flutteroutput/flutter_assets/* "$_" echo 'Build and publish idlefish flutter to aar' cd android/ if [ $buildDebug -eq 0 ]; then ./gradlew assembleDebug else ./gradlew assembleRelease fi cd .. rm -rf /Users/apple/lsy/aar/ mkdir /Users/apple/lsy/aar/ rm -rf /Users/apple/lsy/aar_update/ mkdir /Users/apple/lsy/aar_update/ mkdir /Users/apple/lsy/aar_update/androd${message}/ mkdir /Users/apple/lsy/aar_update/ios${message}/ cp -r /Users/apple/lsy/gmalpha_flutter/build/app/outputs/aar/app-${suff}.aar /Users/apple/lsy/MergeTest/app/libs/app.aar cp -r /Users/apple/lsy/gmalpha_flutter/build/flutter_boost/outputs/aar/flutter_boost-${suff}.aar /Users/apple/lsy/MergeTest/app/libs/flutter_boost.aar cp -r /Users/apple/lsy/gmalpha_flutter/build/gengmei_flutter_plugin/outputs/aar/gengmei_flutter_plugin-${suff}.aar /Users/apple/lsy/MergeTest/app/libs/gengmei_flutter_plugin.aar cp -r /Users/apple/lsy/gmalpha_flutter/build/path_provider/outputs/aar/path_provider-${suff}.aar /Users/apple/lsy/MergeTest/app/libs/path_provider.aar cp -r /Users/apple/lsy/gmalpha_flutter/build/sqflite/outputs/aar/sqflite-${suff}.aar /Users/apple/lsy/MergeTest/app/libs/sqflite.aar cp -r /Users/apple/lsy/gmalpha_flutter/build/xservice_kit/outputs/aar/xservice_kit-${suff}.aar /Users/apple/lsy/MergeTest/app/libs/xservice_kit.aar cp -r /Users/apple/lsy/gmalpha_flutter/build/app/outputs/aar/app-${suff}.aar /Users/apple/lsy/aar/app-${suff}.zip #mv /Users/apple/lsy/gmalpha_flutter/build/app/outputs/aar/app-debug.aar /Users/apple/lsy/aar/app-debug.zip cd /Users/apple/lsy/aar unzip /Users/apple/lsy/aar/app-${suff}.zip cp -r /Users/apple/lsy/aar/jni/armeabi-v7a/* /Users/apple/lsy/MergeTest/app/libs/jniLibs/armeabi-v7a/ cp -r /Users/apple/lsy/aar/jni/armeabi-v7a/* /Users/apple/lsy/Test/app/libs/armeabi-v7a/ cp -r /Users/apple/lsy/aar/jni/armeabi-v7a/* /Users/apple/lsy/gmalpha_flutter/build/ cp -r /Users/apple/lsy/aar/jni/armeabi-v7a/libapp.so /Users/apple/lsy/aar_update/androd${message}/ cd /Users/apple/lsy/gengmei_alpha git checkout dev git stash git pull cp -r /Users/apple/lsy/aar/jni/armeabi-v7a/libapp.so /Users/apple/lsy/gengmei_alpha/alpha/libs/armeabi-v7a/libapp.so git status git add . git commit -m "change app.so" git push git checkout test git stash git pull cp -r /Users/apple/lsy/aar/jni/armeabi-v7a/libapp.so /Users/apple/lsy/gengmei_alpha/alpha/libs/armeabi-v7a/libapp.so git status git add . git commit -m "change app.so" git push #====upload cd /Users/apple/lsy/MergeTest ./gradlew clean ./gradlew assembleRelease ./gradlew uploadArchives cp -r /Users/apple/lsy/MergeTest/app/build/outputs/aar/app.aar /Users/apple/lsy/Test/app/libs/ cp -r /Users/apple/lsy/MergeTest/app/build/outputs/aar/app.aar /Users/apple/lsy/gmalpha_flutter/build/ cd /Users/apple/lsy/flutter_aar git add . git commit -m "commit " git push # ios!!! #cd ${projectDir} #flutter build ios --release --no-codesign #cp -r /Users/apple/lsy/gmalpha_flutter/ios/Flutter/App.framework /Users/apple/lsy/aar_update/ios${message}/ # #cd /Users/apple/lsy/GMAlpha #git checkout test #git stash #git pull #cp -r /Users/apple/lsy/gmalpha_flutter/ios/Flutter/App.framework /Users/apple/lsy/GMAlpha/GMAlpha/Classes/APP/flutter_project/App.framework #git status #git add . #git commit " change App.framwork" #git push # # #git checkout dev #git stash #git pull #cp -r /Users/apple/lsy/gmalpha_flutter/ios/Flutter/App.framework /Users/apple/lsy/GMAlpha/GMAlpha/Classes/APP/flutter_project/App.framework #git status #git add . #git commit " change App.framwork" #git push # #python /Users/apple/lsy/update.py #cp -r /Users/apple/lsy/gmalpha_flutter/ios/Flutter/Flutter.framework /Users/apple/lsy/aar_update/ios${message}/ #cd /Users/apple/lsy/aar_update/ #open . #cd ios/Pods #/usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target flutter_boost BUILD_DIR=../../build/ios -sdk iphoneos -quiet #/usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target FMDB BUILD_DIR=../../build/ios -sdk iphoneos -quiet #/usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target gengmei_flutter_plugin BUILD_DIR=../../build/ios -sdk iphoneos -quiet #/usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target package_info BUILD_DIR=../../build/ios -sdk iphoneos -quiet #/usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target path_provider BUILD_DIR=../../build/ios -sdk iphoneos -quiet #/usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target shared_preferences BUILD_DIR=../../build/ios -sdk iphoneos -quiet #/usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target sqflite BUILD_DIR=../../build/ios -sdk iphoneos -quiet #/usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target xservide_kit BUILD_DIR=../../build/ios -sdk iphoneos -quiet #/usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target Flutter BUILD_DIR=../../build/ios -sdk iphoneos -quiet #echo "IOS build " # #${rootFlutter} build ios --release # #echo "===生成各个plugin的二进制库文件===" #cd ios/Pods ##/usr/bin/env xcrun xcodebuild clean ##/usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' BUILD_AOT_ONLY=YES VERBOSE_SCRIPT_LOGGING=YES -workspace Runner.xcworkspace -scheme Runner BUILD_DIR=../build/ios -sdk iphoneos #for plugin_name in ${plugin_arr} #do # echo "生成lib${plugin_name}.a..." # /usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target ${plugin_name} BUILD_DIR=../../build/ios -sdk iphoneos -quiet # /usr/bin/env xcrun xcodebuild build -configuration Debug ARCHS='x86_64' -target ${plugin_name} BUILD_DIR=../../build/ios -sdk iphonesimulator -quiet # echo "合并lib${plugin_name}.a..." # lipo -create "../../build/ios/Debug-iphonesimulator/${plugin_name}/lib${plugin_name}.a" "../../build/ios/Release-iphoneos/${plugin_name}/lib${plugin_name}.a" -o "../../build/ios/Release-iphoneos/${plugin_name}/lib${plugin_name}.a" #done # #echo "===生成注册入口的二进制库文件===" #for reg_enter_name in "flutter_plugin_entrance" "flutter_service_register" #do # echo "生成lib${reg_enter_name}.a..." # /usr/bin/env xcrun xcodebuild build -configuration Release ARCHS='arm64 armv7' -target ${reg_enter_name} BUILD_DIR=../../build/ios -sdk iphoneos # /usr/bin/env xcrun xcodebuild build -configuration Debug ARCHS='x86_64' -target ${reg_enter_name} BUILD_DIR=../../build/ios -sdk iphonesimulator # echo "合并lib${reg_enter_name}.a..." # lipo -create "../../build/ios/Debug-iphonesimulator/${reg_enter_name}/lib${reg_enter_name}.a" "../../build/ios/Release-iphoneos/${reg_enter_name}/lib${reg_enter_name}.a" -o "../../build/ios/Release-iphoneos/${reg_enter_name}/lib${reg_enter_name}.a" #done #test #cd ${PWD}/build/app/outputs/aar/ #open . #cp ${PWD}/build/app/outputs/aar/app-release.aar /Users/sylin/lsy/PLVideo/app/libs/ #cp ${PWD}/build/app/outputs/aar/app-debug.aar /Users/sylin/lsy/PLVideo/app/libs/ exit