Android SDK、ADT、および Proguard を最新かつ最高のものにアップグレードしました。
私のプロジェクトはビルドをコンパイルし、デバッグ モードで正常に実行されますが、その署名済みリリース APK をエクスポートしようとするとすぐに、エクスポート ウィザードからエラーが表示され、Eclipse コンソールにエラー ログ メッセージは表示されません!*
エラーログを表示しようとすると、表示されるものはWindow->Show View->Error Log
すべて同じです。
EclipseもProguardも問題の可能性についてのヒントを提供しないため、どうすればよいかわかりません。
私のプロジェクトは、この最近のアップグレードまで正常にエクスポートされました。ビルド警告はありません。糸くずの警告なし!
で Android の標準構成ファイルを使用しています${sdk.dir}\tools\proguard\proguard-android.txt
。
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
-dontoptimize
-dontpreverify
-keepattributes *Annotation*
-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.BackupAgent
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.app.Fragment
-keep public class com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * {
native <methods>;
}
-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 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 *;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
-dontwarn android.support.**
そして、私のプロジェクトの proguard.cfg には次のものしか含まれていません:
-assumenosideeffects class android.util.Log {
public static *** v(...);
public static *** i(...);
public static *** d(...);
public static *** w(...);
public static *** e(...);
}
この問題を以前に見た人はいますか?これを修正する方法はありますか?
何か進展?これを行ってアップグレードして以来、初めて署名付き APK をエクスポートできました。
- CCleaner を実行して、Windows システム内のすべての一時ファイルとキャッシュを消去しました。
- 次に、Windowsを再起動しました。
しかし、残念なことに、次に署名済み APK を再度エクスポートしようとしたときに、コンソール メッセージなしFailed to export application
で同じものを受け取りました! また!
Android 開発ツールが不安定になっていることは明らかです。署名済み APK をエクスポートするたびに、CCleaner を実行して Windows を再起動することはできません。そして、誰のせいかは気にしません: Android SDK? ADT プラグイン? プロガード?
私は今何をしますか?
もう少し進歩?Proguard をオフにして署名付き APK をエクスポートしようとしました。正常にエクスポートされましたが、起動すると、アプリケーションのアクティビティ クラス ( ) が見つからないため、すぐにクラッシュしますClassNotFoundException
。これは奇妙です!デバッグ モードでは正常に動作し、アプリケーションのアクティビティ クラスが存在しない場合は、コンパイルされていないはずです。どうしたの?最新かつ最高の Android 開発ツールは壊れていますか?
このソリューション(およびこれOrder and Export
も)で説明されているように、タブで遊んでみましたが、役に立ちませんでした。
私は今何をしますか?