当前位置: 首页 > 知识库问答 >
问题:

在adt上使用proguard时导出Android项目

潘刚洁
2023-03-14

我已经更新到新的adt

可悲的是,做了一些改变,我找不到任何关于如何使用它们的信息。谈论ProGuard的官网链接(在Android网站中)仍然谈论旧的方式。

他们在“project.properties”上写下,取消注释下一行:

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

这不起作用,尝试导出时会出现以下错误:

Proguard returned with error code 1. See console
java.io.IOException: The output jar is empty. Did you specify the proper '-keep' options?
at proguard.shrink.Shrinker.execute(Shrinker.java:159)
at proguard.ProGuard.shrink(ProGuard.java:275)
at proguard.ProGuard.execute(ProGuard.java:101)
at proguard.ProGuard.main(ProGuard.java:492)

有人能帮我吗?我以前从来没有改变过proguard.cfg文件,一切都是自动的。我很少做这样的事。

他们还添加了一个文件proguard-project.txt,它可能会取代proguard.cfg,并从sdk文件夹的文件扩展,所以我想知道:是否可以以某种方式引用项目中的文件(并放入文件"父"文件的内容)?如果是这样,我该怎么做?

共有3个答案

潘胤
2023-03-14

在您的项目根文件夹中创建一个文件proguard.cfg,并将您的adt更新到21,并使用proGuard v4.8或4.9,不要忘记在导出APK之前运行Android Lint

司徒志
2023-03-14

好的,解决方案是出于某种原因,我为sdk设置了错误的位置。eclipse上的dir变量。

所以我所做的是:

  1. 转到eclipse的首选项
  2. 搜索变量
  3. 去爪哇-
薛承志
2023-03-14

如果它以前工作正常,而您还没有学会Proguard,只需更改以下行:

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

关于这一行:

 proguard.config=proguard.cfg

然后你会有你的老Proguard设置回来,我建议更新,但它应该只是工作,除非你使用一些第三方JAR?这些就是它所说的缺少的内容,您应该使用-keep标志来阻止Proguard在混淆时删除它们。

 类似资料:
  • 我试图安装Android ADT的Eclipse从http://developer.android.com/sdk/installing/installing-adt.html 并得到以下错误: 如果有帮助的话,我正在运行windows8.1并使用最新版本的Eclipse。非常感谢。

  • 最近我更新到了最新的Android“L”SDK版本(当然还有ADT插件)。 我更新了我的应用程序,想要导出它,然后得到了一条旧的、已知的消息:

  • 我在maven项目上运行proguard时遇到问题。我有这个项目的测试和发布版本。发布版本号并混淆代码。当我在测试模式下运行我的android项目时,一切都很顺利,但当我切换到发布模式时,异常被抛出。我的Maven vesrion是Maven 3.2。1、AndroidmavenPlugin 3.6。0和JDK1.6 下面你可以看到我的项目的pom文件 http://maven.apache.or

  • 我正试图在Mac电脑上将Unity项目导出到Android系统,但遇到了以下例外: ExitGUIException:类型为“UnityEngine”的异常。已引发ExitGUIException。单位发动机。Gui实用程序。ExitGUI()(at/Users/builduser/buildslave/unity/build/Runtime/IMGUI/Managed/GUIUtility.cs

  • 请更新build.gradle文件中依赖项'com.android.tools.build:gradle‘的版本。 有关详细信息,请参阅IDE日志(帮助显示日志) 第二个错误 有关详细信息,请参阅IDE日志(帮助显示日志)

  • 问题内容: 我在应用程序中使用Gson,为此,我使用了一些名称与使用Json相同的类。我的应用程序运行良好,但是在编写proguard时,应用程序崩溃了,我猜有些类正在缩小。我的错误是: java.lang.ClassCastException:com.google.gson.internal.StringMap无法转换为com.sample.package.GsonClass 问题答案: 您需要