6

我阅读了 Android 开发者页面和网络上的其他页面。但我找不到从 Eclipse 生成 mapping.txt 的方法。

如果 Eclipse 正在生成这个文件,它保存在哪里?

我有project.properties

target=android-14
proguard.config=proguard.cfg

proguard.cfg

-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService


-keepclasseswithmembernames class * {
    native <methods>;
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}

-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

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

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

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

.project.classpath

4

2 回答 2

5

当前版本的 Eclipse 插件 (20.0.0) 默认允许 ProGuard 将映射文件写为proguard/mapping.txt(导出 apk 时)。

默认情况下,Ant 构建过程允许 ProGuard 将映射文件写为bin/proguard/mapping.txt(在创建发布构建时)。

参照。Android SDK 文档 > 开发 > 工具 > ProGuard。

于 2012-08-01T19:08:22.667 回答
0

是的,我解决了。只需在 Proguard.cfg 中添加这些行,您将在项目文件夹中获得Proguard命名文件夹:

-dump proguard/class_files.txt 
-printseeds proguard/seeds.txt 
-printusage proguard/unused.txt 
-printmapping proguard/mapping.txt 

希望这可以帮助某人。

于 2012-08-01T10:16:44.337 回答