新(空白)项目上的尴尬 Proguard 错误

Posted

技术标签:

【中文标题】新(空白)项目上的尴尬 Proguard 错误【英文标题】:Akward Proguard error on new (blank) project 【发布时间】:2013-09-24 09:01:47 【问题描述】:

创建新的 android 项目后,我只输入名称和包名......没有别的了

然后在我添加的 project.properties 中

proguard.config=proguard-project.txt

如果我尝试导出已签名的 apk,我会收到此错误

[2013-09-19 12:05:57 - ProguardTest] 警告:有 12 个未解决 对类或接口的引用。 [2013-09-19 12:05:57 - ProguardTest] 您可能需要指定其他库 jar (使用'-libraryjars')。 [2013-09-19 12:05:57 - ProguardTest] 警告: 有 12 个未解决的对程序类成员的引用。 [2013-09-19 12:05:57 - ProguardTest] 你的输入类 似乎不一致。 [2013-09-19 12:05:57 - ProguardTest] 您可能需要重新编译它们并重试。 [2013-09-19 12:05:57 - ProguardTest] 或者,您可能必须指定 选项 [2013-09-19 12:05:57 - ProguardTest] '-dontskipnonpubliclibraryclassmembers'。 [2013-09-19 12:05:57 - ProguardTest] 错误:请先更正上述警告。

如果我在构建路径编辑器的 Order and Export 选项卡上取消选中“Android Private Libraries”,这是很奇怪的部分,它可以正常工作

【问题讨论】:

【参考方案1】:

根据错误日志中的详细信息(引用行之前),您可能需要添加缺少的库、针对更新的 Android 运行时进行构建,或者仅指定 -ignorewarnings-dontwarn

参见 ProGuard 手册 > 疑难解答 > Warning: can't find referenced class

请参阅 ProGuard 手册 > 疑难解答 > Warning: can't find referenced field/method '...' in program class ...

请注意,文件project.properties 中的proguard.config 通常还指向Android SDK 内的通用配置文件proguard-android.txt。文件proguard-project.txt 则只需要包含项目特定的配置。

【讨论】:

以上是关于新(空白)项目上的尴尬 Proguard 错误的主要内容,如果未能解决你的问题,请参考以下文章

Xamarin Java.exe 以代码 1 退出(Proguard 问题)

Android 中的 ProGuard 不起作用。(不混淆)

Proguard 返回错误 1 ​​- 项目 bin 文件夹中没有 proguard.txt 文件?

三星设备上的 Proguard“缺少类型参数”

当我使用proguard并启用minify和shrinkresources时,Retrofit body request是空白的

多个新的 Proguard 在 Multidex 项目中发布 Google Play 服务 v10.2.6 到 v11.0.0