我正在为企业客户构建一个Android应用程序,该应用程序将在内部使用(而不是出售).虽然我们有额外的auth措施,但我宁愿不在市场上部署应用程序.
我只是想知道是否有人曾经做过这类事情,并提出了建议.
另外,如果我们要上传APK,我们如何处理我们软件的更新?据我了解,如果使用Marketplace,Android市场会处理更新通知.我们是否必须编写自己的服务来监控更新?
我有一个带有Java源代码和Scala测试源的Maven项目.我Jacoco在verify舞台上使用代码覆盖.当我尝试在验证阶段通过添加执行或运行来运行声纳目标时mvn verify sonar:sonar,我最终将Sonar添加两次测试目录:
[INFO] [11:15:34.756] Test directories:
[INFO] [11:15:34.756] /Users/xxx/Documents/workspace/misc/xxx/src/test/scala
[INFO] [11:15:34.756] /Users/xxx/Documents/workspace/misc/xxx/src/test/scala/../scala
Run Code Online (Sandbox Code Playgroud)
这导致分析失败,出现以下错误:
Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.1:sonar (default-cli) on project kv-mapper: Can not execute SonarQube analysis: Unable to read and import the source file : '/Users/xxxx/Documents/workspace/misc/xxx/src/test/scala/../scala/xxx/xxxxx/xxx/xxx/xxxxx/xxxxxx.java' with the charset : 'UTF-8'. Duplicate source for resource
Run Code Online (Sandbox Code Playgroud)
我的pom.xml(对于Sonar)看起来像这样.
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>${sonar.plugin.version}</version>
<!-- no default executions -->
<configuration>
<sonar.core.codeCoveragePlugin>jacoco</sonar.core.codeCoveragePlugin>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
<sonar.language>java</sonar.language>
<sonar.jacoco.itReportPath>
${basedir}/target/jacoco.exec
</sonar.jacoco.itReportPath>
<sonar.exclusions>
**/test/*
</sonar.exclusions>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
如何将Sonar配置为:
由于我有一个流Stream<T> stream = list.stream().filter(some predicate) ,其中列表是非常大的,它是更有效的检查流是否是通过做非空:stream.count() > 0或做:stream.findFirst().isPresent()?
我们在Samsung Galaxy Tab上运行Android 2.2上的Android应用程序,将数据写入SQLite DB.
但是,我们发现某些平板电脑出现以下间歇性问题.
卸载并重新安装应用程序或清除应用程序的数据似乎没有任何区别.
当我们出厂重置手机并重复相同的程序时,它工作得很好.这个问题不仅限于给定的一块; 我的开发团队中的所有人都间歇性地遇到过这种情况.
但是,我无法在任何Android手机上重现问题(我试过HTC Desire,HTC Desire HD和三星Galaxy S,都运行Android 2.2),或者在模拟器上运行(运行Galaxy选项卡添加) -上).
我怀疑这可能与三星在攻击Android 2.2时引入的错误有关.我想知道是否还有其他人遇到过这个问题,如果是这样的话,你们有没有比工厂重置平板电脑更加严厉的措施呢?
谢谢,
Siddhu
我必须编写一个函数,按顺序执行以下操作来读取变量的值:
我已经设法使用此if条件在我的Puppet脚本中执行此操作.
# foo is read from (in order of preference): facter fact, hiera hash, hard coded value
if $::foo == undef {
$foo = hiera('foo', 'default_value')
} else {
$foo = $::foo
}
Run Code Online (Sandbox Code Playgroud)
但是我想避免重复这个,如果我希望以这种方式解析的每个变量的条件,因此想到写一个格式的新Puppet函数get_args('foo', 'default_value'),它将返回我的值
default_value.我知道我可以用来lookupvar从ruby函数中读取一个因素.如何从我的Puppet ruby函数中读取hiera变量?
我的Spring应用程序运行在NAT防火墙(pfSense)后面的机器上.机器的内部IP是a.b.c.d,NAT IP是w.x.y.z
Spring配置的serviceUrl设置为a.b.c.d端口上的内部IP()1100,当我启动应用程序时,我提供以下开关:
-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=w.x.y.z -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)
如上所示,我进行了设置-Djava.rmi.server.hostname=w.x.y.z,以便可以通过NAT连接到应用程序.我还打开了机器防火墙上的相关端口,并设置了一个从w.x.y.z:1100前往的端口a.b.c.d:1100
当我尝试使用jconsole从网络外部连接到应用程序时w.x.y.z:1100,我得到了一个java.io.IOException: jmxrmi
java.io.IOException: jmxrmi
at sun.tools.jconsole.ProxyClient.checkSslConfig(ProxyClient.java:236)
at sun.tools.jconsole.ProxyClient.<init>(ProxyClient.java:127)
at sun.tools.jconsole.ProxyClient.getProxyClient(ProxyClient.java:483)
at sun.tools.jconsole.JConsole$3.run(JConsole.java:524)
Caused by: java.rmi.NotBoundException: jmxrmi
at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:136)
at sun.rmi.registry.RegistryImpl_Skel.dispatch(Unknown Source)
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:409)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:267)
at sun.rmi.transport.Transport$1.run(Transport.java:177)
at sun.rmi.transport.Transport$1.run(Transport.java:174)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:173)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275)
at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:378)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source) …Run Code Online (Sandbox Code Playgroud)