问题:如何让一个包从 Github 包注册表中“消失”?
背景:
到目前为止的步骤:
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)
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) 我想添加一个不安全的注册表,用于Windows(10)机器上的docker测试.不幸的是,我无法找到通常的/ etc/docker/default 配置文件位于Windows上的任何信息.
在这里有人能够在Windows上添加docker选项吗?
干杯.
(尝试从不安全的注册表中提取而不将其添加到选项中时出现的错误是:"无法与xxxx进行握手无法验证xxxx的证书,因为它不包含任何IP SAN")
UPDATE1
我找到了一种看起来很有前景的方法:
但现在我收到此错误:"获取https:// xxxx:port/v1/_ping:x509:无法验证xxxx的证书,因为它不包含任何IP SAN"
(https://akrambenaissi.com/2015/11/17/addingediting-insecure-registry-to-docker-machine-afterwards/)
UPDATE2
重新启动Windows后,它工作:
我想做什么和问题
我将Android Studio和Android Gradle Plugin更新为3.0.0,将Gradle Wrapper更新为4.2.1,并希望通过IDE在设备上构建和部署我的Android Gradle项目.
当我尝试将我的:app模块部署到连接的设备时,我收到错误:
错误:配置项目':integration-test'时出现问题.变体'debug'没有类型'INSTANT_RUN_MERGED_MANIFESTS'的输出
项目详情(简化)
该项目包括:
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
我想做的事和问题
我将 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
项目详情(简体)
该项目包括:
设置.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
题
您只能通过 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 …
目标
我想要两个存储库:
存储库 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 。
这个问答式问题的原因:我花了几个小时才运行它,因为我有一些拼写错误,并认为解决方案更复杂。如果我能在 google 或 Stackoverflow 上找到这样的教程,我会检查拼写错误。
Git 存储库设置:
A
- 名称:repoA
B
(公共存储库) - 名称:repoB
目标:
gradle build
在repository 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) 我做了什么:
我要执行的是:
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) 问答式问题,因为现有问题与我在此处输入的简单错字不符:
目标
问题
代码
import org.junit.jupiter.api.Test;
public class Test {
@Test
private void testAMethod() { (...) }
}
Run Code Online (Sandbox Code Playgroud) 而不是监听单个 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.2
和10.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) 由于花了一些时间来找到该错误的解决方案,所以我在此处发布我的问题和解决方案,希望我下次可以更快地找到它:
错误:(39,0)未找到Gradle DSL方法:“ minSdkVersion()”
我试图做的是:
我按照Android测试蓝图的示例在顶层/ rootProject的build.gradle文件中定义了库版本:
ext {minSdkVersion 16}
并想在应用程序/模块的build.gradle文件中使用它:
minSdkVersion rootProject.ext.minSdkVersion
题
我想知道我们是否需要获取WakeLock还是service.startForeground()命令对我们有用吗?我没有在文档中找到任何东西。
目标
我们想要删除不必要的东西,因为我们希望尽快开始捕获传感器数据并且服务可能频繁重启,这可能会减慢服务启动的速度。
语境
我们正在开发一个Android库,以捕获高达200 Hz的传感器数据长达几个小时(研究环境)。现在,我们获取一个WakeLock并以ForegroundService的身份启动捕获服务,以确保在不使用设备时不停止捕获。
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
?