2

私は自分のアプリで Parse.com の機能を使用しています。すべてがデバッグ モードでうまく機能します。リリース モードで署名済みの apk を生成するとすぐに、アプリを開く際に最大 10 秒間待機することがあります。ほとんどの場合、Parse.com がサーバーを初期化して接続しようとしていますが、明らかに成功していないためです。

また、自分のアカウントにデータがアップロードされないため、parse.com が機能しなくなります。

私の場合、デバッグモードとリリースモードの唯一の違いはプロガードを有効にすることであるため、もちろんプロガードに問題があるはずです。

また、proguard ルールで次のコードを使用して com.parse を保持するようにしました。

 #keep parse classes
-keepattributes Annotation,SourceFile,LineNumberTable
-dontwarn com.parse.**
-keep class com.parse.* { *; }
-keep class com.parse.** { *; }

どんな助けでも大歓迎です!

編集:

Proguard の後に Parse.initialize() で巨大なメモリ リークが発生していることがわかりましたが、その理由はまだわかりません。もちろん、プロガードがオフの場合、このメモリリークは存在しません ここに画像の説明を入力

4

3 に答える 3

1

http-coreApacheとライブラリhttp-mimeがある場合は、次のことを試してください。Parse

-keep class org.apache.** { *; }
-keep class com.parse.** { *; }

-dontwarn com.parse.**
-dontwarn org.apache.**
-dontwarn com.squareup.**
于 2015-07-06T09:26:06.613 に答える
0

com.fasterxml.jackson の場合、以下に追加 -keep class com.fasterxml.jackson.databind. ObjectMapper {パブリック; 保護されています。-keep class com.fasterxml.jackson.databind. ObjectWriter { public ** writeValueAsString(**); }

于 2015-07-05T13:21:41.477 に答える
0

どうやら問題は、Parse.com ライブラリの ANR にあるようです。正確には、以前の同期されていないデータなどを同期するためにキャッシュを読み取ろうとするときです。

ここに画像の説明を入力

これは最適化が原因で発生します。

-dontoptimize

この問題は解決されましたが、これは良い考えではないと思います.proguardがこのライブラリだけを最適化するのを止める方法があるはずです.しかし、私が見つけたのはこのパラメータだけでした:

# keep parse classes
#-dontwarn com.parse.**
-keep class com.parse.** { *; }
-keep interface com.parse.** { *; }

#-dontwarn org.apache.**
-keep class org.apache.** { *; }
-keep interface org.apache.** { *; }

#-dontwarn com.squareup.**
-keep class com.squareup.** { *; }
-keep interface com.squareup.** { *; }

-keep class com.shygunsys.pocketcyber.techicalservices.parse.**



-keep class com.fasterxml.jackson.databind.ObjectMapper {
    public <methods>;
    protected <methods>;
}
-keep class com.fasterxml.jackson.databind.ObjectWriter {
    public ** writeValueAsString(**);
}

Proguard が parse.com ライブラリと解析で使用する既知のライブラリを最適化するのを防ぐためにインターネットと SO を介して使用しますが、前に述べたように、-dontoptimize Any way なしでは運がありません。Parse.com 開発者や Proguard から返事があればうれしいですこれは誰のバグなのか見てみよう

于 2015-07-07T05:07:32.967 に答える