0

我已经使用应用内计费创建了应用程序,现在我想混淆我的代码以缩短破解它的机会。但是proguard设置存在一些问题。我正在尝试通过本教程进行设置。我的项目结构很常见,主项目引用了其他具有所有功能的应用内服务的项目。我已经停止了执行带有代码混淆的 ant 发布的最后一步。我一直收到:

Buildfile: /home/viktor/Desktop/Dropbox/work/MyProject/build.xml

-set-mode-check:

-set-release-mode:

-release-obfuscation-check:
     [echo] proguard.config is /home/viktor/android-sdk-linux/tools/proguard/proguard-android.txt:proguard-project.txt
     [echo] Proguard.config is enabled

-check-env:
 [checkenv] Android SDK Tools Revision 21
 [checkenv] Installed at /home/viktor/android-sdk-linux

-setup:
     [echo] Project Name: MyProject
  [gettype] Project Type: Application

-build-setup:
     [echo] Resolving Build Target for MyProject...
[gettarget] Project Target:   Google APIs
[gettarget] Vendor:           Google Inc.
[gettarget] Platform Version: 4.1.2
[gettarget] API level:        16
     [echo] ----------
     [echo] Creating output directories if needed...
     [echo] ----------
     [echo] Resolving Dependencies for MyProject...
[dependency] Library dependencies:
[dependency] 
[dependency] ------------------
[dependency] Ordered libraries:
     [echo] ----------
     [echo] Building Libraries with 'release'...

nodeps:

-set-mode-check:

-set-release-mode:

-release-obfuscation-check:
     [echo] proguard.config is ${proguard.config}

-check-env:
 [checkenv] Android SDK Tools Revision 21
 [checkenv] Installed at /home/viktor/android-sdk-linux

-setup:
     [echo] Project Name: AndroidBillingLibrary
  [gettype] Project Type: Android Library

-build-setup:
     [echo] Resolving Build Target for AndroidBillingLibrary...
[gettarget] Project Target:   Android 4.0.3
[gettarget] API level:        15
     [echo] ----------
     [echo] Creating output directories if needed...
     [echo] ----------
     [echo] Resolving Dependencies for AndroidBillingLibrary...
[dependency] Library dependencies:
[dependency] No Libraries
[dependency] 
[dependency] ------------------
[dependency] API<=15: Adding annotations.jar to the classpath.

-pre-build:

-code-gen:
[mergemanifest] No changes in the AndroidManifest files.
     [echo] Handling aidl files...
     [aidl] Found 1 AIDL files.
     [aidl] No AIDL files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
[renderscript] No RenderScript files to compile.
     [echo] ----------
     [echo] Handling Resources...
     [aapt] No changed resources. R.java and Manifest.java untouched.
     [echo] ----------
     [echo] Handling BuildConfig class...
[buildconfig] No need to generate new BuildConfig.

-pre-compile:

-compile:
     [echo] Creating library output jar file...

-post-compile:

-obfuscate:

-dex:
     [echo] Library project: do not convert bytecode...

-crunch:
   [crunch] Crunching PNG Files in source dir: /home/viktor/Desktop/Dropbox/work/AndroidBillingLibrary/res
   [crunch] To destination dir: /home/viktor/Desktop/Dropbox/work/AndroidBillingLibrary/bin/res
   [crunch] Crunched 0 PNG files to update cache

-package-resources:
     [echo] Library project: do not package resources...

-package:
     [echo] Library project: do not package apk...

-post-package:

-release-prompt-for-password:

-release-nosign:
     [echo] 
[propertyfile] Updating property file: /home/viktor/Desktop/Dropbox/work/AndroidBillingLibrary/bin/build.prop
[propertyfile] Updating property file: /home/viktor/Desktop/Dropbox/work/AndroidBillingLibrary/bin/build.prop
[propertyfile] Updating property file: /home/viktor/Desktop/Dropbox/work/AndroidBillingLibrary/bin/build.prop
[propertyfile] Updating property file: /home/viktor/Desktop/Dropbox/work/AndroidBillingLibrary/bin/build.prop

-release-sign:

-post-build:

release:

-pre-build:

-code-gen:
[mergemanifest] No changes in the AndroidManifest files.
     [echo] Handling aidl files...
     [aidl] No AIDL files to compile.
     [echo] ----------
     [echo] Handling RenderScript files...
[renderscript] No RenderScript files to compile.
     [echo] ----------
     [echo] Handling Resources...
     [aapt] No changed resources. R.java and Manifest.java untouched.
     [echo] ----------
     [echo] Handling BuildConfig class...
[buildconfig] No need to generate new BuildConfig.

-pre-compile:

-compile:

-dex-obfuscate:

-dex-no-obfuscate:
BUILD FAILED
/home/viktor/Desktop/Dropbox/work/MyProject/add-proguard-release.xml:14: /home/viktor/Desktop/Dropbox/work/MyProject/${out.classes.dir} does not exist.

该错误通知我没有找到某些东西,但是什么以及如何解决它?

另一件事,当我在第二步时,没有混淆的未签名项目的 ant 版本我收到了成功,但有一些通知:“看起来你有子项目,如果有,请使用 --subprojects 命令”。我尝试添加此参数并在没有很长时间的情况下完全成功,但我无法更新子项目。我m not sure it很坏与否。请你也帮我解决这个问题。

4

1 回答 1

2

您使用的教程已过时。ProGuard 现在是 Android SDK 的一部分。您可以通过在 project.properties 中的相应行中注释来启用它,如Android SDK文档中所述。

于 2012-11-25T23:05:40.200 回答