我想在跨平台(iOS、Android)项目中使用 Flutter 实现反射和 Reflectable package .为了使二进制文件简短,此包使用代码生成。
但是,在 tutorial/readme 之后对于这个包,我无法生成所需的代码,在本例中是文件 main.reflectable.dart。虽然我已达到一切正常运行的地步,但代码生成以以下语句结束:
[INFO] Succeeded after 88ms with 0 outputs
在下文中,我尝试展示我所做工作的可重现路径。为此,我将 flutter 移动到不同的路径并重新安装它,但没有在 IntelliJ IDEA 中重新安装 flutter 插件。
如何重现/我做了什么?
I) 像往常一样为 Mac 安装 Flutter。在命令行上:
cd ~/development
git clone -b beta https://github.com/flutter/flutter.git
export PATH=/Users/yourname/development/flutter/bin:$PATH
flutter doctor
II) 在IntelliJ IDEA中新建一个Flutter项目
加载依赖项后,一些红色摆动会消失,但“import 'main.reflectable.dart';”中的不会消失,因为该文件尚不存在。
III) 尝试在命令行上使用构建器生成 main.reflectable.dart:
cd /Users/yourname/gitroot/PlayGround/reflectable_test_2/
flutter packages pub run build_runner build entry_point
请注意,教程只说了而不是最后一行
pub run build_runner build DIR
但使用的行确实是correct when used in a Flutter project .按照自述文件/教程到目前为止,我得到了结果:
Package "build_runner" is not an immediate dependency.
Cannot run executables in transitive dependencies.
pub finished with exit code 65
IV) 在 IntelliJ 中,将“build_runner: any”添加到 pubspec.yaml 中的 dev_dependencies。在命令行再次运行(flutter packages pub run build_runner build entry_point)。这导致输出:
[INFO] Generating build script...
[INFO] Generating build script completed, took 506ms
[INFO] Initializing inputs
[INFO] Building new asset graph...
[INFO] Building new asset graph completed, took 776ms
[INFO] Checking for unexpected pre-existing outputs....
[INFO] Checking for unexpected pre-existing outputs. completed, took 3ms
[INFO] Running build...
[INFO] Running build completed, took 7ms
[INFO] Caching finalized dependency graph...
[INFO] Caching finalized dependency graph completed, took 69ms
[INFO] Succeeded after 88ms with 0 outputs
总而言之,没有错误,但它也没有创建文件 main.reflectable.dart(0 输出)。我该怎么做才能解决这个问题?
最佳答案
也许唯一缺少的是做
flutter packages pub run build_runner build entry_point/main.dart
或者添加一个build.yaml文件
目标:
test_reflectable:
build 者:
可反射的:
生成_for:
- 入口点/main.dart
编辑:Here是一个示例存储库,它可以作为在 Flutter 中反射的非常简单的起点。
编辑 2:有一个 whitelist pub 支持入口点的位置(“Dart 程序”),而 entry_point 不在该列表中。尝试使用白名单中存在的目录。
关于android - 可反射的 flutter 反射 : working example needed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51169706/
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
一、环境变量右键点击我的电脑-属性:然后找到环境变量 1.Android的SDK不在C盘的话需要额外配这个到用户环境变量:ANDROID_HOMED:\AndroidSDK2.然后在系统变量:Path中添加一条这样的值 D:\Flutter\flutter\bin 这个值写flutter包解压的实际地址即可 3.在系统变量中添加两个镜像变量: 变量名:FLUTTER_STORAGE_BASE_URL 变量值:https://storage.flutter-io.cn 变量名:PUB_HOSTED_URL 变量
在我的Rails应用程序中,我收到来自brakeman的以下安全警告。使用模型属性调用的不安全反射方法常量化。这是我的代码正在执行的操作。chart_type=Chart.where(id:chart_id,).pluck(:type).firstbeginChartPresenter.new(chart_type.camelize.constantize.find(chart_id))rescueraise"Unabletofindthechartpresenter"end根据我的研究,我还没有找到任何具体的解决方案。我听说你可以创建一个白名单,但我不确定brakeman在寻找什么。
我很好奇这是如何工作的。例如,如果我创建一个基于工厂模式的类,您可以在其中“注册”类供以后使用,然后执行类似FactoryClass.register('YourClassName',[param,param,...]);FactoryClass.create('your_class_name').call_method_from_this_object其中'class_name'是映射到值的散列中的键:ClassName有没有类似phpreflection的东西,我可以在哪里创建基于字符串名称的类的实例并传入参数?(在php中,参数将是它们的数组,php然后知道如何处理)所以如果我们
运行有问题或需要源码请点赞关注收藏后评论区留言一、利用ContentResolver读写联系人在实际开发中,普通App很少会开放数据接口给其他应用访问。内容组件能够派上用场的情况往往是App想要访问系统应用的通讯数据,比如查看联系人,短信,通话记录等等,以及对这些通讯数据及逆行增删改查。首先要给AndroidMaifest.xml中添加响应的权限配置 下面是往手机通讯录添加联系人信息的例子效果如下分成三个步骤先查出联系人的基本信息,然后查询联系人号码,再查询联系人邮箱代码 ContactAddActivity类packagecom.example.chapter07;importandroid
1.前言 在10.0的系统rom定制化开发中,在系统中有多个launcher的时候,会在开机进入launcher的时候弹窗launcher列表,让用户选择进入哪个launcher,这样显得特别的不方便所以产品开发中,要求用RoleManager的相关api来设置默认Launcher,但是在设置完默认Launcher以后,在安装一款Launcher的时候,默认Launcher就会失效,在系统设置的默认应用中Launcher选项就为空,点击home键的时候会弹出默认Launcher列表,让选择进入哪个默认Launcher.所以需要从安装Launcher的流程来分析相关的设置。来解决问题设置默认La
Ai-Bot基于流行的Node.js和JavaScript语言的一款新自动化框架,支持Windows和Android自动化。1、Windowsxpath元素定位算法支持支持Windows应用、.NET、WPF、Qt、Java和Electron客户端程序和ie、edgechrome浏览器2、Android支持原生APP和H5界面,元素定位速度是appium十倍,无线远程自动化操作多台安卓设备3、基于opencv图色算法,支持找图和多点找色,1080*2340全分辨率找图50MS以内4、内置免费OCR人工智能技术,无限制获取图片文字和找字功能。5、框架协议开源,除官方node.jsSDK外,用户可
前一段时间由于工作需要把可爱的小雪狐舍弃了,找到了小蜜蜂。但是新版本的小蜜蜂出现了很多和旧版本不一样的位置。1.功能位置迁移,原来在工程build.gradle的buildscript和allprojects移动至setting.gradle并改名为pluginManagement和dependencyResolutionManagement。里面的东西依旧可以按照原来的copy过来。pluginManagement{repositories{gradlePluginPortal()google()mavenCentral()}}dependencyResolutionManagement{r
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我几乎用完了Ruby,但现在想试试Ruboto,android上的ruby。谷歌未能给我足够的(几乎没有结果)。所以任何人都可以分享一些关于Ruboto的教程。
Aproblemoccurredconfiguringrootproject'MyApplication2'.>Couldnotresolveallfilesforconfiguration':classpath'. >Couldnotresolvecom.android.tools.build:gradle:7.4.2. Requiredby: project:>com.android.application:com.android.application.gradle.plugin:7.4.2 project:>com.android.library:com.andr