使用Android Studio 3.0 Beta 5,使用默认项目(空活动)和Instant Apps on。
要打开Proguard,我只需设置所有Build.Gradle(app,base和feature)
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
编译App时工作正常。但是,在编译即时应用程序时,它会出错。
java.lang.RuntimeException:无法实例化活动 ComponentInfo {com.elyeproj.myapplication / com.elyeproj.myapplication.feature.MainActivity}: java.lang.ClassNotFoundException:找不到 任何原子类中的com.elyeproj.myapplication.feature.MainActivity 加载器或父类加载器
似乎proguard没有检查功能之间的依赖关系。怎么能解决这个问题?
答案 0 :(得分:2)
好消息!现在,多功能即时应用程序支持ProGuard。此修复程序已添加到Android Studio 3.2 Canary 14和更新版本中。
要为整个应用项目启用代码收缩,必须从基本模块的build.gradle
文件执行此操作。也就是说,您可以在动态要素模块中包含自定义 ProGuard 规则,但忽略动态要素模块构建配置中的minifyEnabled属性。
https://developer.android.com/guide/app-bundle/configure
示例项目可以在multi-feature-module project看到。
如果您遇到任何问题,请报告AIA Team。