V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
00244396
V2EX  ›  Android

Android12 升级

  •  
  •   00244396 · 2021-11-03 00:27:29 +08:00 · 10018 次点击
    这是一个创建于 1145 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    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  
       2021-11-04 16:07:08 +08:00
    在 merge minafast task 后操作 xml 节点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2940 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 14:01 · PVG 22:01 · LAX 06:01 · JFK 09:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.