【问题标题】:<activity> does not have a valid android:name when dexguarding<activity> 在 dexguarding 时没有有效的 android:name
【发布时间】:2013-09-24 11:34:11
【问题描述】:

我正在尝试对作为系统应用程序运行的应用程序进行 dexguard。

但是,当我尝试将其推送到 system/app 目录时,我从 PackageParser 收到以下错误。

W/PackageParser( 1995): /system/app/My.apk (at Binary XML file line #290): <a
ctivity> does not have valid android:name

我还在dexguard-project.txt 中添加了以下内容,但无济于事。

-keepresourcexmlattributenames
    manifest/installLocation,
    manifest/versionCode,
    manifest/package,
    manifest/versionName,
    manifest/application/*/intent-filter/*/name,
    manifest/application/*/activity/name

有人知道如何解决这个问题吗?

更新

好吧,我看到manifest/application/*/activity/name 成功阻止了android:name 属性在清单中被混淆(当我在混淆后提取清单文件时可以看到纯文本)。

但奇怪的是,在提取的清单文件中无法找到 #290 行的活动标记中的 android:name。所有其他活动名称都可以以纯文本形式查看。

【问题讨论】:

    标签: android dexguard


    【解决方案1】:

    在我的例子中,类的包名以大写字母开头

    【讨论】:

    • 一部手机可以使用大写字母,但另一部则不然。
    【解决方案2】:

    我发现这是因为出现此错误的活动在清单文件中,但没有相应的 java 类。

    从清单文件中删除条目解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2019-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      相关资源
      最近更新 更多