尝试导出APK,启用Proguard会导致错误:导出失败。
以下是我的配置:
project.properties
proguard.config=${sdk.dir}/tools/proguard/proguard-android-optimize.txt:${sdk.dir}/tools/proguard/proguard-project.txt
# Project target.
target=android-19
android.library.reference.1=../android-support-v7-appcompat
proguard-android-optimize.txt - 这里的一切都是默认的 proguard-project.txt - 此文件中的所有内容都已注释。
在日食日志中我看到了这些:
Caused by: java.lang.NullPointerException
at com.android.ide.eclipse.adt.internal.build.BuildHelper.createWindowsProguardConfig(BuildHelper.java:652)
at com.android.ide.eclipse.adt.internal.build.BuildHelper.runProguard(BuildHelper.java:571)
at com.android.ide.eclipse.adt.internal.project.ExportHelper.exportReleaseApk(ExportHelper.java:259)
想知道为什么NullPointer - 我错过了任何配置吗?
Eclipse ADT版本可能是23(帮助>关于 - 没有显示任何内容)
答案 0 :(得分:0)
sdk \ tools \ proguard \ bin包含proguard.sh文件,而不是proguard.bat文件 - 这是导出过程正在寻找的东西(Windows 7笔记本电脑上的Eclipse ADT)。
不知道为什么.bat文件默认不存在。
因此,将proguard.bat置于帮助状态,并启用proguard导出开始工作 这就是progaurd.bat在你没有的时候的样子:
@ECHO OFF
REM Start-up script for ProGuard -- free class file shrinker, optimizer,
REM obfuscator, and preverifier for Java bytecode.
REM
REM Note: when passing file names containing spaces to this script,
REM you'll have to add escaped quotes around them, e.g.
REM "\"C:/My Directory/My File.txt\""
IF EXIST "%PROGUARD_HOME%" GOTO home
SET PROGUARD_HOME=..
:home
java -jar "%PROGUARD_HOME%"\lib\proguard.jar %*