android结合flutter
flutter模块
# 项目同级目录
flutter create -t module my_flutter
# 编译模块
cd my_flutter/.android/
./gradlew flutter:assembleDebug
# 会生成 my_flutter\.android\Flutter\build\outputs\aar\flutter-debug.aar
修改安卓项目文件
# app/build.gradle文件
android {
compileSdkVersion 28
defaultConfig {
...
}
buildTypes {
...
}
// flutter相关声明
compileOptions {
sourceCompatibility 1.8
targetCompatibility 1.8
}
}
dependencies {
// 接入flutter
implementation project(':flutter')
}
# settings.gradle文件
include ':app', ':androidFrame'
// flutter新加
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir.parentFile, '/my_flutter/.android/include_flutter.groovy'
))
在android中接入flutter页面
# 推荐用一个Fragment包裹flutter页面
import android.support.v4.app.FragmentTransaction;
import io.flutter.facade.Flutter;
import io.flutter.facade.FlutterFragment;
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); // 需要继承BaseActivity
FlutterFragment route1Fragment = Flutter.createFragment("route1"); // 路由名
fragmentTransaction.replace(R.id.flutter_fragment_content, route1Fragment).commit(); // 调用flutter_fragment_content打开
# 不要忘记在AndroidManifest.xml添加FlutterViewActivity
# 调用页面
startActivity(new Intent(getBaseContext(), FlutterViewActivity.class));
调用页面
# 调用打开页面(需要继承基类android.support.v7.app.AppCompatActivity)
startActivity(new Intent(getBaseContext(), UserOperatorListActivity.class));
# 调用UserOperatorListActivity页面,初始化数据和layout,经过以下步骤之后,然后渲染数据到页面页面上即可
## 获取数据UserOperatorListFragment.newInstance(),返回一个fragment
## 用实体类FensOperatorListBean去接收数据,使用FensOperatorQueryListAdapter去绑定数据
原生打包基本命令
命令行运行
.\gradlew assembleRelease
.\gradlew installDebug
模拟器
adb kill-server
adb start-server
adb connect 127.0.0.1:7555
adb devices
json字符串转java实体类
https://www.sojson.com/json2entity.html
命令
查看所有任务 包括缓存任务等
gradlew tasks --all 查看所有任务
清除build文件夹
./gradlew clean
编译并安装debug包
./gradlew installDebug
调试模式构建并打印堆栈日志
./gradlew build --info --debug --stacktrace
强制更新最新依赖,清除构建并构建
./gradlew clean build --refresh-dependencies
编译并打Release的包
./gradlew assembleRelease
Release模式打包并安装
./gradlew installRelease
卸载Release模式包
./gradlew uninstallRelease
结合productFlavorsName
./gradlew install[productFlavorsName] app:assembleDebug
Release模式 test 渠道打包
./gradlew assembleTestRelease
依赖查看
./gradlew dependencies
参数
--offline 离线
--daemon 守护进程
--parallel --parallel-threads=N 并行编译
--configure-on-demand 按需编译