00244396
V2EX  ›  Android

Android12 升级

  •  
  •   00244396 · Nov 3, 2021 · 13936 views
    This topic created in 1659 days ago, the information mentioned may be changed or developed.

    各位大佬们,因为需求可能项目目标版本要升级到 Android12 ,但在适配过程中发现 Android12 需要显式的声明 android:exported 这个属性,但由于项目中依赖的库较多,分离的组件化工程中也依赖了一堆库,要求每一个都升级似乎不太现实,我又不想手动检查几百个组件是否显示添加,找到了一个 gradle 脚本似乎也不起作用: https://github.com/phamtdat/AndroidSnippets 菜逼面向搜索引擎已经到极限了(悲 ,大佬们有什么建议吗?

    3 replies    2021-11-04 16:07:08 +08:00
    lee1997
        1
    lee1997  
       Nov 3, 2021
    脚本遍历文件夹下面所有的 AndroidManifest.xml ,解析组件标签,插入 android:exported
    shily
        2
    shily  
       Nov 4, 2021
    和楼上的解决方案差不多。

    1. 在低版本, 比如 target = 30 编译一次
    2. 找到 app/build/intermediates/packaged_manifests/debug/AndroidManifest.xml 。
    3. 写个脚本分析出需要添加 android:exported="true" 的项目,写到一个文件里
    4. 分析输出内容,如果是第三方的库,需要把这些项目写到 app 的 AndroidManifest 里覆盖一下
    5. 升级 target = 31
    fromzero
        3
    fromzero  
       Nov 4, 2021
    在 merge minafast task 后操作 xml 节点
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2912 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 00:31 · PVG 08:31 · LAX 17:31 · JFK 20:31
    ♥ Do have faith in what you're doing.