手動で署名した後にハングするように見えるAndroidアプリがあります。
しかし、常にハングするわけではありません。
- Eclipseで署名すると、すべて->問題なく動作します
- デバッグキーで署名すると(ant debug)->問題なく動作します
- .soファイルをロードしないアクティビティへのアクセス(System.loadLibrary(xyz.so);)->問題ありません
- 以下のスニペットを使用して手動で署名する->logcatに何も記載せずにアプリがハングする
今、私は次の行を使用してアプリケーションをビルドして署名しています
ant release -f dir/build.xml
jarsigner -signedjar Hedgeroid-signed.apk -keystore /path/to/keystore/hedgewars.keystore -storepass "password1" -keypass "password2" -sigalg MD5withRSA -digestalg SHA1 -verbose path/to/project/bin/MainActivity-release-unsigned.apk hedgeroid
keytoolの出力:
adding: META-INF/MANIFEST.MF
adding: META-INF/HEDGEROI.SF
adding: META-INF/HEDGEROI.RSA
signing: assets/Data/Fonts/DejaVuSans-Bold.ttf
signing: assets/Data/Forts/LegoL.png
... (summing up all the files) ..
signing: lib/armeabi/libhwengine.so
signing: lib/armeabi/liblua5.1.so
その後、zipalignしますが、それがあってもなくても結果は変わりません。
どんな助けでも大歓迎です。
追伸
これは、ハングし始めた時点からのlogcatです。
D/dalvikvm(12755): Added shared lib /data/data/org.hedgewars.hedgeroid/lib/liblua5.1.so 0x410a4110
D/dalvikvm(12755): No JNI_OnLoad found in /data/data/org.hedgewars.hedgeroid/lib/liblua5.1.so 0x410a4110, skipping init
D/dalvikvm(12755): Trying to load lib /data/data/org.hedgewars.hedgeroid/lib/libhwengine.so 0x410a4110
W/ActivityManager( 192): Launch timeout has expired, giving up wake lock!
W/ActivityManager( 192): Activity idle timeout for ActivityRecord{4182f1c0 org.hedgewars.hedgeroid/.StartGameActivity}
D/dalvikvm(12711): GC_CONCURRENT freed 434K, 9% free 6659K/7239K, paused 2ms+2ms
D/TaskWidgetDataUtils(12711): In trigger refresh list utils