快速开始
12147启动 jianghuAppBrowser,并把webview地址绑定为本地web项目地址
将项目代码下载到本地
$ git clone https://gitea.openjianghu.org/fsll-tech/jianghuAppBrowser.git
使用Android Studio 运行项目
将jianghuAppBrowser
项目添加到Android Studio
中,并运行项目。配置 run args
在 Android Studio 中配置additional run args: --flavor=您的flavor
,您的flavor
是在/jianghuAppBrowser/jianghuBrowser/android/app/build.gradle
中的productFlavors
对象里定义的key值,如果要运行其他的项目,可以把您的flavor
改成productFlavors
对象里其他的key。
例:android {
defaultConfig {
applicationId "org.fsll.jianghu_browser"
...
flavorDimensions 'jianghu_browser'
},
productFlavors {
您的flavor {
applicationId "org.fsll.jianghu_browser"
resValue "string", "app_name", "app名称"
resValue "string", "icon", "@mipmap/ic_launcher"
resValue "string", "service_name", " 您自己定义的service名"
resValue "string", "screen", "@drawable/screen"
resValue "color", "primary", "#FF0cc1e2"
buildConfigField "boolean", "SERVER_DEBUG", 'false'
dimension "jianghu_browser"
signingConfig signingConfigs.签名文件名
}
}
}
将webview地址改成本地项目路径,有两种修改方式:
a. 把/jianghuAppBrowser/jianghuBrowser/lib/main.dart
中defaultHost
下flavor
(这里是org.fsll.duoxing5.dev
)对应的路径改成本地web项目路径
b. 在安卓模拟器或真机中,将底部工具栏的地址改成本地web项目路径
手机客户端项目打包
- 生成签名
安卓应用在打包app之前,需要生成签名,签名是app的唯一识别码。只需要在第一次打包的时候生成签名。手机在安装app的时候,会根据签名识别是否是同一个app,判断是否有更新版本。
签名文件需要妥善保管,如果丢失了,在打包的时候需要重新生成签名,重新生成签名之后,在安装app的时候,手机无法根据签名匹配原来旧的版本app,所以无法自动安装覆盖,要删掉旧app手动安装新版本。
生成签名命令:keytool -genkey -alias xxxxxx -keyalg RSA -validity 20000 -keystore 签名文件名.jks
签名文件所在目录:/jianghuAppBrowser/jianghuBrowser/android/app/签名文件名.jks
签名文件需要在 /jianghuAppBrowser/jianghuBrowser/android/app/build.gradle
中的android.signingConfigs
中配置,例:
android {
signingConfigs {
您的flavor {
storeFile file('./签名文件名.jks')
storePassword '123456'
keyAlias '签名文件名'
keyPassword '123456'
}
}
}
- 配置打包信息
打包app之前,可以配置打包相关的信息,例如 app_name、icon、color等等。
配置文件所在目录:/jianghuAppBrowser/jianghuBrowser/android/app/build.gradle
,默认配置在android.defaultConfig
中定义,可以在android.productFlavors
中添加自定义配置, 示例:
android {
defaultConfig {
applicationId "org.fsll.jianghu_browser"
minSdkVersion 24
targetSdkVersion 33
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
flavorDimensions 'jianghu_browser'
},
productFlavors {
duoxingDev {
applicationId "org.fsll.jianghu_browser"
resValue "string", "app_name", "app名称"
resValue "string", "icon", "@mipmap/ic_launcher"
resValue "string", "service_name", "xxx_service"
resValue "string", "screen", "@drawable/screen"
resValue "color", "primary", "#FF0cc1e2"
buildConfigField "boolean", "SERVER_DEBUG", 'false'
dimension "jianghu_browser"
signingConfig signingConfigs.签名文件名
}
}
}
- 执行打包命令
打包命令在 /jianghuAppBrowser/jianghuBrowser/buildApk.sh
中定义,buildApk.sh 中的打包命令 flutter build apk
,如果不是fvm管理的flutter版本,需把fvm删除。
打包的时候,只需要执行以下命令:
$ sh buildApk.sh
执行以上命令之后,需要根据提示选择需要打包的项目,会提示输入最新版本,要输入一个比当前版本更新的版本,当前版本在/jianghuAppBrowser/jianghuBrowser/pubspec.yaml
中会记录,版本号可以忽略,打包完后pubspec.yaml
中的版本会记录为最新的。
打包后的app文件在 /jianghuBrowser/build/app/outputs/flutter-apk
目录下,包命名规则为:name-version-env.apk
,例如 jianghu3-7.0.6-release.apk
- 安装和使用app
打包好的app在安卓设备上,可以直接点击apk文件,会触发应用安装程序,按照步骤安装使用即可。在ios设备中,需要将app发布到应用市场,或者将ios设备id添加为测试用户,通过安装testflight 应用,测试用户可以以体验方式使用app。