我使用 android 的新命令行工具,因为旧的 android sdk-tools 存储库不再可用。所以我改变了我的 gitlab-ci 来加载 commandlintools。但是当我尝试运行它时,出现以下错误:
Warning: Could not create settings
java.lang.IllegalArgumentException
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.<init>(SdkManagerCliSettings.java:428)
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:152)
at com.android.sdklib.tool.sdkmanager.SdkManagerCliSettings.createSettings(SdkManagerCliSettings.java:134)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:57)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Run Code Online (Sandbox Code Playgroud)
我已经尝试过手动执行这些命令,但我遇到了同样的错误。此外,如果我运行sdkmanager --version,也会发生同样的错误。我的 gitlab-ci 看起来像:
image: openjdk:9-jdk
variables:
ANDROID_COMPILE_SDK: "29"
ANDROID_BUILD_TOOLS: "29.0.3"
ANDROID_SDK_TOOLS: "6200805"
before_script:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_TOOLS}_latest.zip
- unzip -d android-sdk-linux android-sdk.zip
- echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
#- echo y | android-sdk-linux/tools/bin/sdkmanager "platform-tools" …Run Code Online (Sandbox Code Playgroud) android android-build gitlab-ci android-sdk-manager android-studio-3.6
是否有可能像导航组件中那样添加动画来片段化偏好的变化?安卓指南
所以我想在这里执行类似的操作:
<fragment>
<action
android:id="@+id/action_a_to_b"
app:destination="@id/b"
app:enterAnim="@anim/slide_in_right"
app:exitAnim="@anim/slide_out_right"
app:popEnterAnim="@anim/slide_in_left"
app:popExitAnim="@anim/slide_out_left" />
</fragment>
...
Run Code Online (Sandbox Code Playgroud)
明确地说:我想将导航组件与 Jetpack 首选项结合使用。问题是,jetpack 会自动处理首选项中的动画,但我想要另一个动画,然后是默认的淡入/淡出。所以我只想覆盖它。即:有没有办法像在 hirachy 中那样在 xml 中添加动画?
<PreferenceScreen
xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory
app:key="help_category"
app:title="Help">
<Preference
app:fragment="com.example.SyncFragment"
app:key="feedback"
app:summary="Report technical issues or suggest new features"
app:title="Send feedback"/>
</PreferenceCategory>
Run Code Online (Sandbox Code Playgroud)
android android-preferences android-animation kotlin android-jetpack
我在使用 docker compose 文件(MariaDB、RabbitMQ、Maven)启动 docker 容器时偶然发现了 docker 卷的问题。我简单地开始它们docker-compose up -d(没有 SUDO)开始它们
我的卷定义如下:
\n...\nvolumes:\n - ./production/mysql:/var/lib/mysql:z\n...\nRun Code Online (Sandbox Code Playgroud)\n一切工作正常并且./production目录已创建(卷映射到的位置)
但是当我再次尝试使用 down/up 重新启动 docker 容器时,出现以下错误:
\nerror checking context: \'no permission to read from \'\xe2\x80\xa6/production/mysql/aria_log.00000001\'\nRun Code Online (Sandbox Code Playgroud)\n当我检查提到的文件时,我发现它需要 root:root 权限。这是因为该文件是使用容器内的 root 用户生成的。所以我尝试使用文档中提到的名称空间。
\n无论如何,错误仍然发生。有什么想法或参考吗?
\n谢谢。
\nDocker 撰写文件:
\nversion: \'3.8\'\n\nservices:\n mysql:\n image: mariadb:latest\n restart: always\n env_file:\n - config.env\n volumes:\n - ./production/mysql:/var/lib/mysql:z\n environment:\n MYSQL_DATABASE: ${DATABASE_NAME}\n MYSQL_USER: ${DATABASE_USER}\n MYSQL_PASSWORD: ${DATABASE_PASSWORD}\n MYSQL_ROOT_PASSWORD: ${DATABASE_PASSWORD}\n networks:\n - testnetwork\n\nnetworks:\n …Run Code Online (Sandbox Code Playgroud) 随着 Apple 宣布 Xcode Cloud 现已可供所有开发人员使用,我尝试将其设置为 Kotlin 多平台项目。老实说,开始有点困难。目前我在简单的测试操作中面临以下问题:
\nThe operation couldn\xe2\x80\x99t be completed. Unable to locate a Java Runtime.\nPlease visit http://www.java.com for information on installing Java.\nCommand PhaseScriptExecution failed with a nonzero exit code\nRun Code Online (Sandbox Code Playgroud)\n所以我阶段就尝试安装一个jdk ci_post_clone.sh。的输出java -version如下:
openjdk version "17.0.2" 2022-01-18\nOpenJDK Runtime Environment (build 17.0.2+8-86)\nOpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)\nInstalled java\nRun Code Online (Sandbox Code Playgroud)\n还./gradlew -v输出:
\nShowing All Messages\n------------------------------------------------------------\n\nGradle 7.4.2\n\n------------------------------------------------------------\nKotlin: 1.5.31\nGroovy: 3.0.9\nAnt: Apache Ant(TM) version 1.10.11 compiled on July 10 2021\nJVM: …Run Code Online (Sandbox Code Playgroud) 我的 API:
@GET("/cinema/notShownMovies")
fun getNotShownMovies(
@Query("token") token: String
): Response<GetMovieResponse>
@JsonClass(generateAdapter = true)
data class Movie(
val id: Long,
val name: String,
val date: String,
@field:Json(name = "trailer_link")
val trailerLink: String?,
@field:Json(name = "poster_link")
val posterLink: String?,
@field:Json(name = "booked_tickets")
val bookedTickets: Int,
@field:Json(name = "movie_year_id")
val movieYearId: Int,
@field:Json(name = "created_at")
val createdAt: String,
@field:Json(name = "updated_at")
val updatedAt: String,
@field:Json(name = "worker_id")
val workerId: Int?,
@field:Json(name = "worker_name")
val workerName: String?,
@field:Json(name = "emergency_worker_id")
val emergencyWorkerId: Int?,
@field:Json(name …Run Code Online (Sandbox Code Playgroud) 我偶然发现了一个问题,我必须重新初始化我的 Retrofit API 类,因为 URL 发生了变化,所以我想告诉 Koin 重新初始化单个依赖项。我不想使用工厂,因为它在大多数情况下仍然是单例。
停止和开始 koin 将是一个想法,但这是一个非常繁重和时间紧张的过程,所以我不想这样做。
有任何想法吗?
我的 android sudio 设计编辑器不渲染材质 TextInputLayouts。我已经尝试过使缓存无效。所有其他元素也正确渲染其他材质元素
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/ti"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="20dp"
android:layout_marginEnd="30dp"
android:layout_marginBottom="20dp"
android:hint="@string/street_number">
<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="50dp"
android:inputType="text"
android:text="@{vm.user.streetnumber}" />
</com.google.android.material.textfield.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
android android-edittext android-studio material-design android-textinputlayout