1

これが私の構成です:

project.properties :

proguard.config=${sdk.dir}/tools/proguard/proguard-project.txt

# Project target.
target=Google Inc.:Google APIs:22
android.library=false
android.library.reference.1=../../libs/facebook/facebook-android-sdk-4.2.0/facebook

proguard-project.txt : これは空のファイルです。つまり、すべてがコメント化されています。

プロジェクトは通常正しくコンパイルされ、エラーはありません。

apk をエクスポートしようとすると、コンソールに多くのエラーが表示されます (エクスポートは失敗します)。

    Proguard returned with error code 1. See console
    Warning: com.facebook.applinks.FacebookAppLinkResolver: can't find superclass or interface bolts.AppLinkResolver
    Warning: com.facebook.applinks.FacebookAppLinkResolver$1: can't find superclass or interface bolts.Continuation
    Warning: org.apache.commons.beanutils.BeanMap$2: can't find superclass or interface org.apache.commons.collections.Transformer
    Warning: org.apache.commons.beanutils.BeanMap$3: can't find superclass or interface org.apache.commons.collections.Transformer
...

しかし、project.properties の proguard.config=... 行をコメント アウトすると、エラーなしで正常にエクスポートできますが、コードは難読化されません。

ここで何が間違っていますか?

4

1 に答える 1

0

エクスポート中に警告が表示された場合は、すべてのサポート ライブラリがビルド パスで使用できることを確認してください。いくつかの警告をさらに抑制して、それを回避することができます - 以下を参照してください。

私のサポート jar も難読化されており (これが正常かどうかはわかりません)、実行時にアプリが失敗するため、難読化を明示的に防止する必要がありました。以下を参照してください。

プロジェクトのプロパティ

proguard.config=/myapp/proguard-project.txt
target=Google Inc.:Google APIs:22
android.library=false
android.library.reference.1=../../pathToLibrary

proguard-project.properties

#To prevent a warning message:
-dontwarn org.ietf.jgss.**

#To prevent supporting jars from getting obfuscated you would need something like:
-keep class javax.** { *; }
-keep class org.** { *; }
-keep class android.** { *; }
于 2015-07-10T12:59:39.230 に答える