不能保护多功能即时应用程序?

android android-proguard android-instant-apps

645 观看

1回复

11899 作者的声誉

通过使用Android Studio 3.0 Beta 5,在启用Instant Apps的情况下使用默认项目(空活动)。

要打开Proguard,只需将所有Build.Gradle(应用,基本和功能)设置为

debug {
   minifyEnabled true
   proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}

编译时,App运行正常。但是,编译Instant Apps时会出错。

java.lang.RuntimeException:无法实例化活动ComponentInfo {com.elyeproj.myapplication / com.elyeproj.myapplication.feature.MainActivity}:java.lang.ClassNotFoundException:在任何原子中都找不到com.elyeproj.myapplication.feature.MainActivity类加载器或父类加载器

似乎proguard只是不检查跨功能的依赖关系。如何解决呢?

作者: Elye 的来源 发布者: 2017 年 9 月 15 日

回应 1


2

2105 作者的声誉

好消息!现在,多功能即时应用程序中支持ProGuard。该修复程序已添加到Android Studio 3.2 Canary 14和更高版本中。

要为整个应用程序项目启用代码收缩,必须从基本模块的build.gradle文件中启用代码收缩。也就是说,您可以在动态功能部件模块中包括自定义ProGuard规则,但动态功能部件模块构建配置中的minifyEnabled属性将被忽略。

https://developer.android.com/guide/app-bundle/configure

可以在多功能模块项目中看到示例项目

如果遇到任何问题,请报告友邦保险团队

作者: Prags 发布者: 2017 年 12 月 15 日
32x32