我们正在努力减少 jetifier 转换对我们的 CI 构建的影响。我们正在使用 AndroidX,我们升级了所有代码以使用 AndroidX 包。我们启用了 jetifier,因此我们使用的所有依赖项都会自动迁移。我们的构建在本地和 CI 上都运行良好。但是,由于切换到 AndroidX,我们的 CircleCI 构建需要大量时间,特别是 AAR 的转换。显然,在我们更新任何依赖项之前,jetifier 步骤是可以缓存的,因此不会每次都重复转换,但是我们很难做到这一点。
我们尝试app:assembleOurFlavorDebug在 CircleCI 缓存上运行之前保存,但转换仍然在每个构建上运行。save_cache 步骤保存/gradle目录并使用一些 .gradle 文件的内容作为哈希。我们观察了 2 个连续的构建,(相同的缓存哈希)并且两次我们都注意到 Jetifier 在所有 AAR 上运行
我们希望将 jetifier 转换的结果重新用于后续构建。
这只发生在Android Oreo上.我正在使用Play Services 11.4.2.我正在使用GeofencingClient注册地理围栏,并将带有pendingIntent的addGeofences方法注册到处理地理围栏过渡的IntentService.看起来播放服务发送的意图在某些条件下被操作系统阻止.
系统记录以下内容:
Background start not allowed: service Intent { cmp=my.app.id/my.package.struct.GeofenceTransIntentService (has extras) } to my.app.id/my.package.struct.GeofenceTransIntentService from pid=-1 uid=10154 pkg=my.app.id
Run Code Online (Sandbox Code Playgroud)
一旦我在以下情况下添加地理围栏:
android google-play-services android-geofence google-location-services