Flutter集成pdftron_flutter构建Android应用时遇cannot find symbol错误
解决pdftron_flutter构建Android时出现"cannot find symbol variable string"错误
问题描述
使用pdftron_flutter依赖包开发Flutter Android应用时,编译阶段出现以下错误:
C:\Users\USER\AppData\Local\Pub\Cache\hosted\pub.dev\pdftron_flutter-1.0.1-32\android\src\main\java\com\pdftron\pdftronflutter\helpers\PluginUtils.java:987: error: cannot find symbol stringRes != R.string.document_save_error_toast_message; ^ symbol: variable string location: class R
同时flutter doctor检测出Android工具链存在以下问题:
- cmdline-tools组件缺失
- Android许可证状态未知
- 旧版Android Studio无法识别捆绑Java版本
解决方案
1. 修复Android工具链基础问题
- 打开Android Studio的SDK Manager,找到SDK Tools标签,勾选并安装最新版
cmdline-tools - 执行命令接受SDK许可证:
flutter doctor --android-licenses - 切换使用正常识别Java版本的Android Studio(如2023.3版本,停用2022.3版本)
2. 彻底清理并重建项目
- 执行清理命令:
flutter clean - 手动删除项目根目录的
.dart_tool、build文件夹,以及android目录下的.gradle文件夹 - 重新获取依赖:
flutter pub get - 尝试重新构建APK:
flutter build apk
3. 修复插件资源引用问题
- 检查项目
android/app/src/main/res/values/strings.xml,手动添加插件所需的字符串资源:<string name="document_save_error_toast_message">保存文档出错</string> - 更新pdftron_flutter到兼容Flutter 3.22.3的最新版本,修改
pubspec.yaml中的依赖版本后重新执行flutter pub get - 统一Android编译配置,在
android/build.gradle中设置:
在buildscript { ext.kotlin_version = '1.9.0' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.4.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } }android/app/build.gradle中同步版本:android { compileSdkVersion 34 defaultConfig { minSdkVersion 21 targetSdkVersion 34 } }
4. 重置插件缓存
- 删除本地Pub缓存中的问题插件版本:
C:\Users\USER\AppData\Local\Pub\Cache\hosted\pub.dev\pdftron_flutter-1.0.1-32 - 重新执行
flutter pub get,让Pub重新下载完整的插件包
内容的提问来源于stack exchange,提问作者Ahmed Rajab
相关产品推荐
相关产品推荐

