9

default.propertiesファイルに追加proguard.config=proguard.cfgし、プロジェクトルートにproguard.cfgファイルがあります。Eclipse内からAndroidアプリケーションとしてエクスポートを使用すると、次のエラーが発生します。

[2011-01-27 11:11:37 - Application] Warning: class [classes/com/package.Class.class] unexpectedly contains class [com/package.Class]
[2011-01-27 11:11:37 - Application] Warning: class [classes/com/package.Class2.class] unexpectedly contains class [com/package.Class2]
[2011-01-27 11:11:37 - Application] Note: there were 145 duplicate class definitions.
[2011-01-27 11:11:37 - Application] Warning: there were 146 classes in incorrectly named files.
[2011-01-27 11:11:37 - Application]          You should make sure all file names correspond to their class names.
[2011-01-27 11:11:37 - Application]          The directory hierarchies must correspond to the package hierarchies.
[2011-01-27 11:11:37 - Application]          If you don't mind the mentioned classes not being written out,
[2011-01-27 11:11:37 - Application]          you could try your luck using the '-ignorewarnings' option.
[2011-01-27 11:11:37 - Application] java.io.IOException: Please correct the above warnings first.
[2011-01-27 11:11:37 - Application]     at proguard.InputReader.execute(InputReader.java:133)
[2011-01-27 11:11:37 - Application]     at proguard.ProGuard.readInput(ProGuard.java:195)
[2011-01-27 11:11:37 - Application]     at proguard.ProGuard.execute(ProGuard.java:78)
[2011-01-27 11:11:37 - Application]     at proguard.ProGuard.main(ProGuard.java:499)

どういうわけか私のクラスはクラスサブフォルダーに保存されているようですが、Proguardはこのクラスサブフォルダーをパッケージとして使用しています。したがって、クラスの定義はProguardでは理解できません。

これは私のSDKセットアップの問題ですか?または、この問題の原因となるProguard構成にエラーがありますか?

4

3 に答える 3

1

proguard.cfgを、昨年5月に機能していたものから少し変更しましたが、現在は機能しています。

から

-injars bin

-injars bin/classes

また、少しクリーンアップする必要がありました。Junit(このプロジェクトでは使用されていません)と互換性ライブラリ(おそらく無視できたかもしれませんが、代わりに完全に破棄することを選択しました)を削除しました。

于 2011-10-26T02:23:57.737 に答える
0

これで便利になりました。新しいddmsEclipseプラグバージョン:Android DDMS 9.0.0.v201101191456-93220に更新し、SDKをHoneycombを含む新しいバージョンに更新しました。問題はなくなったようです。

于 2011-01-27T11:42:00.117 に答える
0

難読化されたapkを取得する手順:

1)「http://sourceforge.net/projects/proguard/files/」から最新のプロガードをダウンロードします。現在の最新バージョンはproguard4.7です

2)「C:\ ProgramFiles(x86)\ Android \ android-sdk \ tools\proguard」の「bin」および「lib」フォルダーを最新のダウンロード済みproguardフォルダーに置き換えます。

3)EclipseでSDKの場所に空白がないか確認し、ウィンドウ>[設定]>[Android]に移動します。空白がある場合は、次のように置き換えます。

    c:\Progra~2\android\android-sdk (for windows 64-bit)
    c:\Progra~1\android\android-sdk (for windows 32-bit)

4)proguard.cfgファイルがプロジェクトのルートフォルダーにあることを確認し、Androidプロジェクトのproject.propertiesファイルに「proguard.config=proguard.cfg」を追加します。

5)プロジェクトをエクスポートして、難読化されたapkを取得します。

お役に立てば幸いです。

于 2012-04-17T17:18:01.830 に答える