Android App未在已发布版本上安装

时间:2018-02-07 22:10:05

标签: android apk proguard release

今天我注意到当我构建发布版apk时,我的Android应用程序没有安装在pre-lolipop设备上(我尝试了签名和未签名的apk)。 我在我的Android 7设备上安装了它并且工作正常,但是当我在lolipopkitkat设备上测试时,我遇到了#34; App未安装。"我尝试安装apk时出错。 但如果我构建调试apk,它安装成功。 所以我不知道问题出在哪里,但我认为这可能与proguard-rules有关。

这是我的计划规则:

-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*
-optimizationpasses 5
-allowaccessmodification

-keep class org.apache.harmony.awt.datatransfer.** { *; }
-keep class com.github.mikephil.charting.data.realm.base.** { *; }
-keep class com.github.mikephil.charting.data.realm.implementation.** { *; }
-keep class com.rey.material.** { *; }
-keep class com.rey.material.$ { *; }
-keep class com.parse.** { *; }
-keep class com.parse.interceptors { *; }
-keep class com.parse.interceptors.** { *; }
-keep class javax.** { *; }
-keep class okio.** { *; }
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-dontwarn android.support.**
-dontwarn org.**
-dontwarn com.**
-dontwarn javax.**
-dontwarn okio.**

-keep public class * extends android.view.View {
 public <init>(android.content.Context);
 public <init>(android.content.Context, android.util.AttributeSet);
 public <init>(android.content.Context, android.util.AttributeSet, int);
 public void set*(...);
}

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

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

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

#-keep class * implements android.os.Parcelable {
# public static final android.os.Parcelable$Creator *;
#}
-keepclassmembers class **.R$* {
    public static <fields>;
 }

1 个答案:

答案 0 :(得分:0)

自开发androis应用程序以来已经有一段时间了,但请查看此链接我非常确定它会向您展示如何更改最低设备SDKVersions。

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
    // Running on something older than API level 11, so disable
    // the drag/drop features that use ClipboardManager APIs
    disableDragAndDrop();
}

is an example of some code it explains...

希望这有帮助。