栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android Studio - 北极狐 | 2020.3.1 补丁 2 现已推出

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android Studio - 北极狐 | 2020.3.1 补丁 2 现已推出

2021 年 9 月 1 日,星期三

Android Studio - 北极狐 | 2020.3.1 补丁 2 现已在稳定频道中提供。


如果您已经在稳定频道上安装了 Android Studio 版本,则 可以通过单击 帮助 > 检查更新 (Android Studio > 检查更新 在 macOS 上)来获取更新。否则,您可以 在此处下载。
 

一般修复和功能

此更新包括对以下问题的修复:

Android Gradle 插件
  • 问题 #181142252:从 AS Arctic Fox Canary 7 升级到 Canary 8 时,Gradle 同步启动了 10 次
    Created issue.
    See the attached screenshots.
    
    I had to cancel each of them via the cross in the "background tasks" window that appears when you click on the bottom "gutter", then I could perform a Gradle sync again (I did that latter step after changing the AGP version to 7.0.0-alpha08).
    
    How can this happen?
    
    Build: AI-203.7148.57.2031.7165533, 202102231629, 
    
    AI-203.7148.57.2031.7165533, JRE 11.0.8+10-b944.6842174x64 JetBrains s.r.o, OS Mac OS X(x86_64) v10.16, screens 5120.0x2880.0, 2880.0x1800.0; Retina
    
    AS: Arctic Fox | 2020.3.1 Canary 8; Kotlin plugin: 203-1.4.30-release-AS7148.5; Android Gradle Plugin: 7.0.0-alpha07; Gradle: 6.8.2; NDK: from local.properties: (not specified), latest from SDK: (not found); LLDB: pinned revision 3.1 not found, latest from SDK: (package not found); CMake: from local.properties: (not specified), latest from SDK: (not found), from PATH: (not found)Source: user_sentiment_feedback

  • 问题 #195968520:脱糖和可重复构建
    Created issue.
    It seems that when enabling the coreLibraryDesugaring option, the resulting apk output varies wildly from build to build. One set of such differing apks with the resulting diffoscope html diff output can be found in this diffoscope issue: https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/272
    
    STEPS TO REPRODUCE:
    
    enable coreLibraryDesugaring (i.e. use this app: https://codeberg.org/corona-contact-tracing-germany/cwa-android/src/branch/debug_reproducible_builds)
    Build the app twice with ./gradlew clean assembleRelease, saving the resulting apk outputs
    compare the resulting apks with diff/diffoscope/vbindiff and be quite surprised with the volume of differences
    Studio Build: - (not studio related) Version of Gradle Plugin: 7.0.0 Version of Gradle: 7.0.2 Version of Java: openjdk-11 OS: Archlinux

C++ 构建
  • 问题 #195318431:如果使用 tasks.whenTaskAdded 闭包,Android Gradle 插件 7.0.0 不会在 APK 中包含 jniLibs
    Created issue.
    Studio Build: 203.7717.56.2031.7583922
    Version of Gradle Plugin: 7.0.0
    Version of Gradle: 7.1.1
    Version of Java: 11.0.12+7 (Zulu)
    OS: Ubuntu-20.04
    
    STEPS TO REPRODUCE:
    0. Create sample app with NDK.
    1. Build the app and find JNI libraries in APK.
    2. Add `tasks.whenTaskAdded { }` closure to app/build.gradle.
    3. Yearn for the JNI libraries, which are now gone from APK.
    
    Hello,
    
    My attempt to upgrade a project from AGP-4.2.2 to 7.0.0 was not successful,
    because the new AGP skips JNI libraries if `tasks.whenTaskAdded { }` closure is present in app/build.gradle.
    
    Tried to reproduce the issue on different AGP versions.
    AGP-4.2.2 is OK.
    AGP-7.0.0, 7.0.0-rc01, 7.0.0-beta*, 7.0.0-alpha* and 7.1.0-alpha* are all affected.
    
    Issue can be reproduced using "app with NDK" template created by Android Studio Arctic Fox 2020.3.1.
    
    Uploaded code to https://github.com/ViliusSutkus89/AGP_TasksWhenAdded to better illustrate the issue.
    Project has Gradle upgraded from default 7.0 to 7.1.1 for AGP-7.1.0-alpha support.
    
    Set up a test matrix based on AGP version - https://github.com/ViliusSutkus89/AGP_TasksWhenAdded/actions/runs/1092255141 ,
    which builds the app and checks if the libraries are present in APK.

皮棉
  • 问题 #197146610:“lint check for lint checks”未运行
    Created issue.
    DESCRIBE THE ISSUE IN DETAIL: In the lint-dev Google group, Tor announced "Lint checks for lint checks" here: https://groups.google.com/g/lint-dev/c/q_TVEe85dgc
    
    At some point between that announcement and AGP 7.0.0, something seems to have broken that prevents those checks from running.
    
    STEPS TO REPRODUCE:
    
    Check out the sample custom lint rule project here: https://github.com/googlesamples/android-custom-lint-rules
    Modify SampleCodeDetector.kt to change an issue id to contain spaces, e.g. id = "Short Unique Id",
    Run ./gradlew :checks:lint and observe no warnings or errors are reported.
    Expected: A warning or error should be reported by the built-in LintDetectorDetector.kt check
    From stepping through with the debugger, my hypothesis is that Lint is incorrectly categorizing the module as an Android module, and these "lint checks for lint checks" are configured to run only on "JDK" module types, not Android modules.
    
    More specifically, it seems LintRequest#setPlatform is never called, and the default behavior in this case is to assume an Android module (my knowledge of lint internals gets very fuzzy at this point though).
    
    This is an especially bad failure mode because it results in lint passing despite the checks never actually running.
    
    Studio Build: N/A Version of Gradle Plugin: 7.0.0 Version of Gradle: 7.1 Version of Java: 11.0.10 OS: macOS

收缩器 (R8)
  • 问题 #196406764:在 AGP7 中使用 R8 运行构建时出现 ClassNotFoundException
    java.lang.RuntimeException: 
      at android.app.LoadedApk.makeApplication (LoadedApk.java:1138)
      at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6216)
      at android.app.ActivityThread.access$1200 (ActivityThread.java:237)
      at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1792)
      at android.os.Handler.dispatchMessage (Handler.java:106)
      at android.os.Looper.loop (Looper.java:214)
      at android.app.ActivityThread.main (ActivityThread.java:7073)
      at java.lang.reflect.Method.invoke (Native Method)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
      at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:964)
    Caused by: java.lang.ClassNotFoundException: 
      at dalvik.system.baseDexClassLoader.findClass (baseDexClassLoader.java:134)
      at java.lang.ClassLoader.loadClass (ClassLoader.java:379)
      at java.lang.ClassLoader.loadClass (ClassLoader.java:312)
      at android.app.AppComponentFactory.instantiateApplication (AppComponentFactory.java:50)
      at androidx.core.app.CoreComponentFactory.instantiateApplication (CoreComponentFactory.java:52)
      at android.app.Instrumentation.newApplication (Instrumentation.java:1124)
      at android.app.LoadedApk.makeApplication (LoadedApk.java:1130)
      at android.app.ActivityThread.handleBindApplication (ActivityThread.java:6216)
      at android.app.ActivityThread.access$1200 (ActivityThread.java:237)
      at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1792)
      at android.os.Handler.dispatchMessage (Handler.java:106)
      at android.os.Looper.loop (Looper.java:214)
      at android.app.ActivityThread.main (ActivityThread.java:7073)
      at java.lang.reflect.Method.invoke (Native Method)
      at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
      at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:964)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/325226.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号