一、生成androd簽名證書
Android studio的Build > Grenerate Signed Bundle
選擇apk
點擊Create New
錄入對應的簽名信息;點擊確定
對應盤符下就會生成一個簽名文件
二、拷貝簽名到項目目錄
將簽名文件拷入項目的app目錄下
三、配置 greadle.properties
在greadle.properties中增加如下配置(對應上一步生成的簽名證書的別名,密碼)
MYAPP_RELEASE_KEY_ALIAS=android_keystore # 別名
MYAPP_RELEASE_KEY_PASSWORD=123456 # 別名密碼
MYAPP_RELEASE_STORE_PASSWORD=123456 # 證書密碼
MYAPP_RELEASE_STORE_FILE=android_keystore.jks # 證書路徑
四、配置build.gradle(Module:app)
在android下增加如下配置(注意release中配置的value一定要對應到上一步greadle.properties中配置的key,否則編譯報錯)
android {
# 省略其他配置 ....
# 新增配置
signingConfigs{
release{
storeFile file(MYAPP_RELEASE_STORE_FILE)
storePassword MYAPP_RELEASE_STORE_PASSWORD
keyAlias MYAPP_RELEASE_KEY_ALIAS
keyPassword MYAPP_RELEASE_KEY_PASSWORD
}
}
buildTypes {
release {
# 省略其他配置 ....
# 新增配置
signingConfig signingConfigs.release
}
}
# 省略其他配置 ....
}
五、解決 Compatible side by side NDK version was not found.
配置完成后
使用android studio運行gradlew assembleRelease
打包發布android與flutter混合開發項目提示
D:\learnFlutter\flutter_hybrid\Flutterhybridandroid>gradlew assembleRelease
Compatible side by side NDK version was not found.
Unable to strip library 'D:\learnFlutter\flutter_hybrid\Flutterhybridandroid\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libapp.so' due to missing strip tool for ABI 'ARM64_V8A'. Packaging it as is.
Unable to strip library 'D:\learnFlutter\flutter_hybrid\Flutterhybridandroid\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libflutter.so' due to missing strip tool for ABI 'ARMEABI_V7A'. Packaging it as is.
62 actionable tasks: 59 executed, 3 up-to-date
Android studio的File->Project Structure窗口下進行NDK的相關下載
等待下載完成
現在完成后會自動同步ndk路徑
點擊OK后gradle會自動同步
六、解決 Compatible side by side NDK version was not found.
有提示了另一個錯誤
Compatible side by side NDK version was not found.
Unable to strip library 'D:\learnFlutter\flutter_hybrid\Flutterhybridandroid\app\build\intermediates\merged_native_libs\release\out\lib\arm64-v8a\libapp.so' due to missing strip tool for ABI 'ARM64_V8A'. Packaging it as is.
Unable to strip library 'D:\learnFlutter\flutter_hybrid\Flutterhybridandroid\app\build\intermediates\merged_native_libs\release\out\lib\armeabi-v7a\libflutter.so' due to missing strip tool for ABI 'ARMEABI_V7A'. Packaging it as is.
62 actionable tasks: 59 executed, 3 up-to-date
D:\learnFlutter\flutter_hybrid\Flutterhybridandroid>gradlew assembleRelease
62 actionable tasks: 8 executed, 54 up-to-date
根據android官網提示進行ndk版本配置
到安裝的ndk目錄下找到souce.propertites打開
根據
在build.properties中配置ndk版本
配置完成gradle自動同步
七、最后執行 gradlew assembleRelease打包
終於沒有提到錯誤了
D:\learnFlutter\flutter_hybrid\Flutterhybridandroid>gradlew assembleRelease
62 actionable tasks: 5 executed, 57 up-to-date
在project 目錄下也看見了久違的app-release.apk
最后就可以將這個apk發到真機安裝了