我正在尝试使用apktool
编辑chrome应用程序的AndroidManifest.xml
使用下面的命令来反编译jar,我可以获得AndroidManifest.xml文件并编辑文件以从application
节点中删除android:allowAudioPlaybackCapture="false"
属性。
<application android:allowAudioPlaybackCapture="false" android:allowBackup="true" android:appComponentFactory="org.chromium.chrome.browser.base.SplitCompatAppComponentFactory" android:backupAgent="org.chromium.chrome.browser.ChromeBackupAgent" android:fullBackupOnly="false" android:icon="@drawable/APKTOOL_DUPLICATE_drawable_0x7f08022c" android:label="@string/APKTOOL_DUPLICATE_string_0x7f1401e0" android:largeHeap="false" android:manageSpaceActivity="@string/APKTOOL_DUPLICATE_string_0x7f1405e9" android:name="org.chromium.chrome.browser.base.SplitChromeApplication" android:networkSecurityConfig="@xml/APKTOOL_DUPLICATE_xml_0x7f180025" android:restoreAnyVersion="true" android:roundIcon="@drawable/APKTOOL_DUPLICATE_drawable_0x7f08022d" android:supportsRtl="true" android:zygotePreloadName="org.chromium.content_public.app.ZygotePreload">
apktool d google-chrome-98-0-4758-101.apk
但当我试图使用下面的命令再次构建时,我得到了以下错误
apktool b google-chrome-98-0-4758-101
brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1): [/var/folders/dk/1p87jm1d4c1c7rq4s385xfqc0000gn/T/brut_util_Jar_44412591478507968185529954203449703541.tmp, p, --forced-package-id, 127, --min-sdk-version, 23, --target-sdk-version, 23, --max-sdk-version, 23, --max-res-version, 23, --version-code, 475810110, --version-name, 98.0.4758.101, --no-version-vectors, -F, /var/folders/dk/1p87jm1d4c1c7rq4s385xfqc0000gn/T/APKTOOL503548586151793248.tmp, -e, /var/folders/dk/1p87jm1d4c1c7rq4s385xfqc0000gn/T/APKTOOL1736943765463305431.tmp, -0, arsc, -I, /apktool/framework/1.apk, -S, /androidrtc/ChromeApk/google-chrome-98-0-4758-101/res, -M, /androidrtc/ChromeApk/google-chrome-98-0-4758-101/AndroidManifest.xml]
我不建议这么做。谷歌要求你在上传之前签署APK/AAB文件是有原因的,这是为了防止像你在这里做的那样被篡改。
最多,如果你想在应用程序中使用Chrome,最好的选择是使用Chrome自定义选项卡。