【问题标题】:Proguard returned error 1 - no proguard.txt file in project bin folder?Proguard 返回错误 1 ​​- 项目 bin 文件夹中没有 proguard.txt 文件?
【发布时间】:2012-12-12 22:29:30
【问题描述】:

我刚开始使用 proguard,并使用在此站点上找到的文件作为我的 proguard.cfg 文件:

-优化通过 5 -dontusemixedcase类名 -dontskipnonpubliclibraryclasses -dontpreverify -详细 -优化 !code/simplification/arithmetic,!field/,!class/merging/

-保持公共类 * 扩展 android.app.Activity -保持公共类 * 扩展 android.app.Application -keep public class * 扩展 android.app.Service -保持公共类 * 扩展 android.content.BroadcastReceiver -保持公共类 * 扩展 android.content.ContentProvider -保持公共类 * 扩展 android.app.backup.BackupAgentHelper -keep public class * 扩展 android.preference.Preference -保持公共类com.android.vending.licensing.ILicensingService

-keepclasseswithmembernames class * { 本国的 ; }

-keepclasseswithmembers class * { 公共(android.content.Context,android.util.AttributeSet); }

-keepclasseswithmembers class * { 公共(android.content.Context,android.util.AttributeSet,int); }

-keepclassmembers class * extends android.app.Activity { public void *(android.view.View); }

-keepclassmembers 枚举 * { 公共静态 *[] 值(); 公共静态 * valueOf(java.lang.String); }

-keep class * 实现 android.os.Parcelable { public static final android.os.Parcelable$Creator *; }

当我使用 eclipse 进行签名 apk 导出的最后一步时,出现错误:

Proguard 返回错误代码 1。请参阅控制台

控制台说明:

Proguard 返回错误代码 1。请参阅控制台 [2012-12-27 14:23:16 - FlashActivity] java.io.FileNotFoundException: C:\Users\Liam\workspace\FlashActivity\bin\proguard.txt (系统 找不到指定的文件)[2012-12-27 14:23:16 - FlashActivity] 在 java.io.FileInputStream.open(Native Method) [2012-12-27 14:23:16 - FlashActivity] 在 java.io.FileInputStream.(Unknown Source) [2012-12-27 14:23:16 - FlashActivity] 在 java.io.FileReader.(未知来源) [2012-12-27 14:23:16 - FlashActivity] 在 proguard.FileWordReader.(FileWordReader.java:39) [2012-12-27 14:23:16 - FlashActivity] 在 proguard.ConfigurationParser.parseIncludeArgument(ConfigurationParser.java:217) [2012-12-27 14:23:16 - FlashActivity] 在 proguard.ConfigurationParser.parse(ConfigurationParser.java:124) [2012-12-27 14:23:16 - FlashActivity] 在 proguard.ProGuard.main(ProGuard.java:484)

从输出来看,我会说我的应用程序bin 文件夹中应该有一个proguard.txt 文件,但没有。

如果我做这个文件应该包含什么?

【问题讨论】:

    标签: android proguard


    【解决方案1】:

    从 adt 17 开始,proguard 配置文件不是 proguard.cfg 而是 proguard-project.txt

    http://tools.android.com/recent/proguardimprovements

    【讨论】:

    • 我更改了 project.properties 文件,但仍然出现完全相同的错误
    【解决方案2】:

    您应该使用交互式 android 工具更新您的 Android SDK,然后还使用更新您的项目

    android update project --path MyProjectDirectory
    

    这应该创建proguard-project.txt 并更新project.properties 以指向该文件。

    【讨论】:

      【解决方案3】:

      当eclipse无法从sdk目录读取progaurd文件时也会出现这个问题。

      对我来说,dump.txt 文件出现了错误,即使它存在于我的项目中。

      我通过更改 project.properties 文件中的 sdk 路径解决了这个问题

      来自

      proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
      

      progaurd.config=D:\Backup\Desktops\adt-bundle-windows-x86_64-20140702\adt-bundle-windows-x86_64-20140702\sdk\tools\proguard\proguard-android.txt:proguard-project.txt
      

      我的 sdk 所在的位置。

      【讨论】:

        【解决方案4】:
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt')
            }
        }
        

        确保 minifyEnabled 为 false

        【讨论】:

          猜你喜欢
          • 2016-09-22
          • 1970-01-01
          • 2018-04-01
          • 2014-07-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-11-19
          相关资源
          最近更新 更多