JAR (Android APK) があり、次のように署名した場合:
jarsigner -keystore my.keystore someApk.apk myAlias
署名を解除するにはどうすればよいですか? zip ファイルとして開いて AndroidManifest.xml を抽出しようとすると、それらがすべて台無しになるためです。
マニフェストやその他のメタ情報(リソースを抽出したいだけなのでおそらく気にしない)を気にしない場合は、でファイルを抽出しjar -xvf myjar.jar、META-INFディレクトリを削除して、新しい(署名されていないjar)を作成できます。 )。
メタ情報に関心がある場合は、署名と検証の理解を参照して、署名の機能の説明を確認してください。マニフェストを編集し、jarのMETA-INFディレクトリにある署名ファイルを削除することで、jarの署名を解除できるはずです。
上記はあなたの質問に答えるかもしれませんが、署名されたjarがあるとリソースが「混乱」する結果になるかどうかわからないため、問題が解決しない可能性があります。リソース自体は、署名プロセスの影響を受けません。jarコマンド自体を介してリソースを抽出するだけの場合(上記の2番目の段落のように)、まだ問題がありますか?
問題は署名とはまったく関係がないことが判明しました。これは、XML ファイルがコンパイルされているためです。このファイルの内容を確認するには、aaptツールを使用する必要があります。