在android中启用proguard时,应用程序不工作
我的项目在android设备和仿真器上运行良好 但是,如果我在启用proguard应用程序后导出并获取.apk文件,我将无法使用proguard安装此.apk文件 我的假设是,安装.apk文件时没有调用服务,并且我的日志中没有任何错误 请分享你的想法 这是我的proguard文件。在android中启用proguard时,应用程序不工作,android,proguard,Android,Proguard,我的项目在android设备和仿真器上运行良好 但是,如果我在启用proguard应用程序后导出并获取.apk文件,我将无法使用proguard安装此.apk文件 我的假设是,安装.apk文件时没有调用服务,并且我的日志中没有任何错误 请分享你的想法 这是我的proguard文件。 -optimizationpasses 5 -dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers -dontpreverify
-optimizationpasses 5
-dontskipnonpubliclibraryclasses
-dontskipnonpubliclibraryclassmembers
-dontpreverify
-verbose
-dontoptimize
# -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-libraryjars /usr/local/android-sdk/add-ons/google_apis-7_r01/libs/maps.jar
-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
-keepattributes JavascriptInterface
-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 *;
}
-keep class mypackage.MyCallbackClass {
void myCallbackMethod(java.lang.String);
}
-dontwarn android.support.**
-dontwarn org.w3c.dom.bootstrap.DOMImplementationRegistry
请分享你的想法
谢谢。我想您是用发行密钥在这个版本上签名的。
如果您的手机上有旧版安装(带有调试密钥),请先卸载。(您的设备上不能有两个不同签名的同一个应用)失败的活页夹事务通常在活页夹进程溢出时发生。如果您的启动页上没有使用大型位图(这是活页夹事务失败的最常见原因),那么可能是因为我注意到您试图在apk中使用一个包裹。假设您保持ADT最新 如果您使用Eclipse导出构建应用程序的发布版本,它将从
project.properties
中的Proguard.config
属性指定的文件中加载Proguard设置
如果您使用的是ant release
,它将从ant.properties
中的Proguard.config
属性指定的文件加载Proguard设置
也就是说,您在构建过程中是否收到任何类型的错误或警告?这些在诊断Proguard时特别有用,因为它的目的是删除它认为应用程序没有使用的类和方法
我使用以下方法卸载我的应用程序:
adb shell pm uninstall -k com.*example*.*app*
并使用以下方式重新安装:
adb install App-release.apk
如果它给出了一个关于兼容性的错误,我将通过从uninstall命令中排除-k
开关来丢弃以前的应用程序数据:
adb shell pm uninstall com.*example*.*app*
谢谢你的回复,文斯。我是通过命令提示符使用“adb uninstall myProject.apk”从我的设备上卸载应用程序的。但在启动启动页面时遇到了问题。现在,我可以在日志中查看此错误“!!!活页夹事务失败!!!”。
adb shell pm uninstall com.*example*.*app*