Android原⽣项⽬导⼊flutter项⽬,各种问题汇集
步骤⼀,
使⽤Android Studio来创建,依次点击左上⾓的File --> New --> New Flutter Project,然后选择Flutter Module。
步骤⼆,
然后在项⽬根⽬录下的adle
setBinding(new Binding([gradle:this]))
//flutter⽬录
evaluate(new File(
settingsDir.parentFile,
'my_flutter/.android/vy'
))
报错: adle.api.GradleScriptException: A problem occurred evaluating settings
解决⽅式:⽹上了⼀圈没看到明确的路径说明,正确的是:
include ':app'
include ':flutter_module'
setBinding(new Binding([gradle: this]))
evaluate(new File(
settingsDir.parentFile,
'你的主项⽬名称/flutterMoudle的名称/.android/vy'
))
报错:Project :app doesn't exist. To custom the host app project name, set
`adle.project.flutter.hostAppProjectName=<project-name>` in gradle.properties.. Expression: (appProject != null). Values: appProject = null
解决⽅式:出现这个错误的原因是:你的android项⽬的主module的名字不是app,修改⽅式:
在android项⽬的gradle.properties⽂件中设置 flutter.hostAppProjectName:
flutter.hostAppProjectName = app_name
其中app_name就是你android项⽬主module的名字。
运⾏报错:导⼊flutter后 Kotlin出现 'onAttach' overrides nothing
以及Type mismatch: inferred type is Context? but Context was expected
解决办法 据说是compileSdkVersion 升级到27,出现如题错误,
override fun onAttach(context: Context?) {
if (contextis VectorSettingsFragmentInteractionListener) {
interactionListener =context
}}
这样的就没有问题,只要将 context: Context?后边的问号去掉即可,为什么会这样,我也不清楚
运⾏报错:ERROR: Manifest merger failed with multiple errors, see logs。
具体查看是 This version of flutter_webview_plugin will break your Android build if it or its dependencies aren't compatible with AndroidX.
flutter sdk然后⽹上各种答案,说什么的都有,就是不断的解决Flutter中解决AndroidX包与Support包冲突问题
修改版本号,升级Androidx的包,
就是说把当前⼯程合并为AndroidX
I在 android/gradle/wrapper/gradle-wrapper.properties 修改成这样:
distributionUrl=https\:///distributions/gradle-4.10.2-all.zip
在I adle, 修改成这样:
dependencies {
classpath 'ls.build:gradle:3.3.0'
}
在I android/gradle.properties,中添加
android.useAndroidX=true
修改 android/adle:版本号28
make sure compileSdkVersion and targetSdkVersion are at least 28.
android/adle中的dependencies⾥,⽤androidx代替android.support
将 androidTestImplementation 'com.st:runner:1.0.2'
修改为 androidTestImplementation 'st:runner:1.0.2'
尝试到最后,没有⼀点卵⽤ 折腾了⼀上午,
ERROR: Manifest merger failed with multiple errors, see logs。
回到原点,ERROR: Manifest merger failed with multiple errors, see logs。
打开主app的l, 以前没有注意到这⾥还有⼀个“Merged Manifest” 的 tab页。
Error 提⽰直指错误的!
点击后就真正的错误log就出来了。这⾥的Error 提⽰
Error: Attribute meta-data#android.support.FILE_PROVIDER_PATHS@resource value=(@xml/vector_provider_paths) l:583:17-62 is also present l:7:75-108 value=(@xml/filepaths). Suggestion: add
'tools:replace="android:resource"' to <meta-data> element l to override. vector a
pp manifest, line 582最后才知道就是 flutter_webview_plugin
flutter_webview_plugin 中多写了配置⽂件,需要重新覆盖 即可,真实⽇了狗,
添加如图,完美运⾏;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论