我知道,使用Gradle命令assembleAndroidTest
我可以构建一个测试APK.但我可以使用此测试APK仅用于我的应用程序的调试版本,对吧?如果我在发布版本中使用它,我会收到类似的错误消息"[SDR.handleImages] Unable to find test for com.xxx.xxx (packagename)"
如何使用Gradle在发布模式下构建测试APK?
我有一个Jenkins工作,在那里我生成一个HTML-Page作为post buildstep,包含一个图像链接(HTML img标签).HTML页面由每个作业的HTMLPublisher插件发布.
这一直很有效.但是,由于我已将Jenkins更新为1.643版本,因此当我单击已发布的HTML页面时,我只看到一个空白页面.
我已经尝试了很多东西并发现了以下奇怪的行为:自更新以来,我无法将外部链接嵌入到我发布的HTML页面中.如果我从外部位置嵌入图像(img src ="somelocation/xxx.jpg),则不会显示图像.
如果我用Firefox检查HTML页面,我可以看到图像标记是灰色的,就像它不可见,但事实并非如此.
如果我嵌入了一个指向外部位置的普通超链接,我可以看到显示页面中的链接,但是当我点击它时,没有任何反应.
就像Jenkins在这种情况下不允许外部链接一样.
请帮帮我:)
谢谢!
编辑:
感谢Dave Bacher,他给了我正确的提示.查看此页面以查看Jenkins的新安全策略.
您必须放宽规则,以便再次允许嵌入外部图像.
要进行测试,只需在脚本控制台中键入以下内容:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox; img-src *;")
Run Code Online (Sandbox Code Playgroud)
这将允许从任何外部网站嵌入图像.
如果您在Ubuntu上运行Jenkins并且想要永久设置它,只需编辑文件/ etc/default/jenkins.在传递给java的#参数下添加以下行:
JAVA_ARGS="-Dhudson.model.DirectoryBrowserSupport.CSP=\"sandbox; img-src *;\""
Run Code Online (Sandbox Code Playgroud) 我们正在开发一款Android应用程序,它可以通过Bluetooth Low Energy同时连接多个心率传感器.
我们有一个很好的实现,所以代码不是问题.令我们发疯的是平行BLE连接的限制,这似乎与设备不同.
我们这里有一些测试设备:摩托罗拉MotoE和MotoG,三星Galaxy Tab A和HTC Nexus 9.所有这些都运行Android 5或6,原始供应商版本.它们都不能同时连接到7个以上的BLE HR传感器.
然后我测试了我的私人三星Galaxy S4,它已经安装了Cyanogen CM12.使用此设备,我可以轻松连接到12个HR传感器,这是我们想要通过我们的应用程序实现的数字.
我已经使用我们自己的应用程序实现和Nordic Semiconductor nRF主控制面板测试了这一点,我认为这是一个非常好的通用BLE应用程序:https://play.google.com/store/apps/details? id = no . nordicsemi.android.mcp&HL =德
当我尝试将应用程序连接到任何设备上的第7个BLE传感器时,ADB输出会输出以下错误消息:E/BluetoothLeBasicConn:连接状态更改错误:133
关于整个问题我做了一些非常密集的谷歌搜索,但我发现的大部分结果都很老了.有人说,限制来自蓝牙芯片组本身,其他人表示这是通过Android的软件限制.
你能帮我找出限制来自何处?
如果是芯片组,那么我想知道,我们应该使用哪些设备来支持尽可能多的并行连接.遗憾的是,很难找出不同设备中内置的蓝牙芯片组.几乎没有我发现的任何硬件规格说明了这一点.
如果限制来自软件方面,我们可以在不使用手机或安装改装操作系统的情况下以某种方式更改它吗?
非常感谢你!
在Jenkins中,我一直使用该选项从Gradle.org服务器自动安装Gradle(管理Jenkins - >配置系统 - > Gradle安装.
现在我在Ubuntu 14系统上安装了一个新的Jenkins安装.我安装了Gradle插件,但现在,当我在Gradle配置中选择"自动安装"时,我无法选择应下载的Gradle版本.通常你会得到一个包含所有可用Gradle版本的选择框,但在我的情况下,我只在"从Gradle.org安装"下获得一个空文本字段.