错误:在包“android”中找不到属性“requestLegacyExternalStorage”和“preserveLegacyExternalStorage”的资源标识符

Posted

技术标签:

【中文标题】错误:在包“android”中找不到属性“requestLegacyExternalStorage”和“preserveLegacyExternalStorage”的资源标识符【英文标题】:Error: No resource identifier found for attribute `requestLegacyExternalStorage` and `preserveLegacyExternalStorage` in package `android` 【发布时间】:2021-03-01 17:13:04 【问题描述】:

我已经使用 apktool d demoapp.apk 反编译了 APK,然后使用 apktool b demoapp.apk 编译了 apk,但在编译时它会抛出错误

brut.androlib.AndrolibException: brut.common.BrutException: could not exec (exit code = 1):

这里No resource identifier found 用于包android 中的属性preserveLegacyExternalStorage

requestLegacyExternalStorage 也会出现同样的错误

【问题讨论】:

您检查过这个问题吗? github.com/iBotPeaches/Apktool/issues/1880 你用的是什么版本? 是的,我已经检查过了:github.com/iBotPeaches/Apktool/issues/1880 我使用的是apk工具2.4.1版 【参考方案1】:

如果你只是想在重新编译之前修改它的源(资源不会被修改),反编译apk时使用-r标志。我有同样的问题,重新编译时总是出现未知资源问题。当我在反编译 apk 时使用 -r 标志时它解决了。

# apktool -r d demo.apk

【讨论】:

【参考方案2】:

您应该针对 SDK 29 进行编译,并且可能使用最新的构建工具来了解此属性。

【讨论】:

以上是关于错误:在包“android”中找不到属性“requestLegacyExternalStorage”和“preserveLegacyExternalStorage”的资源标识符的主要内容,如果未能解决你的问题,请参考以下文章

“在包 'android' 中找不到属性 'showAsAction' 的资源标识符”

错误:在包“com.google.example”main.xml 中找不到属性“adSize”的资源标识符

在包“com.app ....”中找不到属性“...”的资源标识符

在包中找不到属性“layout_behavior”的资源标识符

在包中找不到属性“barrierDirection”的资源标识符 - ConstraintLayout Barrier

在包“cn.pedant.sweetalert”中找不到属性“ProgressIndeterminate”的资源标识符