Flutter 遇到的问题整理
- 1. Provisioning profile "iOS Team Provisioning Profile: x x x x" doesn't include the currently selected device "iPhone" (identifier b6b9a3d3c6bdea4812394a6c24f6572625c46300).
- 2.安卓Plugin project :ur_launcher web not found. Please update settings.gradle.
- 3.安卓一直报没有网络权限pipe 'gemud:network': Invalid argument Permission denied
- 3.安卓状态栏阴影去除
- 4.Flutter 输入框Textfiled设置内容后,让光标cursor位置处于文字末尾.
- 5.Dart Analysis Server client: couldn't create connection to server.The Dart Analysis Server server crashed 5 times in the last 3 minutes. The server will not be restarted.
- 6.flutter 报错 Command PhaseScriptExecution failed with a nonzero exit code
- 7. Xcode 升级到15 ios17 flutter 报错
- 1)SDK does not contain 'libarclite' at the path '/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/ lib/arc/libarclite_iphonesimulator.a'; try increasing the minimum deployment target
- 解决方案:
- 2).Assertion failed: (false && "compact unwind compressed function offset doesn't fit in 24 bits"), function operator(), file Layout.cpp, line 5758 linker command failed with exit code 1 (use -v to see invocation)
- 解决方案
- 3)/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h:120:47 type argument 'nw_proxy_config_t' (aka 'struct nw_proxy_config *') is neither an Objective-C object nor a block type
- 解决方案
- 4)/Users/.../GeneratedPluginRegistrant.m:12:9: Module 'xxx' not found
- 解决方案
- 5) Archive 时出现一个错误 PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks /Users/liangjing/Library/Developer/Xcode/DerivedData/Runner-clopejndrqqiaedzrpapnytjcrnb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/....Command PhaseScriptExecution failed with a nonzero exit code
- 解决方案
1. Provisioning profile “iOS Team Provisioning Profile: x x x x” doesn’t include the currently selected device “iPhone” (identifier b6b9a3d3c6bdea4812394a6c24f6572625c46300).
解决方案
用Xcode 重新编译一下
2.安卓Plugin project :ur_launcher web not found. Please update settings.gradle.
解决方案
查看android/gradle/wrapper/gradle-wrapper.properties
distributionUrl gradle 版本是否正确
然后flutter clear 并且删除 pubspec.lock
重新 flutter pub get
3.安卓一直报没有网络权限pipe ‘gemud:network’: Invalid argument Permission denied
qemu_pipe_open_ns:62: Could not connect to the 'pipe: gemud:network' service:
Invalid argument
08-04 16:22:14.190 - netmar Failed to open OEMU pipe 'gemud:network': Invalid argument
08-0416:99:39.880E andro1d.system.suspend@1.0-service: Error opening kernel wakelock stats for: wakeup34: Permission denied
08-04 16:22:39 W Binder: 212 2: tvpe=1400 audit(0.0:602): avc: denied { read } for name="wakeup34" dev="svsfs' ino=19159 sco ntext=u:r:system_suspend:s0 tcontext=u:object_r:systs:s0 tclass=dlr permissive=l
但是下面的权限都已经添加
<!--AndroidManifest.xml-->
<uses-permission android:name="android.permission.INTERNET"/>
<application
.....
android:networkSecurityConfig="@xml/network_security_config"
>
....
<--res/xml/network_security_config.xml -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>
解决方案
修改AndroidManifest.xml 权限位置
把权限都放到下面
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.yyy">
<application
android:label="yyy"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher"
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
>
。。。。
</application>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 网络权限 -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 开启读写storage权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<!-- 开启指纹权限 -->
<uses-permission android:name="android.permission.USE_FINGERPRINT"/>
</manifest>
3.安卓状态栏阴影去除
解决方案
1./android/app/src/main/kotlin/com/example/xxx/MainActivity.kt
package com.example.yyy
import io.flutter.embedding.android.FlutterActivity
//引入
import android.os.Build;
import android.os.Bundle;
class MainActivity: FlutterActivity() {
//设置状态栏沉浸式透明(修改flutter状态栏黑色半透明为全透明)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
window.statusBarColor = 0
}
}
}
- 入口文件main.dart
main() async {
。。。。
runApp(const MyApp());
SystemUiOverlayStyle uiStyle = const SystemUiOverlayStyle(
systemNavigationBarColor: Color(0x00000000),
systemNavigationBarDividerColor: null,
statusBarColor: Color(0x00000000),
systemNavigationBarIconBrightness: Brightness.dark,
statusBarIconBrightness: Brightness.dark,
statusBarBrightness: Brightness.dark,
);
SystemChrome.setSystemUIOverlayStyle(uiStyle);
}
4.Flutter 输入框Textfiled设置内容后,让光标cursor位置处于文字末尾.
controller.text = 'xxxx';
controller.selection = TextSelection.fromPosition(TextPosition(offset: controller.text.length));
5.Dart Analysis Server client: couldn’t create connection to server.The Dart Analysis Server server crashed 5 times in the last 3 minutes. The server will not be restarted.
问题: 不小心更新了vscode 导致一直Analysis…;而且错误提示不显示,代码提示加载中。。。
解决方案:
1.Deleting ~/.dartServer/.analysis-driver/ might be worth a try.
2. 重启vscode
参考:https://stackoverflow.com/questions/64500143/dart-analysis-server-has-terminated
6.flutter 报错 Command PhaseScriptExecution failed with a nonzero exit code
解决方案:
我犯的错误:检查配置文件中 flutter root 是否错误(注:改完后要清理一下重新下载包文件)
7. Xcode 升级到15 ios17 flutter 报错
1)SDK does not contain ‘libarclite’ at the path ‘/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/ lib/arc/libarclite_iphonesimulator.a’; try increasing the minimum deployment target
解决方案:
在该路径(/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/
lib/)下看看是否有arc, 如果没有可以从未升级的xcode14.x 同一路径下拷贝
注:网上有说可以https://github.com/kamyarelyasi/Libarclite-Files 这个里面下载(未尝试)
2).Assertion failed: (false && “compact unwind compressed function offset doesn’t fit in 24 bits”), function operator(), file Layout.cpp, line 5758 linker command failed with exit code 1 (use -v to see invocation)
解决方案
在 Project->target->Build Settings->Other linker Flags 路径下,添加 -ld64
3)/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator17.0.sdk/System/Library/Frameworks/WebKit.framework/Headers/WKWebsiteDataStore.h:120:47 type argument ‘nw_proxy_config_t’ (aka ‘struct nw_proxy_config *’) is neither an Objective-C object nor a block type
解决方案
1.选中不能编译的库的xcodeproj,在Build Phrases -> Compile Sources,选中所有文件,逐一在Complier Flags 里删除 -DOS_OBJECT_USE_OBJC=0。
如图:
2.可以参考https://blog.csdn.net/crasowas/article/details/133190660?spm=1001.2014.3001.5501 最后一种做法
4)/Users/…/GeneratedPluginRegistrant.m:12:9: Module ‘xxx’ not found
解决方案
首先确保:
首先打开 runner.xcworkspace 而不是 .xcodeproj
5) Archive 时出现一个错误 PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks /Users/liangjing/Library/Developer/Xcode/DerivedData/Runner-clopejndrqqiaedzrpapnytjcrnb/Build/Intermediates.noindex/ArchiveIntermediates/Runner/…Command PhaseScriptExecution failed with a nonzero exit code
解决方案
source="$(readlink "${source}")"改为source="$(readlink -f "${source}")"