连接并缩小cordova / phonegap插件文件

我正在构build一个Cordova 3.5.0应用程序。 我使用grunt来构build一个缩小的web应用程序,然后使用cordova CLI和cordova挂钩来构build平台特定的包。 我使用了超过10个不同的插件,一些cordova官方和一些自定义。 我想知道如何连接和缩小与我的其他第三方库插件的JS文件。 执行cordova prepare我看到一个生成的cordova_plugins.js文件,其中包含以下内容: cordova.define('cordova/plugin_list', function(require, exports, module) { module.exports = [ { "file": "plugins/org.apache.cordova.globalization/www/GlobalizationError.js", "id": "org.apache.cordova.globalization.GlobalizationError", "clobbers": [ "window.GlobalizationError" ] }, { "file": "plugins/org.apache.cordova.globalization/www/globalization.js", "id": "org.apache.cordova.globalization.globalization", "clobbers": [ "navigator.globalization" ] } ]; module.exports.metadata = // TOP OF METADATA { "org.apache.cordova.globalization": "0.3.1" } // BOTTOM OF METADATA }); 我知道如何使用这些插件来缩小和生成单个文件,但不知道如何调整cordova构build过程,以便从单个文件中获取所有的clobbers,但不同的包。 我首先想到的是,所有的过程都必须在AFTER_PREPARE步骤中完成,在platforms/<platform>/assets/www文件夹

冲突关于paddingStart使用情况的lint消息

在API 17 / RTL支持发布后,我在清单中添加了以下内容 android:supportsRtl="true" 这导致林特正确地给我这些警告,无论我paddingLeft /右在我的看法: 考虑添加android:paddingStart =“8dp”以更好地支持从右到左的布局 考虑添加android:paddingEnd =“8dp”以更好地支持从右到左的布局 我遵循这个android-developers blogpost中的指导,这意味着我们不需要创build一个新的layout-v17文件,而是可以同时使用paddingStart / End和paddingLeft / Right属性(左/右需要继续支持更低的minSdk)。 我刚刚从以前的Beta版本更新到Android Studio 1.0,并且注意到一个新的lint错误,它指出: 此处引用的属性paddingStart可能会导致API 17以前的某些特定设备(当前最小为7)崩溃, build议的修复方法是: 覆盖layout-v17中的资源 这是有道理的。 但是,创buildlayout-v17并从主布局文件夹中删除未使用的paddingStart / End后,原来的Lint警告再次出现,说我应该使用paddingStart / End。 它似乎不明白,我已经覆盖layout-v17中的文件。 有谁知道如何解决似乎是冲突林特错误/警告消息? 我知道我可以只是tools:ignore警告,但我希望有一个“适当”的解决scheme。 编辑(1/19/15):有一个android问题 ,我想象导致新的lint错误被添加到Android Studio。 这表明,“某些特定设备上的崩溃”是指API16上的less数三星平板电脑,其中paddingStart具有自己的定义,并在尝试parsing“8dp”时崩溃。 上述链接中的一些人build议使用layout-ldrtl文件夹来处理rtl方向,而不是使用paddingStart和paddingEnd。 我也有其他地方的build议,只要你发现用户有一个API16平板电脑,就可以覆盖LayoutInflator的Factory2,然后手动设置所有视图的属性。 这肯定会起作用,但看起来非常“手动”。 我不幸的是没有访问这些崩溃的设备之一,所以我无法validation为什么我没有find任何人在网上build议简单地把paddingStart放在/ layout-v17 /文件夹和paddingLeft in / layout /? 尽pipepaddingStart只在layout-v17中出现,那么API16三星平板电脑还是会继续崩溃吗?

scikit的GridSearch和Python通常不会释放内存

我做了一些奇怪的观察,发现我的GridSearches在几个小时后仍然失败,我最初不知道为什么。 我随着时间的推移对内存使用情况进行了监控,并看到它以几千兆字节(〜6 Gb)开始并持续增长,直到达到最大值时才崩溃。 128 GB的硬件可以采取。 我正在试验随机森林分类大量的文本文件。 为了简单起见 – 弄清楚发生了什么 – 我回到了朴素的贝叶斯。 我正在使用的版本是 Python 3.4.2 scikit-learn 0.15.2 我在GitHub的scikit-issue列表上发现了一些关于这个主题的讨论: https : //github.com/scikit-learn/scikit-learn/issues/565和https://github.com/scikit-learn/scikit -learn /拉/ 770 这听起来像是已经成功解决了! 所以,我正在使用的相关代码是 grid_search = GridSearchCV(pipeline, parameters, n_jobs=1, # cv=5, scoring='roc_auc', verbose=2, pre_dispatch='2*n_jobs', refit=False) # tried both True and False grid_search.fit(X_train, y_train) print('Best score: {0}'.format(grid_search.best_score_)) print('Best parameters set:') 出于好奇,我后来决定通过嵌套for循环来实现网格search的快速和肮脏的方式 for p1 in parameterset1: […]

错误“ValueError:无法在一台PC上格式化date”,在其他PC上运行

我有一个Python脚本,在我的开发电脑上工作得很好。 两者都是具有相同Python版本(2.7.9)的Windows 7。 但是在目标机器上,我得到了一个 ValueError:无法格式化date 该错误似乎来自pywin32模块。 该代码使用由pywin32调用的第三方库: raw = win32com.client.Dispatch("MyLib.MyClass") 然后再失败: acq_time = raw.GetCreationDate() 现在我迷失了为什么这是在我的电脑上,而不是在目标机器上。 两者都有Windows 7的“企业安装”,例如,相同的区域和date时间设置。 有什么问题? 我该如何解决它? 编辑: 看评论。 原因可能是使用了C ++运行时。 我还在调查。 我现在怀疑在pywin32的安装时间里哪个运行时间是重要的。 为什么? 因为我的开发PC上的DependenyWalker说pywin依赖于我的Lotus Notes安装中的MSVCR90.DLL 。 这告诉我,它肯定不是“硬”的联系。 更新30.06.2015: 我错了…现在的问题也发生在我的电脑上。 一些更多的信息。 脚本读取数据文件并将读取的元数据插入到数据库中。 只有旧的文件似乎受到错误的影响,而不是新的(我现在认为这是假设是错误的)。 所以这个想法是到我的开发PC上的初始加载,然后希望这个问题将永远不会再出现新的文件。 如果PC是脚本将运行,它读取的文件在Windows共享驱动器(映射networking驱动器)上。 我没有访问该驱动器,所以我只是将文件复制到我的电脑。 现在要做初始加载,我请求访问上述networking驱动器和BOOM。 这也不能从我的开发工作。 机器从共享驱动器读取时。 这个问题并不总是发生在同一个文件中。 我现在认为它与一个特定的文件无关。 我也在64位的Python 64位电脑上试过。 那里花了更长的时间,直到发生错误。 事实上,一个文件被成功读取,在我的电脑上失败。 我现在认为这是一种记忆问题? 我相信它总是在date行失败,因为所有其他行只是返回null或一个空的string,这不会导致任何问题,完全可能这样的值可以为null。 但是对于这个date,这是一个问题,它不应该是空的,然后错误抛出。 更新编辑: 在我的电脑上,它总是在同一个文件上失败。 单独加载这个文件的效果非常好。 我现在认为这是一种计数器/数字溢出,读取n个文件后,会出现问题。 它与每次运行脚本时加载的文件数量有关,而不是文件本身。 […]

使用ngCordova的animation方向箭头“aroundMe”风格

我希望创build与AroundMe移动应用程序中所看到的完全相同的指南针/箭头,以便根据我的移动位置恰当地指向地图上的某个图钉,并在移动手机时更新箭头。 我疯了,才明白如何做到这一点,我找不到任何指导或教程解释一点。 我在网上find的是一个轴承function,我创build了一个指令: app.directive('arrow', function () { function bearing(lat1, lng1, lat2, lng2) { var dLon = (lng2 – lng1); var y = Math.sin(dLon) * Math.cos(lat2); var x = Math.cos(lat1) * Math.sin(lat2) – Math.sin(lat1) * Math.cos(lat2) * Math.cos(dLon); var rad = Math.atan2(y, x); var brng = toDeg(rad); return (brng + 360) % 360; } function toRad(deg) […]

将project.json包引用添加到VSIX

当试图添加对VSIX的引用时,它通常将其从.csproj中的引用中拉出。 但是,如果引用不在.csproj中,因为它们现在位于project.json文件中,那么它们不会被拉到vsix。 解决scheme然后可以编译,但是当安装到Visual Studio中(因为不复制到VSIX的程序集),扩展失败,出现“文件未find”错误。 我尝试了清单的部分,如下所示: <Asset Type="Microsoft.VisualStudio.Assembly" d:Source="Project" d:ProjectName="*PROJECTNAME*" Path="|*ASSEMBLYNAME*|" AssemblyName="|*ASSEMBLYNAME*;AssemblyName|" /> 但它不起作用,因为它不能识别软件包引用。 经过一番研究,我看到了一个与PCL类似的问题,但是,没有一个答案,也没有相同types的问题: 使用Microsoft组合MEF的可移植类库MEF2抛出文件没有findexception 在同样的说明中,这似乎是一个可以接受的解决方法:但是,就我所知,这意味着在安装过程中使用该软件包。 除此之外,它不适用于我们的情况,因为他们需要指定包版本,我们正在使用project.json,所以我们可以使用浮动版本(即:2.0。*) 有没有办法引用我们失踪的这个project.json引用? 也许是一个解决方法? 我发现的解决scheme似乎都需要在某处“粘贴”de DLL,这对于浮动版本来说并不方便。 提前感谢任何帮助或input。 编辑/更新 :由于VSIX自动推送在CSPROJ(而不是项目本身)中引用的任何程序集,试图获得在项目级别的DLL似乎不太可能。 经过多次尝试,我认为有效的解决方法是从输出文件夹中获取程序集。 然而,据我所知,VSIX没有办法做到这一点,或者呢?

AutoReconnectexception“主已改变”

在这里理解正确的方法有些麻烦。 我有一个与三个成员(标准的主从奴隶)mongodb副本集的连接。 当主人保持一致时,一切工作正常。 pymongo.Connection(['host1:27017','host2:27018','host3:27019']).database_test 出于某种原因,当副本设置主要步骤closures时,这会开始抛出一个autoreconnectexception, 即使在select了新的主节点后也不会消失。 现在我意识到,这个例外需要被抓住和处理,很可能等待新的小学被选举。 我所遇到的问题似乎是,一旦select了新的小学,它根本就不在乎。 这个“主人已经改变”的例外不断涌现。 用__dict__打印连接显示所有三个主机。 我试过把replicaset kwarg传递给连接,但是这是一个意外的论点。 这种联系是不是有理由不开始质疑新的小学呢? 编辑: 显然现在在部署服务器上也出现了同样的问题。 如果主服务器发生更改,autoreconnectexception将被抛出,即使在select了新的主服务器之后也不会消失。 Pymongo是2.2版本和mongodb版本2.0.2。 改变在pymongo代码(mongouri与主机列表)中定义连接的方式不起作用。 恢复服务的唯一方法是rs.stepDown()其他主机,直到原始主服务器再次成为主服务器。

Android ICS上的WebView,android_assets的iframe问题

我的应用程序引擎在WebView中运行。 它跨越不同的IFRAMES。 主应用程序html和iframes html都在android_assets上。 在Android 3.x没有问题。 在Chrome浏览器上也是如此 如果我创build一个IFRAME(createElement – > appendChild),则创buildiframe。 当我加载它的东西(iframe.src =“url”<> iframe.contentWindow.location.href =“url”)…它取代主要应用程序! (而不是加载到iframe) 已经尝试: window.setTimeout延迟加载…失败。 在webview中,将X-Frame-Options = SAME_ORIGIN作为标题插入任何加载的页面 – >失败 创buildiframe,设置sandbox = same_origin,allow_scripts – >失败 任何有类似问题的人? 或者有人可以帮我find有关WebView ICS错误vs蜂窝的文档? 还发现了很多其他奇怪的问题…是ICS真的这个越野车? :S:S

pipe理帮手死亡

我已经安装了Pymacs,rope,ropemode,ropemacs,当我意外地执行pymacs-terminate-services时,我无法保存修改后的缓冲区。 它首先问我 – The Pymacs helper died. Restart it? (yes or no) The Pymacs helper died. Restart it? (yes or no) The Pymacs helper died. Restart it? (yes or no) 。 如果我回答“是”,它会抛出 – Debugger entered–Lisp error: (error "There is no Pymacs helper!") 。 如果我回答“不”,它会抛出: Debugger entered–Lisp error: (error "Python: Traceback (most recent call last): File […]

Android> 4.0:想法如何logging/捕获内部audio(例如STREAM_MUSIC)?

几个月前,我用Android ICS(4.0)开发了一个android内核模块,它拦截了“pcmC0D0p”模块来获取所有的系统audio。 我的目标是通过AirPlay将所有audio(或至less播放的音乐)stream式传输到远程扬声器。 内核模块工作,但有几个问题(内核版本,根特权等),所以我停止了这个工作。 现在,我们有Android 4.1和4.2,我有了新的希望! 谁有一个想法如何捕捉在Android的audio? 我有以下想法: 通过蓝牙连接到相同的手机,设置路由到BT,并抓住“另一端”的audio:这不应该工作 拦截与之前做的内核模块的audio:硬核,得到它的工作,但不适用 杰克audio连接套件 :可悲的Android使用“tinyALSA”,而不是“ALSA”。 TinyALSA不支持像JACK这样的filter(但是这带来了内核模块的想法) 使用PulseAudio作为AudioFlinger的替代品,但这也不适用 编辑(忘记他们): 我从tinyALSA (Android上的ALSA)编译了“tinymix”(ALSA混音器的婴儿版本),并尝试将audio输出路由到麦克风input,但没有成功( 对我来说是不可理解的 )。 这也需要生根:不适用 我testing了OpenSL ES ,但是我不是C-crack,它以“我可以录制麦克风,但是没有更多”结束(也许我错了?) 我刚刚findROUTE_TYPE_LIVE_AUDIO : 支持实时audio路由的设备将允许媒体audiostream路由到支持的目的地。 这可以包括设备本身的内置扬声器或audio插孔,A2DP设备等等。 启动后,此路由对应用程序是透明的。 媒体stream上播放的所有audio将被路由到选定的目的地。 也许这有助于任何方面? 我正在用尽想法,但想“破解这个坚果”,也许有人可以帮助我? 编辑: 我在C和内核编码方面真的很新颖(但是我成功地创build了一个交叉编译的audio拦截模块),但是不能以任何方式监听PCM数据从用户空间(JAVA ,C层?)到内核空间(tinyALSA,内核模块),而不是黑客和生根?