いつもお世話になっております。
株式会社ダイスクリエイティブの西浦と申します。
(UnityとAndroid両方に関わる問題であり、急を要しているため、
別コミュニティへもマルチポストさせていただいております。
結果はご報告いたしますので何卒ご了承いただければ幸いです。)
Unityの中間生成物をEclipseのプロジェクトへコピーし、最終的なAPKをEclipseでビルドするような構成で
開発しているプロジェクトをすすめております。
(参考:UnityでAndroidの機能を拡張する2つの手法とは(3/3) - @IT
http://www.atmarkit.co.jp/fsmart/articles/unity02/03.html )
このプロジェクトにて、EclipseでProguardをかけようとするとエラーになって困っております。
エラー文言等からいろいろと調査したのですがいまのところ解決にいたっておりません。
もし同様の症状を解決されたことがある方がいらっしゃれば、ご助言いただけると大変ありがたく思います。
下記に各種情報を記述いたします。
■■■<主な環境情報>
Windows7 Professional 64bit
Unity 3.5.2f2
Proguard 4.8 4.0 3.9 (→すべてのバージョンで同じエラー)
Eclipse Version 3.6.2
Pleiades 1.3.3
■■■<エラーログ>
[2012-08-18 23:27:42 - XXX] Proguard returned with error code 1. See console
[2012-08-18 23:27:42 - XXX] java.io.IOException 発生: Can't read [D:\Program\IDE\Unity35\classes.jar] (Can't process class [com/unity3d/player/VideoPlayer.class] (Unknown verification type [17] in stack map frame))
[2012-08-18 23:27:42 - XXX] at proguard.InputReader.readInput(InputReader.java:230)
[2012-08-18 23:27:42 - XXX] at proguard.InputReader.readInput(InputReader.java:200)
[2012-08-18 23:27:42 - XXX] at proguard.InputReader.readInput(InputReader.java:178)
[2012-08-18 23:27:42 - XXX] at proguard.InputReader.execute(InputReader.java:78)
[2012-08-18 23:27:42 - XXX] at proguard.ProGuard.readInput(ProGuard.java:197)
[2012-08-18 23:27:42 - XXX] at proguard.ProGuard.execute(ProGuard.java:79)
[2012-08-18 23:27:42 - XXX] at proguard.ProGuard.main(ProGuard.java:493)
[2012-08-18 23:27:42 - XXX] 原因: java.io.IOException 発生: Can't process class [com/unity3d/player/VideoPlayer.class] (Unknown verification type [17] in stack map frame)
[2012-08-18 23:27:42 - XXX] at proguard.io.ClassReader.read(ClassReader.java:112)
[2012-08-18 23:27:42 - XXX] at proguard.io.FilteredDataEntryReader.read(FilteredDataEntryReader.java:87)
[2012-08-18 23:27:42 - XXX] at proguard.io.JarReader.read(JarReader.java:65)
[2012-08-18 23:27:42 - XXX] at proguard.io.DirectoryPump.readFiles(DirectoryPump.java:65)
[2012-08-18 23:27:42 - XXX] at proguard.io.DirectoryPump.pumpDataEntries(DirectoryPump.java:53)
[2012-08-18 23:27:42 - XXX] at proguard.InputReader.readInput(InputReader.java:226)
[2012-08-18 23:27:42 - XXX] ... 6 more
[2012-08-18 23:27:42 - XXX] 原因: java.lang.RuntimeException: Unknown verification type [17] in stack map frame
[2012-08-18 23:27:42 - XXX] at proguard.classfile.io.ProgramClassReader.createVerificationType(ProgramClassReader.java:890)
[2012-08-18 23:27:42 - XXX] at proguard.classfile.io.ProgramClassReader.visitFullFrame(ProgramClassReader.java:659)
[2012-08-18 23:27:42 - XXX] at proguard.classfile.attribute.preverification.FullFrame.accept(FullFrame.java:114)
[2012-08-18 23:27:42 - XXX] at proguard.classfile.io.ProgramClassReader.visitStackMapTableAttribute(ProgramClassReader.java:452)
[2012-08-18 23:27:42 - XXX] at proguard.classfile.attribute.preverification.StackMapTableAttribute.accept(StackMapTableAttribute.java:71)
[2012-08-18 23:27:42 - XXX] at proguard.classfile.io.ProgramClassReader.visitCodeAttribute(ProgramClassReader.java:422)
[2012-08-18 23:27:42 - XXX] at proguard.classfile.attribute.CodeAttribute.accept(CodeAttribute.java:101)
[2012-08-18 23:27:42 - XXX] at proguard.classfile.io.ProgramClassReader.visitProgramMethod(ProgramClassReader.java:200)
[2012-08-18 23:27:42 - XXX] at proguard.classfile.io.ProgramClassReader.visitProgramClass(ProgramClassReader.java:142)
[2012-08-18 23:27:42 - XXX] at proguard.classfile.ProgramClass.accept(ProgramClass.java:346)
[2012-08-18 23:27:42 - XXX] at proguard.io.ClassReader.read(ClassReader.java:91)
[2012-08-18 23:27:42 - XXX] ... 11 more
[2012-08-18 23:28:10 - XXX] Dx warning: Ignoring InnerClasses attribute for an anonymous inner class
■■■<proguard-project.txt>
-libraryjars D:\Program\IDE\Unity\Editor\Data\PlaybackEngines\androidplayer\bin\classes.jar
-libraryjars D:\Project\XXX\eclipse\jackson-all-1.7.4.jar
-libraryjars D:\Project\XXX\eclipse\libGoogleAnalytics.jar
-libraryjars D:\Project\XXX\eclipse\XtifySDK-C2DM.jar
-libraryjars D:\Project\XXX\eclipse\MicroAd\vasco-sdk-android-1.0.2.jar
-dontwarn com.unity3d.**
-keep class com.unity3d.**
-keepclassmembers class com.unity3d.player.VideoPlayer {
public *;
}
-dontwarn com.xtify.**
-keep class com.xtify.**
-keepclassmembers class com.xtify.** {
public *;
}
-dontwarn org.codehaus.jackson.**
-keep class org.codehaus.jackson.**
-keep public class com.pankia.** {
<fields>;
<methods>;
}
以上です。
長文申し訳ありません。