2012-07-31 58 views
6

我从Android开发者处阅读page &其他网页。但是我找不到从Eclipse生成mapping.txt的方法。如何使用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

+0

你有没有得到上述问题的解决方案,请帮助我坚持相同。 – iAviatorJose 2014-11-24 07:03:39

回答

0

是的,我解决了它。只需添加在Proguard.cfg这些线,你会得到Proguard的命名的文件夹中的项目文件夹:

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

希望这可以帮助别人。

5

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

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

Cfr。 Android SDK文档>开发>工具> ProGuard。

相关问题