小编hb0*_*hb0的帖子

如何从 Github 包注册表中删除/移除/取消链接/取消版本包

问题:如何让一个包从 Github 包注册表中“消失”?

  • 文档说:当所有版本都被删除时,你不能“删除”但一个包“消失”。

背景:

  • Gradle 发布任务中的拼写错误导致发布了不应发布的包。

到目前为止的步骤:

  • 我在 Github Web App 上没有找到“删除”选项。
  • 我试图通过 Github 的 GraphQL API 删除,但我需要此命令的包 ID:
curl -X POST \
-H "Accept: application/vnd.github.package-deletes-preview+json" \
-H "Authorization: bearer ACCESS_TOKEN" \
-d '{"query":"mutation { deletePackageVersion(input:{packageVersionId:\"PACKAGE_ID==\"}) { success }}"}' \
https://api.github.com/graphql
Run Code Online (Sandbox Code Playgroud)
  • 我在 Github Web App 上没有找到完整的 packageVersionId。
  • 我试图查询包 ID 的 API,但未能形成有效的查询:
curl -X POST \
-H "Accept: application/vnd.github.package-deletes-preview+json" \
-H "Authorization: bearer ACCESS_TOKEN" \
-d "query {
  organization(login: "ORGANIZATION_ACCOUNT") {
    registryPackages {
      edges {
        node {
          name …
Run Code Online (Sandbox Code Playgroud)

github-package-registry

13
推荐指数
3
解决办法
6227
查看次数

Docker在Windows上配置文件位置,例如,启用不安全的注册表/ docker选项

我想添加一个不安全的注册表,用于Windows(10)机器上的docker测试.不幸的是,我无法找到通常的/ etc/docker/default 配置文件位于Windows上的任何信息.

在这里有人能够在Windows上添加docker选项吗?

干杯.

(尝试从不安全的注册表中提取而不将其添加到选项中时出现的错误是:"无法与xxxx进行握手无法验证xxxx的证书,因为它不包含任何IP SAN")

UPDATE1

我找到了一种看起来很有前景的方法:

  1. 编辑C:/Users/Username/.docker/machine/default/config.json
  2. 添加注册表:"InsecureRegistry":["xxxx:port"]
  3. 重启docker与(?)docker-machine.exe重启默认值

但现在我收到此错误:"获取https:// xxxx:port/v1/_ping:x509:无法验证xxxx的证书,因为它不包含任何IP SAN"

(https://akrambenaissi.com/2015/11/17/addingediting-insecure-registry-to-docker-machine-afterwards/)

UPDATE2

重新启动Windows后,它工作:

  • 我收到"未经授权:需要验证"
  • 因此> docker登录xxxx:端口,现在它正在工作!

windows options docker docker-registry

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

变体调试没有类型为INSTANT_RUN_MERGED_MANIFESTS的输出

我想做什么和问题

我将Android Studio和Android Gradle Plugin更新为3.0.0,将Gradle Wrapper更新为4.2.1,并希望通过IDE在设备上构建和部署我的Android Gradle项目.

  • 建设成功
  • 当我尝试将我的:app模块部署到连接的设备时,我收到错误:

    错误:配置项目':integration-test'时出现问题.变体'debug'没有类型'INSTANT_RUN_MERGED_MANIFESTS'的输出

项目详情(简化)

该项目包括:

  • a :库模块
  • an :app模块,用于构建应用程序的apk并使用:library模块
  • an :集成测试模块:
    • 使用"com.android.test"插件
    • 依赖于:app模块通过targetProjectPath':app'和targetVariant'debug'
    • 并包含:app功能的检测测试
    • 只包含一个'main'文件夹(测试插件不支持其他文件夹)

settings.gradle

include :library
include :app
include :integration-test
Run Code Online (Sandbox Code Playgroud)

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.domain.integration_test">

<!-- from https://stackoverflow.com/questions/45631959/how-to-place-android-instrumentation-test-files-outside-of-project-directory -->
<!-- Specify runner and target application package -->
<instrumentation
    android:name="android.support.test.runner.AndroidJUnitRunner"
    android:functionalTest="false"
    android:handleProfiling="false"
    android:label="Tests for com.domain.pro.client"
    android:targetPackage="com.domain.pro.client"/>

<application>
    <uses-library android:name="android.test.runner" />
</application>
Run Code Online (Sandbox Code Playgroud)

上次它的工作原理是: - Build Tools 2.2.3,Gradle 3.4.1和Android Studio 2.3.3

有没有人使用com.android.test插件(使用AndroidManifest文件)与Android Gradle …

android android-testing gradle-android-test-plugi android-studio-3.0 android-gradle-3.0

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

使用没有发布变体的 Android 测试插件时避免“变体选择冲突”警告

我想做的事和问题

我将 Android Studio 和 Android Gradle 插件更新为 3.0.1,将 Gradle Wrapper 更新为 4.1,并且可以通过 IDE 在设备上以发行版本构建和部署我的 Android Gradle 项目。

  • 但是,会显示以下“Gradle Sync”警告消息:

    警告:模块“库”选择了变体“发布”,但模块[“集成测试”]依赖于变体“调试”

  • 这里的问题是,使用“com.android.test”插件的集成测试模块没有“发布”变体

  • 如果我只是尝试将发布构建类型 ( buildTypes { release {} }) 添加到 :integration-test 模块,我会收到:

    错误:VariantInputs 初始化时没有合并清单报告:DEFAULT

项目详情(简体)

该项目包括:

  • a :库模块
  • 一个:app 模块,用于构建应用程序的 apk 并使用 :library 模块
  • 一个:集成测试模块
    • 使用“com.android.test”插件
    • 通过 targetProjectPath ':app' 和 targetVariant 'debug' 依赖于 :app 模块
    • 并包含对 :app 函数的仪器测试
    • 仅包含一个“main”文件夹(测试插件不支持其他)
  • 该项目是在Android 测试蓝图之后构建的,因为这里的目标是:app 模块不知道集成测试模块的存在。

设置.gradle

include :library
include :app
include :integration-test
Run Code Online (Sandbox Code Playgroud)

应用程序/build.gradle …

android android-testing android-studio gradle-android-test-plugi android-gradle-3.0

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

像素 2 模拟器/虚拟设备不在 AVD 管理器设备列表中

您只能通过 Android Studio (v3.1.4) 而不是通过avdmanager创建Pixel 2虚拟设备吗?

我们想要做什么

使用avdmanager创建一个像素2自动设备(基于avdmanger持续集成脚本)。我们需要明确地使用像素 2 设备。

问题

执行$ANDROID_HOME/tools/bin/avdmanager list不会返回Pixel 2硬件配置文件,但会返回错误:

Parsing ****
Available Android Virtual Devices:
The following Android Virtual Devices could not be loaded:
    Name: Pixel_2_API_28
    Path: /home/user/.android/avd/Pixel_2_API_28.avd
   Error: Google pixel_2 no longer exists as a device
Available devices definitions:
id: 0 or "tv_1080p"
    Name: Android TV (1080p)
    OEM : Google
    Tag : android-tv
Run Code Online (Sandbox Code Playgroud)

额外细节

我必须执行以下命令才能使用 JAVA 10.0.2 执行 avdmanager …

android android-studio avd-manager

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

如何从 Github 包注册表下载特定发布版本的 JAR

目标

我想要两个存储库:

  • 存储库 A:将 JAR 发布到 Github 注册表

  • 存储库 B:从 A 下载 JAR 并发布包含 JAR 的 Docker 映像。


即我正在寻找一个如下所示的 API:

wget https://github.com/repoOwner/repoName/packages/1.2.3/my.jar
Run Code Online (Sandbox Code Playgroud)

问题

是否有 Github Action 或 API 允许我从 Github 包注册表下载特定版本的工件?

问题

我知道有一个用于工件的 Github API,但我不知道如何请求特定版本的工件 URL 。

github-actions github-package-registry

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

如何在“Github Actions”中克隆公共子模块

这个问答式问题的原因:我花了几个小时才运行它,因为我有一些拼写错误,并认为解决方案更复杂。如果我能在 google 或 Stackoverflow 上找到这样的教程,我会检查拼写错误。

Git 存储库设置:

  • 私有存储库A- 名称:repoA
  • 带有子模块B(公共存储库) - 名称:repoB

目标:

  • 我想运行一个gradle buildrepository A > Github Actions

Github 操作工作流

name: Test
on:
  push:
    branches:
      - master

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v1
Run Code Online (Sandbox Code Playgroud)

问题:

  • actions/checkout@v1步骤访问子模块失败

.gitmodules

[submodule "library"]
    path = library
    url = git@github.com:organization/repoB.git

Run Code Online (Sandbox Code Playgroud)

Github 操作步骤Build with Gradle错误

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies …
Run Code Online (Sandbox Code Playgroud)

github git-submodules github-actions

5
推荐指数
3
解决办法
3216
查看次数

gcloud Firebase Android测试:无法访问测试环境目录:ResponseError 403:未获得项目授权

我做了什么:

  • 我通过以下指南在jenkins Docker容器上设置了gcloud:https://firebase.google.com/docs/test-lab/continuous

我要执行的是:

gcloud firebase test android run --app ./app/build/outputs/apk/app-debug.apk
Run Code Online (Sandbox Code Playgroud)

我得到的错误:

ERROR: (gcloud.firebase.test.android.run) Unable to access the test environment catalog: ResponseError 403: Not authorized for project <project-id>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我尝试使用所有服务帐户规则在IAM下添加服务帐户,但这无济于事。

是否可以专门为服务帐户启用这些API?我只对整个项目和gmail帐户这样做:启用必需的API。使用服务帐户登录后:“在Google Developers Console API库页面中,启用Google Cloud Testing API和Cloud Tool Results API。要启用这些API,请在控制台顶部的搜索框中输入以下API名称,然后在概述页面上针对该API单击启用API。”

到目前为止,我的步骤非常详细:

docker exec -it container bash

export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install google-cloud-sdk
gcloud init

# …
Run Code Online (Sandbox Code Playgroud)

android jenkins firebase gcloud firebase-test-lab

4
推荐指数
1
解决办法
1182
查看次数

Junit 5 和 IntelliJ “未找到测试”

问答式问题,因为现有问题与我在此处输入的简单错字不符:

目标

  • 使用 UI 通过 IntelliJ IDE 执行简单的 JUnit 测试(右键单击:运行测试)

问题

  • IntelliJ 说“没有找到测试”

代码

import org.junit.jupiter.api.Test;

public class Test {
    @Test
    private void testAMethod() { (...) }
}

Run Code Online (Sandbox Code Playgroud)

junit intellij-idea

4
推荐指数
1
解决办法
4600
查看次数

Docker-compose“端口”:监听多个 IP 地址/IP 范围

而不是监听单个 IP 地址,例如 localhost:

ports:
- "127.0.0.1:80:80"
Run Code Online (Sandbox Code Playgroud)

我希望容器只监听本地网络,ieeg:

ports:
- "10.0.0.0/16:80:80"

ERROR: The Compose file './docker-compose.yml' is invalid because:
services.SERVICE.ports contains an invalid type, it should be a number, or an object
Run Code Online (Sandbox Code Playgroud)

这可能吗?

我还不想使用群体模式等。


如果不支持 IP 范围,也许至少有多个 IP 地址,例如10.0.0.210.0.0.3

ERROR: for CONTAINER  Cannot start service SERVICE: driver failed programming external connectivity on endpoint CONTAINER (...): Error starting userland proxy: listen tcp 10.0.0.3:80: bind: cannot assign requested address

ERROR: for SERVICE  Cannot start service SERVICE: driver failed …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose docker-network

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

Gradle:找不到DSL方法:minSdkVersion / targetSdkVersion / compileSdkVersion / buildToolsVersion

由于花了一些时间来找到该错误的解决方案,所以我在此处发布我的问题和解决方案,希望我下次可以更快地找到它:

错误:(39,0)未找到Gradle DSL方法:“ minSdkVersion()”

我试图做的是:

  • 我按照Android测试蓝图的示例在顶层/ rootProject的build.gradle文件中定义了库版本:

    ext {minSdkVersion 16}

  • 并想在应用程序/模块的build.gradle文件中使用它:

    minSdkVersion rootProject.ext.minSdkVersion

dsl android gradle android-gradle-2.2

3
推荐指数
1
解决办法
1095
查看次数

service.startForeground是否暗示唤醒锁?

我想知道我们是否需要获取WakeLock还是service.startForeground()命令对我们有用吗?我没有在文档中找到任何东西。

目标

我们想要删除不必要的东西,因为我们希望尽快开始捕获传感器数据并且服务可能频繁重启,这可能会减慢服务启动的速度。

语境

我们正在开发一个Android库,以捕获高达200 Hz的传感器数据长达几个小时(研究环境)。现在,我们获取一个WakeLock并以ForegroundService的身份启动捕获服务,以确保在不使用设备时不停止捕获。

android android-wake-lock wakelock foreground-service

3
推荐指数
1
解决办法
595
查看次数

如何将*多个*前台服务类型分配给一个Android服务

Android文档指出

android:前台服务类型

指定该服务是满足特定用例的前台服务。例如,“位置”的前台服务类型表示应用程序正在获取设备的当前位置,通常是为了继续用户发起的与设备位置相关的操作。

您可以将多个前台服务类型分配给特定服务。

问题

如何在 中指定多种类型AndroidManifest.xml

当前状态

到目前为止,我声明前台服务使用相机类型:

<application>
  <service
      android:name=".BackgroundService"
      android:exported="false"
      android:foregroundServiceType="camera"
      android:process=":camera_process" />
</application>
Run Code Online (Sandbox Code Playgroud)

但由于我必须对相机捕获的图像进行地理参考,因此我还必须声明foregroundServiceType="location".

我可以按照此处的要求轻松地在 Java 代码中引用这两种类型

与 R.attr.foregroundServiceType 属性中的摄像头对应的常量。使用相机设备或录制视频。对于 targetSdkVersion Build.VERSION_CODES.R 及更高版本的应用程序,如果未在清单和 Service.startForeground(int, android.app.Notification, int) 中指定此类型,则前台服务将无法访问摄像头。

通过使用这个标志:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
    startForeground(NOTIFICATION_ID,  PlaceholderNotificationBuilder.build(this), FOREGROUND_SERVICE_TYPE_MANIFEST);
} else {
    startForeground(NOTIFICATION_ID, PlaceholderNotificationBuilder.build(this));
}
Run Code Online (Sandbox Code Playgroud)

但是如何foregroundServiceType在 中声明两个 s呢AndroidManifest.xml

android foreground-service android-11

3
推荐指数
1
解决办法
4436
查看次数