Android - 在移动设备中未签名的 apk 运行

Android - Signed apk not run in mobile device

我遇到了一个很奇怪的问题。当我直接从项目的bin文件夹中复制APK并粘贴到移动phone SD卡中时。并安装它,它工作正常。虽然我从项目中的 Android 工具导出签名的 APK 并将 APK 放在 SD 卡中。它安装成功但未 运行。我不知道为什么会这样。我也是你在应用程序中的progaurad。这是导致应用程序崩溃的原因吗??

这是logcat输出

> FATAL EXCEPTION: main
Process: com.globalassignmenthelp, PID: 7708
java.lang.AbstractMethodError: abstract method "android.view.View q.a(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet)"
at r.onCreateView(Unknown Source)
at android.support.v4.app.FragmentActivity.onCreateView(Unknown Source)
at com.globalassignmenthelp.Perspective.onCreateView(Unknown Source)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733)
at android.view.LayoutInflater.inflate(LayoutInflater.java:482)
at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:3571)
at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:3644)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:381)
at android.app.Activity.setContentView(Activity.java:2159)
at com.globalassignmenthelp.Perspective.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5966)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2408)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2517)
at android.app.ActivityThread.access0(ActivityThread.java:162)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1412)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:189)
at android.app.ActivityThread.main(ActivityThread.java:5529)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)

请帮助并提前致谢。

我认为您使用了错误的混淆器。当 progurad 出现问题时,就会出现此类问题。尝试用此代码替换您的 project.properties - 这是 link - Progurad Code

希望对您有所帮助。

add this code to proguard.txt

if you are using v4

 # support-v4
-dontwarn android.support.v4.**
-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class android.support.v4.** { *; }

if you are using v7

# support-v7
-dontwarn android.support.v7.**
-keep class android.support.v7.internal.** { *; }
-keep interface android.support.v7.internal.** { *; }
-keep class android.support.v7.** { *; }