小编avi*_*ney的帖子

在Docker命令行中转义字符

我有一个docker镜像,我想在其中运行以下命令:

  1. echo "1" > /tmp/service.cfg
  2. /bin/bash

如何对此命令进行分组和转义以在docker容器中运行它:

docker run -i -t debian/latest echo "1" > /tmp/service.cfg && /bin/bash
Run Code Online (Sandbox Code Playgroud)

上面的命令不起作用,因为它不首先在所需的文件中回显,然后给我一个shell的手...

docker

12
推荐指数
1
解决办法
1万
查看次数

Facebook Audience Network 原生崩溃与 Android 10

我使用最新版本的 Audience Network 和几乎所有运行 Android 10 的 Pixel 手机都发生了崩溃。这是跟踪:

backtrace:
  #00  pc 000000000008246c  /apex/com.android.runtime/lib64/bionic/libc.so (abort+160)
  #01  pc 00000000004ba0c4  /apex/com.android.runtime/lib64/libart.so (art::Runtime::Abort(char const*)+2176)
  #02  pc 000000000000c634  /system/lib64/libbase.so (android::base::LogMessage::~LogMessage()+604)
  #03  pc 00000000003781f0  /apex/com.android.runtime/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1608)
  #04  pc 00000000003784a0  /apex/com.android.runtime/lib64/libart.so (art::JavaVMExt::JniAbortF(char const*, char const*, ...)+180)
  #05  pc 00000000004ffc84  /apex/com.android.runtime/lib64/libart.so (art::Thread::DecodeJObject(_jobject*) const+780)
  #06  pc 00000000003c6228  /apex/com.android.runtime/lib64/libart.so (art::JNI::GetArrayLength(_JNIEnv*, _jarray*)+580)
  #07  pc 0000000000038d10  /apex/com.android.conscrypt/lib64/libjavacrypto.so (evpUpdate(_JNIEnv*, _jobject*, _jbyteArray*, int, int, char const*, int (*)(env_md_ctx_st*, void const*, unsigned long))+308)
  #08  pc 000000000013f350  /apex/com.android.runtime/lib64/libart.so (art_quick_generic_jni_trampoline+144)
  #09  pc 00000000020007b4 …
Run Code Online (Sandbox Code Playgroud)

crash android facebook-audience-network

12
推荐指数
1
解决办法
2408
查看次数

使用Cookie持久性改造

我们,我正在使用改造,我想知道如何透明地处理会话cookie.为此我扩展了给定的ApacheClient并在自定义调用ApacheClient.execute(HttpClient,HttpUriRequest)中使用CookieStore:

Client client = new ApacheClient() {
    final CookieStore cookieStore = new BasicCookieStore();
    @Override
    protected HttpResponse execute(HttpClient client, HttpUriRequest request) throws IOException {
        // BasicHttpContext is not thread safe 
        // CookieStore is thread safe
        BasicHttpContext httpContext = new BasicHttpContext();
        httpContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);
        return client.execute(request, httpContext);
    }
};

RestAdapter restAdapter = new RestAdapter.Builder()
    .setServer(API_URL)
    .setClient(client)
    .build();
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来使用内置改造API(没有HttpClient扩展)?

java android session-cookies apache-httpclient-4.x retrofit

9
推荐指数
1
解决办法
7424
查看次数

Android Gradle Plugin 4.1.0 自动授予位置权限

在清单中声明位置权限的构建应用程序在安装时使用最新的 AGP 4.1.0 获得默认授予的权限!!!

重现步骤:

  • 在 Android Studio https://github.com/avianey/Android30LocationRational 中结帐和导入
  • 连接在 sdk 29 或 30 下运行的设备或模拟器
  • 从 gradle 任务面板运行 uninstallAll 任务以确保从设备上卸载应用程序
  • 从 gradle 任务面板运行 installRelease 任务
  • 在设备上打开应用程序
  • 默认情况下授予ACCESS_FINE_LOCATIONACCESS_BACKGROUND_LOCATION

预期行为:

  • 安装时未授予权限

笔记:

  • 恢复到类路径 "com.android.tools.build:gradle:4.0.2" 修复问题
  • 使用 compileSdkVersion/targetSdkVersion 29 或 30 没有任何改变
  • 当安装应用程序使用来自 android studio 的默认安装配置时,问题不存在(默认情况下不授予权限)请参阅屏幕截图(红色是 bugguy,绿色不是,并按预期运行)

在此处输入图片说明

结果,在应用程序商店提交审核的捆绑应用程序存在问题,并且没有通过位置权限的合规性测试,合理的是在请求权限之前应该显示一个对话框...在 AGP 更改日志页面上找不到任何线索:https://developer.android.com/studio/releases/gradle-plugin

有什么想法可以避免恢复到旧的构建工具吗?

android gradle android-permissions

9
推荐指数
1
解决办法
260
查看次数

如何从Keycloak openid-connect cert api解码密钥

我正在尝试从Keycloak open-id连接证书端点获取密钥,这允许我验证JWT令牌.用于获取键缝的api工作:

GET http://localhost:8080/auth/realms/my-realm/protocol/openid-connect/certs

{
 "keys": [
   {
     "kid": "MfFp7IWWRkFW3Yvhb1eVrtyQQNYqk6BG-6HZFpl_JxI",
     "kty": "RSA",
     "alg": "RS256",
     "use": "sig",
     "n": "qDWXUhNtfuHNh0lm3o-oTnP5S8ENpzsyi-dGrjSeewxV6GNiKTW5INJ4hDQ7ZWkUFfJJhfhQWJofqgN9rUBQgbRxXuUvEkrzXQiT9AT_8r-2XLMwRV3eV_t-WRIJhVWsm9CHS2gzbqbNP8HFoB_ZaEt2FYegQSoAFC1EXMioarQbFs7wFNEs1sn1di2xAjoy0rFrqf_UcYFNPlUhu7FiyhRrnoctAuQepV3B9_YQpFVoiUqa_p5THcDMaUIFXZmGXNftf1zlepbscaeoCqtiWTZLQHNuYKG4haFuJE4t19YhAZkPiqnatOUJv5ummc6i6CD69Mm9xAzYyMQUEvJuFw",
     "e": "AQAB"
   }
 ]
}
Run Code Online (Sandbox Code Playgroud)

但关键在哪里,如何解码呢? $.keys[0].n看起来不像base64,我无法弄清楚它是什么?...如果有人能告诉我如何从该有效载荷中获取公钥,那就太棒了!

public-key jwt openid-connect keycloak

8
推荐指数
1
解决办法
5889
查看次数

是否有Android构建标记来检查APK和应用的即时应用版本

就像BuildConfig.FLAVOR并且BuildConfig.DEBUG有一个构建标志,以检查在运行时的APK版本或Android应用程序的即时应用程序的版本?

还是有另一种获取信息的方法?

android android-instant-apps

6
推荐指数
1
解决办法
832
查看次数

使用 Maven Plugin 参数值作为另一个参数的默认值

有人知道是否可以将 Maven 插件参数默认值设置为同一 Mojo 的另一个参数的值?

@Parameter(required = true, defaultValue = "1")
private int param1;

// works fine
@Parameter(defaultValue = "${project.basedir}")
private File param2;

// here I want param3 to be default to param1 if not set
// @Parameter(defaultValue = "${param1}") doesn't work
// @Parameter(defaultValue = "${project.param1}") doesn't work
// @Parameter(defaultValue = "1") not what I want
@Parameter
private int param3;
Run Code Online (Sandbox Code Playgroud)

如果插件的配置未提供 param3 的值,我希望 param3 等于 param1 ......这可能吗?

java maven-plugin maven-3 maven

5
推荐指数
1
解决办法
588
查看次数

Gradle 插件扩展和枚举类型

我正在创建一个带有自定义扩展名的 gradle 插件:

project.extensions.create("myExtension", MyExtension.class)
Run Code Online (Sandbox Code Playgroud)

MyExtension 看起来像:

class MyExtension {
  Set<MyEnum> mySet;
  MyEnum myEnum;
}
Run Code Online (Sandbox Code Playgroud)

问题是我无法mySet在 build.gradle 中设置(使用标准 DSL):

myExtension {
    myEnum = 'enumField1'
    mySet = ['enumField1']
}
Run Code Online (Sandbox Code Playgroud)

java.lang.String cannot be cast to MyEnum只为 mySet得到一个,字符串到枚举的转换适用于 myEnum ......所以我想知道枚举类型的集合是否可能?有解决办法吗?

groovy gradle build.gradle

5
推荐指数
1
解决办法
2357
查看次数

在 Gatsby 的 Markdown 帖子中使用绝对路径作为特色图像

我已经按照 Gatsby 教程在 Markdown 帖子和页面中处理图像,该教程运行良好,但我想要实现的是从静态位置获取图像,而不是使用图像的相对路径。

想要参考这样的图像(在 frontmatter 中)

featuredImage: img/IMG_20190621_112048_2.jpg
Run Code Online (Sandbox Code Playgroud)

其中IMG_20190621_112048_2.jpg位于/src/data/img而不是与 markdown 文件相同的目录中 /src/posts

我尝试gatsby-source-filesystem这样设置:

{
  resolve: `gatsby-source-filesystem`,
  options: {
    name: `posts`,
    path: `${__dirname}/src/posts`,
  },
},
{
  resolve: `gatsby-source-filesystem`,
  options: {
    name: `data`,
    path: `${__dirname}/src/data/`,
  },
},
Run Code Online (Sandbox Code Playgroud)

但帖子模板中的 graphQL 查询失败:

export const query = graphql`
  query($slug: String!) {
    markdownRemark(fields: { slug: { eq: $slug } }) {
      html
      frontmatter {
        title
        featuredImage {
          childImageSharp {
            fluid(maxWidth: 800) {
              ...GatsbyImageSharpFluid
            }
          }
        } …
Run Code Online (Sandbox Code Playgroud)

graphql gatsby

5
推荐指数
1
解决办法
2975
查看次数

升级到gms服务后,玩游戏服务无法正常工作8.1

我有一个现有的Android应用程序(https://play.google.com/store/apps/details?id=fr.pixelprose.dice)多年来一直使用游戏服务......自6月下旬以来我没有升级它排行榜,登录等运作良好......

上周,我尝试将播放服务从7.x升级到8.1,并按照此处描述的步骤获取分析的配置文件:https://developers.google.com/analytics/devguides/collection/android/v4/

从那时起,没有人可以在我的应用程序中登录,使用已发布的版本和我得到的under developpement版本:

03 13:25:18.815 9741-27255/? E/SignInIntentService: There is no linked app associated with this client ID.
10-03 13:25:18.815 9741-27255/? E/SignInIntentService: com.google.android.gms.games.server.error.GamesException
10-03 13:25:18.815 9741-27255/? E/SignInIntentService:     at com.google.android.gms.games.server.GamesServer.getResponseBlocking(GamesServer.java:164)
10-03 13:25:18.815 9741-27255/? E/SignInIntentService:     at com.google.android.gms.games.broker.PlayerAgent.getPlayerFromNetwork(PlayerAgent.java:1700)
10-03 13:25:18.815 9741-27255/? E/SignInIntentService:     at com.google.android.gms.games.broker.PlayerAgent.fetchPlayer(PlayerAgent.java:621)
10-03 13:25:18.815 9741-27255/? E/SignInIntentService:     at com.google.android.gms.games.broker.DataBroker.loadSelf(DataBroker.java:920)
10-03 13:25:18.815 9741-27255/? E/SignInIntentService:     at com.google.android.gms.games.service.PlayGamesSignInIntentService$LoadSelfOperation.executeInternal(PlayGamesSignInIntentService.java:402)
10-03 13:25:18.815 9741-27255/? E/SignInIntentService:     at com.google.android.gms.games.service.PlayGamesSignInIntentService$BaseOperation.execute(PlayGamesSignInIntentService.java:51)
10-03 13:25:18.815 9741-27255/? E/SignInIntentService:     at com.google.android.gms.games.service.PlayGamesSignInIntentService$OperationAdapter.execute(PlayGamesSignInIntentService.java:487)
10-03 13:25:18.815 9741-27255/? E/SignInIntentService:     at com.google.android.gms.chimera.BaseAsyncOperationService$OperationTask.run(BaseAsyncOperationService.java:179)
10-03 13:25:18.815 9741-27255/? E/SignInIntentService: …
Run Code Online (Sandbox Code Playgroud)

android google-login google-plus google-play-games

2
推荐指数
1
解决办法
2536
查看次数

CSS 方形受父高度约束

我的页面布局由以下内容组成:

  • 固定高度标题:HEADER
  • 固定高度页脚:FOOTER
  • 弹性增长内容以填充可用的剩余高度:内容

我希望 flex 增长内容能够容纳一个方形 div,其尺寸等于CONTENT 元素的高度。

我无法实现此约束,因为对正方形使用 width = 100vh 并不能计算内容高度的 100%!

您可以在这里查看我到目前为止所拥有的内容:http ://jsfiddle.net/tgs93kLr/

<div class="body">
    <div class="header">header</div>
    <div class="content">
        <div class="square"></div>
    </div>
    <div class="footer">footer</div>
</div>
Run Code Online (Sandbox Code Playgroud)

.body {
  height: 250px;
  display: flex;
  flex-flow: column;
  background: red;
}
.header {
  height: 100px;
  background: blue;
}
.footer {
  height: 100px;
  background: green;
}
.content {
  flex-grow: 1;
  background: yellow;
}
.square {
  background: black;
  width: 100vh;
  height: 100vh;
}
Run Code Online (Sandbox Code Playgroud)

您对如何实现此目标有任何想法吗?注意:对于内容宽度<高度的情况,我已经有了一个解决方案

html css flexbox

-1
推荐指数
1
解决办法
979
查看次数