When I want to upload an Android application to the Play Store, which one should I use?
I have tried the above but I am still confused about which one is the most effective?
./gradlew assembleRelease
./gradlew installRelease
./gradlew bundleRelease
Run Code Online (Sandbox Code Playgroud)
I expect the best way to do the above.
应用程序脚本 Web 应用程序在<iframe>. Chrome 似乎不再支持alert(), confirm(), 在 web app 上推广这些功能。
有什么解决方法吗?
试图替换alert()用window.alert(),但仍然无法正常工作。
exec:1 一个不同的源子框架试图创建一个 JavaScript 对话框。这不再被允许并被阻止。有关更多详细信息,请参阅https://www.chromestatus.com/feature/5148698084376576。
考虑一个简单的mongo文档结构:
{_ id,firstTime,lastTime}
客户端需要插入具有已知ID的文档,或更新现有文档.'lastTime'应始终设置为某个最新时间.对于'firstTime',如果正在插入文档,则应将'firstTime'设置为当前时间.但是,如果已创建文档,则"firstTime"保持不变.我想纯粹用upserts(以避免仰视)来做.
我已经抓取了http://www.mongodb.org/display/DOCS/Updating,但我不知道如何完成特定的操作.
我不相信这是不合理的,有$ push和$ addToSet操作可以在数组字段上有效地执行此操作,只是在简单字段上没有任何相同的操作.这就像应该有$ setIf操作.
我们已经开始在Java EE应用程序中遇到一些严重问题.具体来说,应用程序在启动后几分钟内运行高达99%的旧代堆.没有抛出任何OOM,但有效的是JVM没有响应.jstat显示老一代的大小根本没有减少,没有垃圾收集,kill -3说:
Heap
PSYoungGen total 682688K, used 506415K [0xc1840000, 0xf3840000, 0xf3840000)
eden space 546176K, 92% used [0xc1840000,0xe06cd020,0xe2da0000)
from space 136512K, 0% used [0xe2da0000,0xe2da0000,0xeb2f0000)
to space 136512K, 0% used [0xeb2f0000,0xeb2f0000,0xf3840000)
PSOldGen total 1536000K, used 1535999K [0x63c40000, 0xc1840000, 0xc1840000)
object space 1536000K, 99% used [0x63c40000,0xc183fff8,0xc1840000)
Run Code Online (Sandbox Code Playgroud)
VM选项包括:
-Xmx2300m -Xms2300m -XX:NewSize=800m -XX:MaxNewSize=800m -XX:SurvivorRatio=4 -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+UseParallelGC -XX:ParallelGCThreads=4
Run Code Online (Sandbox Code Playgroud)
(我改为拥有2300m堆/ 1800m新发,试图解决问题)
一旦JVM达到"内存不足"状态(永远占用),我就接受了JVM的堆转储,并在其上运行Eclipse Memory Analyzer.
结果很有趣.各种对象占用大约200Mb(有一些比其他对象更多),但其余的,1.9Gb都无法访问(可能值得注意的是,大多数被GSON对象占用,但我认为不是任何事物的指示,只表示我们在服务器运行期间通过大量的GSON对象流失).
有关为什么VM有这么多无法访问的对象的任何解释,并且根本无法收集它们?
JVM:
$ /0/bin/java -version
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) Server VM (build 20.12-b01, …Run Code Online (Sandbox Code Playgroud) 我在从另一个Android应用程序(API 17)启动服务时遇到问题.但是,如果我从shell运行'am',服务就会正常运行.
# am startservice com.xxx.yyy/.SyncService
Starting service: Intent { act=android.intent.action.MAIN cat=
[android.intent.category.LAUNCHER] cmp=com.xxx.yyy/.SyncService }
(service starts fine at this point)
# am to-intent-uri com.xxx.yyy/.SyncService
intent:#Intent;action=android.intent.action.MAIN;
category=android.intent.category.LAUNCHER;
component=com.xxx.yyy/.SyncService;end
Run Code Online (Sandbox Code Playgroud)
所以,当我在代码中执行相同操作时,看起来我并没有遗漏任何意图:
Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setComponent(new ComponentName("com.xxx.yyy", ".SyncService"));
ComponentName c = ctx.startService(i);
if (c == null) { Log.e(TAG, "failed to start with "+i); }
Run Code Online (Sandbox Code Playgroud)
我得到的是(该服务当时没有运行):
E/tag( 4026): failed to start with Intent {
act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER]
cmp=com.xxx.yyy/.SyncService }
Run Code Online (Sandbox Code Playgroud)
我没有关于服务的意图过滤器,我不想设置一个,我真的想要了解我做错了什么,通过它的组件名称启动它,或者什么可能使它不可能这样做.
是否有一种理智的方式从列表中获取有序流(具体来说,数组列表,但它应该无关紧要)流式元素与它们在原始列表中的方式相反?
我正在寻找一种不涉及缓冲数据的解决方案(收集器,另一个列表,数组等,因为它们复制了浪费的容器),或者使用Collections.reverse(因为它修改了列表).
到目前为止,我在这里看到的最干净的方法之一是实现我自己的版本的Spliterator这ORDERED和在列表中反向前进,或实施Iterator反向迭代是,并使用Spliterators.spliteratorUnknownSize(iterator,ORDERED)它.
注意这个问题不同于Java 8流逆序:其他问题询问如何反转流(一般情况下这是不可能的),并且答案提供了以某种方式反转源(我不想这样做),然后传输反向源.逆转源的成本是O(N),如果可能的话我想完全避免它.
我正在尝试使用UNIX套接字进行线程间通信.该程序仅适用于在Linux上运行.为了避免创建套接字文件,我想使用"抽象"套接字,如unix(7)中所述.
但是,我似乎无法连接到这些套接字.但是,如果我使用"pathname"套接字,一切都会正常工作.
这是代码(我没有引用任何错误处理,但它已经完成):线程#1:
int log_socket = socket(AF_LOCAL, SOCK_STREAM, 0);
struct sockaddr_un logaddr;
socklen_t sun_len = sizeof(struct sockaddr_un);
logaddr.sun_family = AF_UNIX;
logaddr.sun_path[0] = 0;
strcpy(logaddr.sun_path+1, "futurama");
bind(log_socket, &logaddr, sun_len);
listen(log_socket, 5);
accept(log_socket, &logaddr, &sun_len);
... // send - receive
Run Code Online (Sandbox Code Playgroud)
线#2:
struct sockaddr_un tolog;
int sock = socket(AF_LOCAL, SOCK_STREAM, 0);
tolog.sun_family = AF_UNIX;
tolog.sun_path[0] = 0;
strcpy(tolog.sun_path+1, "futurama");
connect(sock, (struct sockaddr*)&tolog, sizeof(struct sockaddr_un));
Run Code Online (Sandbox Code Playgroud)
如果我在上面的代码中所做的只是将sun_path更改为没有前导\ 0,那么事情就完美了.
strace输出:
t1: socket(PF_FILE, SOCK_STREAM, 0) = 0
t1: bind(0, {sa_family=AF_FILE, path=@"futurama"}, 110)
t1: listen(0, 5)
t2: socket(PF_FILE, …Run Code Online (Sandbox Code Playgroud) 我有一个私有 Maven 存储库。它在项目的pom.xml中定义
<repository>
<id>some.id</id>
<url>https://some.host/artifactory/some.id</url>
</repository>
Run Code Online (Sandbox Code Playgroud)
在我的中~/.m2/settings.xml,我有正确的身份验证块:
<server>
<id>some.id</id>
<username>pawel.veselov@domain.com</username>
<password>{some-fancy-password-hash-goes-here}</password>
</server>
Run Code Online (Sandbox Code Playgroud)
构建项目时,Maven 能够毫无问题地访问存储库,正如它应该的那样。在调试输出中,我可以看到它应用了凭据。
但是当我尝试直接下载工件时,Maven 似乎根本没有考虑设置文件。
mvn org.apache.maven.plugins:maven-dependency-plugin:3.1.1:get \
-DremoteRepositories=some.id::::https://some.host/artifactory/some.id \
-Dartifact=groupId:artifactId:1.1.1
Run Code Online (Sandbox Code Playgroud)
不传输用户名。我可以在调试输出中看到,调用时BasicRepositoryConnector没有用户名/密码组合。
所以问题是 - 是否可以调用一个插件,以便执行任何使 Maven 考虑使用其设置文件中声明的身份验证的过程?
我刚刚写的
fun main() {
println("Hello World")
}
Run Code Online (Sandbox Code Playgroud)
但是Project\src\HelloWorld.kt
,我遇到了这个错误:java.lang.NoClassDefFoundError。我想知道为什么它不起作用,因为我看到相同的打印代码运行。
我该如何解决这个错误?以下是错误内容。
Kotlin: [Internal Error] java.lang.NoClassDefFoundError: Could not initialize class com.intellij.pom.java.LanguageLevel
at com.intellij.core.CoreLanguageLevelProjectExtension.<init>(CoreLanguageLevelProjectExtension.java:26)
at com.intellij.core.JavaCoreProjectEnvironment.<init>(JavaCoreProjectEnvironment.java:42)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreProjectEnvironment.<init>(KotlinCoreProjectEnvironment.kt:26)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$ProjectEnvironment.<init>(KotlinCoreEnvironment.kt:121)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:425)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.createCoreEnvironment(K2JVMCompiler.kt:226)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:152)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:88)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:44)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:98)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1500)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:567)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:691)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
at …Run Code Online (Sandbox Code Playgroud) 查看RFC 7515和RFC 7516,我试图了解 JWE 的正确 mime 类型应该是什么。看起来 JWE 和 JWS 共享 JOSE 标头信息,并且 JWS 将其 mime 类型定义为application/jose. JWE 没有明确的媒体类型信息。但由于名称是“jose”并且都使用 JOSE 标头,我假设两者应该使用相同的 mime 类型(也因为 JOSE 代表...签名和加密)。
在这种情况下,如何区分签名和/或加密的消息?按财产价值alg?或者通过财产的存在/价值enc?
总结一下:
java ×4
android ×2
kotlin ×2
alert ×1
confirm ×1
java-8 ×1
java-stream ×1
javascript ×1
json ×1
jvm ×1
jwe ×1
linux ×1
maven ×1
mime-types ×1
mongodb ×1
prompt ×1
react-native ×1
rfc ×1
unix-socket ×1