我在Android应用中使用Flyway。 现在使用ProGuard 5.3.3版本,它无法找到一些引用的类。
我的应用build.gradle是
android {
compileSdkVersion 26 buildToolsVersion '26.0.3' ... implementation 'org.flywaydb:flyway-core:5.0.7' implementation 'org.sqldroid:sqldroid:1.0.3'
}
和Proguard输出
警告: core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner $ 1: 无法找到超类或接口
org.jboss.vfs.VirtualFileFilter警告: org.flywaydb.core.api.migration.spring.SpringJdbcMigration:无法找到 引用类org.springframework.jdbc.core.JdbcTemplate警告: org.flywaydb.core.internal.database.postgresql.PostgreSQLCopyStatement: 无法找到引用的类org.postgresql.copy.CopyManager警告: org.flywaydb.core.internal.database.postgresql.PostgreSQLCopyStatement: 无法找到引用的类org.postgresql.core.BaseConnection 警告: org.flywaydb.core.internal.database.postgresql.PostgreSQLCopyStatement: 无法找到引用的类org.postgresql.copy.CopyManager警告: org.flywaydb.core.internal.database.postgresql.PostgreSQLCopyStatement: 无法找到引用的类org.postgresql.copy.CopyManager警告: org.flywaydb.core.internal.database.postgresql.PostgreSQLCopyStatement: 无法找到引用的类org.postgresql.copy.CopyManager警告: org.flywaydb.core.internal.resolver.spring.SpringJdbcMigrationExecutor: 无法找到引用的类org.springframework.jdbc.core.JdbcTemplate 警告: org.flywaydb.core.internal.resolver.spring.SpringJdbcMigrationExecutor: 无法找到引用的课程 org.springframework.jdbc.datasource.SingleConnectionDataSource 警告: org.flywaydb.core.internal.resolver.spring.SpringJdbcMigrationExecutor: 无法找到引用的课程 org.springframework.jdbc.datasource.SingleConnectionDataSource 警告: org.flywaydb.core.internal.resolver.spring.SpringJdbcMigrationExecutor: 无法找到引用的类org.springframework.jdbc.core.JdbcTemplate 警告:org.flywaydb.core.internal.util.logging.slf4j.Slf4jLog:can&#t; t 找到引用的类org.slf4j.Logger警告: org.flywaydb.core.internal.util.logging.slf4j.Slf4jLog:无法找到 引用类org.slf4j.Logger警告: org.flywaydb.core.internal.util.logging.slf4j.Slf4jLog:无法找到 引用类org.slf4j.Logger警告: org.flywaydb.core.internal.util.logging.slf4j.Slf4jLog:无法找到 引用类org.slf4j.Logger警告: org.flywaydb.core.internal.util.logging.slf4j.Slf4jLog:无法找到 引用类org.slf4j.Logger警告: org.flywaydb.core.internal.util.logging.slf4j.Slf4jLog:无法找到 引用类org.slf4j.Logger警告: org.flywaydb.core.internal.util.logging.slf4j.Slf4jLog:无法找到 引用类org.slf4j.Logger警告: org.flywaydb.core.internal.util.logging.slf4j.Slf4jLog:无法找到 引用类org.slf4j.Logger警告: org.flywaydb.core.internal.util.logging.slf4j.Slf4jLog:无法找到 引用类org.slf4j.Logger警告: org.flywaydb.core.internal.util.logging.slf4j.Slf4jLogCreator:can&#t; t 找到引用的类org.slf4j.LoggerFactory警告: org.flywaydb.core.internal.util.logging.slf4j.Slf4jLogCreator:can&#t; t 找到引用的类org.slf4j.LoggerFactory警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.FrameworkUtil警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.FrameworkUtil警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.Bundle警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.Bundle警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.Bundle警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.BundleContext警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.BundleContext警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.Bundle警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.Bundle警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.Bundle警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.Bundle警告: org.flywaydb.core.internal.util.scanner.classpath.OsgiClassPathLocationScanner: 无法找到引用的类org.osgi.framework.Bundle警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner: 无法找到引用的类org.jboss.vfs.VFS警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner: 无法找到引用的类org.jboss.vfs.VFS警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner: 无法找到引用的类org.jboss.vfs.VirtualFile警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner: 无法找到引用的类org.jboss.vfs.VirtualFile警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner: 无法找到引用的类org.jboss.vfs.VirtualFile警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner: 无法找到引用的类org.jboss.vfs.VirtualFile警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner: 无法找到引用的类org.jboss.vfs.VirtualFile警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner $ 1: 无法找到引用的类org.jboss.vfs.VirtualFileFilter警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner $ 1: 无法找到引用的类org.jboss.vfs.VirtualFile警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner $ 1: 无法找到引用的类org.jboss.vfs.VirtualFile警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner $ 1: 无法找到引用的类org.jboss.vfs.VirtualFile警告: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv3ClassPathLocationScanner $ 1: 无法找到引用的类org.jboss.vfs.VirtualFile 注意:org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv2UrlResolver: 无法找到动态引用的类org.jboss.virtual.VFS注意: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv2UrlResolver: 无法找到动态引用的类org.jboss.virtual.VFSUtils 注意: org.flywaydb.core.internal.util.scanner.classpath.jboss.JBossVFSv2UrlResolver: 无法找到动态引用的类org.jboss.virtual.VirtualFile
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
我的项目成功构建,没有在问题中列出的类。我只是将后续行添加到proguard-rules.pro
中-dontwarn org.flywaydb.core.internal.**
-dontwarn org.flywaydb.core.api.migration.spring.**