r***@qq.com
r***@qq.com
  • 发布:2024-08-29 14:37
  • 更新:2024-08-30 17:53
  • 阅读:424

有什么方式可以修改/app/AndroidManifest.xml达到覆写某些第三方组件的属性读目的?

分类:uni-app

一些第三方组件存在:activity组件暴露的风险,需要在AndroidManifest.xml中指定它的 android:exported=false ,在uniapp创建的 AndroidManifest.xml 属于 [:customAndroidManifest] AndroidManifest.xml: 不能去调整第三方组件已经存在的属性。否则云打包会报错误,因为属性冲突不能编译。编译器建议在:Suggestion: add 'tools:replace=\"android:exported\"' to element at AndroidManifest.xml 修改。
[PackagePath]/app/AndroidManifest.xml
这个文件不知道在哪里可以修改,在manifest.json么,是否可以通过manifest.json去定义相关的内容呢?

2024-08-29 14:37 负责人:无 分享
已邀请:
DCloud_UNI_yuhe

DCloud_UNI_yuhe

要修改AndroidManifest可以把打包后的文件拖到android studio中,在as中可以看到这个文件

或者在hx打包后对应位置修改(位于unpackage下)

  • r***@qq.com (作者)

    打包后的文件,是指云打包编译后的apk文件么,apk文件拖进android studio 2023.3.1 提示不支持的二进制文件。

    2024-08-29 16:25

  • DCloud_UNI_yuhe

    回复 r***@qq.com: 拖对地方了么,你上其它地方查一下怎么操作

    2024-08-29 16:26

  • r***@qq.com (作者)

    是 通过as的 profile or debug APK 菜单,打开apk文件么?

    它会解压出来,但是不能再as中修改,在外部通过文本编辑器修改了。然后如何重新打包回去呢?

    2024-08-29 17:33

  • r***@qq.com (作者)

    网上确实没啥好办法能简单地处理。最新版本apktool处理反编译过程中,会报异常我就没再继续试下。

    您提到的as直接拖上去然后修改,我没能测试成功,apk文件拖上去就提示不是兼容的二进制文件。

    使用profile or debug APK 菜单打开apk,只能看xml的内容,文件是只读的没办法修改。使用文件编辑工具修改了后,不知道如何重新打包为apk。

    用离线打包吧,使用了一些uniapp的插件,离线打包又用不成。

    对原生开发了解不多,系统可以在修改这个东西方面指导指导,谢谢。

    2024-08-30 11:35

r***@qq.com

r***@qq.com (作者)

修改过程如下:
1、 apktool 解包
apktool d -only-main-classe app.apk -o output_folder
2、修改 AndroidManifest.xml 文件内容
3、使用apktool重新打包
apktool b output_folder
在output_folder的dist目录可以得到重新打包后的apk文件
4、重新对apk文件使用相同的key进行签名
5、测试相关功能有没有问题

要回复问题请先登录注册