【发布时间】:2017-09-15 04:32:25
【问题描述】:
通过使用 Android Studio 3.0 Beta 5,使用默认项目(空活动)并打开即时应用程序。
要打开 Proguard,我只需将所有 Build.Gradle(应用、基础和功能)设置为
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
当编译应用程序工作正常。然而,当编译即时应用程序时,它会出错。
java.lang.RuntimeException:无法实例化活动 组件信息{com.elyeproj.myapplication/com.elyeproj.myapplication.feature.MainActivity}: java.lang.ClassNotFoundException:找不到 任何原子类中的 com.elyeproj.myapplication.feature.MainActivity 加载器或父类加载器
似乎 proguard 只是不检查功能之间的依赖关系。怎么解决?
【问题讨论】:
-
根据issuetracker.google.com/issues/65710224向 Google 报告了问题
-
@Bedant,也许支持这个问题会有助于引起更多关注?谢谢。
-
这方面有更新吗?考虑到即时应用的大小要求,这似乎是相当严重的限制。
-
@JohnO'Reilly 检查上面列出的问题issuetracker.google.com/issues/65710224
-
会有一个示例来展示如何保护您的免安装应用。一般来说,您必须通过保留包名和类名以及访问的公共方法来使您的 API 表面可供其他模块使用。
标签: android android-proguard android-instant-apps