如何在 Android Studio 中使用 progaurd 时排除包名和子包名?
How to exclude package name and sub package name while using progaurd In Android Studio?
我的项目包名称为
in.myapplication.app
我有一个包,里面有好几个这样的包
in.myapplication.app.samplePackage
in.myapplication.app.samplePackage.SubPackage
现在我想排除 samplePackage
包内的所有 类,包括子包 类。我在 progaurd 文件中尝试了这个保留规则
-keep class in.myapplication.app.samplePackage.*{*;}
但它只允许 samplePackage
中的 类 而不是 samplePackage.SubPackage
中的 类
我查过类似的问题
- How to keep/exclude a particular package path when using proguard?
- Make Proguard completely ignore package
没有效果并尝试使用这些
-keep class in.myapplication.app.samplePackage.** {*;}
但它向我显示警告
Unresolved reference name in shrinker config file
那么,如何在 Android Studio 中使用 progaurd 时排除包名和子包名?
将所有内容保存在包 in.myapplication.app.samplePackage
和所有子包中的正确规则是:
-keep class in.myapplication.app.samplePackage.** {*;}
您看到的警告可能是假阴性,请参阅 issue 153616200。
在 Android Studio 4.0 及更高版本 双星号 ()** 将不再编译。所以如果你想修复这个错误并排除 sub-packages 这样做
-keep class in.myapplication.app.samplePackage.*.* {*;}
这也将排除 samplePackage
中的包
我的项目包名称为
in.myapplication.app
我有一个包,里面有好几个这样的包
in.myapplication.app.samplePackage
in.myapplication.app.samplePackage.SubPackage
现在我想排除 samplePackage
包内的所有 类,包括子包 类。我在 progaurd 文件中尝试了这个保留规则
-keep class in.myapplication.app.samplePackage.*{*;}
但它只允许 samplePackage
中的 类 而不是 samplePackage.SubPackage
我查过类似的问题
- How to keep/exclude a particular package path when using proguard?
- Make Proguard completely ignore package
没有效果并尝试使用这些
-keep class in.myapplication.app.samplePackage.** {*;}
但它向我显示警告
Unresolved reference name in shrinker config file
那么,如何在 Android Studio 中使用 progaurd 时排除包名和子包名?
将所有内容保存在包 in.myapplication.app.samplePackage
和所有子包中的正确规则是:
-keep class in.myapplication.app.samplePackage.** {*;}
您看到的警告可能是假阴性,请参阅 issue 153616200。
在 Android Studio 4.0 及更高版本 双星号 ()** 将不再编译。所以如果你想修复这个错误并排除 sub-packages 这样做
-keep class in.myapplication.app.samplePackage.*.* {*;}
这也将排除 samplePackage
中的包