– Androidアプリへの署名(PDFファイル)
署名に使う証明書について、自己署名の信用力は名刺程度、という表現が言い得て妙。
同じ証明書での署名アプリ同士でプロセスやリソースの権限を共有できるのですね。
カテゴリー: Android開発
apk パッケージの AndroidManifest.xml を解析するには
.apk ファイルに含まれる AndroidManifest.xml はバイナリ形式になっているため、そのままでは設定を読むことが出来ません。
元のXMLに戻すのではなく、XMLの情報を読みたいだけであれば、Android SDKに付属している aapt (Android Asset Packaging Tool)というツールを使うことで可能です。
aapt l -a <apkファイル>
aaptプログラムはapk作成のためのツールです。
それぞれのバージョン毎に独立した実行ファイルになっていて、platforms 以下それぞれのSDKバージョンのフォルダ以下に存在しています。
(追記)以前は platforms以下に分かれて配置されていましたが、現在は platform-tools フォルダに統合されました。
android-sdk/platform-tools/aapt
AndroidManifest.xml について書かれているのは “Android Manifest:”以下ですね。
res/drawable/icon.png
res/layout/items.xml
res/layout/main.xml
AndroidManifest.xml
resources.arsc
classes.dex
META-INF/MANIFEST.MF
META-INF/CERT.SF
META-INF/CERT.RSA
Resource table:
Package Groups (1)
Package Group 0 id=127 packageCount=1 name=com.example.foo
~中略~
Android manifest:
N: android=http://schemas.android.com/apk/res/android
E: manifest (line=2)
A: android:versionCode(0x0101021b)=(type 0x10)0x3
A: android:versionName(0x0101021c)=”1.2″ (Raw: “1.2”)
A: package=”com.example.foo” (Raw: “com.example.foo”)
E: application (line=6)
A: android:label(0x01010001)=@0x7f040000
A: android:icon(0x01010002)=@0x7f020000
E: activity (line=7)
A: android:label(0x01010001)=@0x7f040000
A: android:name(0x01010003)=”.Foo” (Raw: “.Foo”)
E: intent-filter (line=9)
E: action (line=10)
A: android:name(0x01010003)=”android.intent.action.MAIN” (Raw: “android.intent.action.MAIN”)
E: category (line=11)
A: android:name(0x01010003)=”android.intent.category.LAUNCHER” (Raw: “android.intent.category.LAUNCHER”)
E: uses-sdk (line=16)
A: android:minSdkVersion(0x0101020c)=(type 0x10)0x3
インテントごとの実行権限など一通りの設定を参照することが出来ます。
その他にもリソースID情報などもapkに関係する様々な情報を得られます。
参考:
– How to parse the AndroidManifest.xml file inside an .apk package(stackoverflow)
– エンコードされたAndroidManifest.xmlをデコードする
HTC Desire で急に通知バイブが鳴動しなくなる問題の対策
HTC Desire, Droid Incredible などで gmail の通知などでバイブが鳴らなくなる不具合があるようです。
調べてみたところSound Managerというアプリでバイブレーション設定することで解決するとのこと。
バイブが鳴るようになったら Sound Manager はアンインストールしてもOKです。
ダウンロード用QRコード(クリックでAndroid Merketへジャンプします)

参考:
No notification vibration(Android Forum)
開発の参考サイト
Intent関係:
– 暗黙のIntent を投げてみた – minghai の日記
http://d.hatena.ne.jp/minghai/20090316/p1
Intent の仕様について。
– Intentチュートリアル
http://www.次世代創造機構.jp/android/androidLecture/Intent/Intent.html
Eclipseでプラグイン更新後エラーで起動しなくなった時の対処方法
MESSAGE バンドル org.eclipse.equinox.app (913) を自動的に有効化している間にエラーが発生しました。
と出て、Eclipse が起動しなくなった。
Eclipse ディレクトリの
eclipse.exe -clean.cmd
を実行して解決しました。
ない場合はコマンドラインから
eclipse -clean
でOKです。
ADT – うまく動作しない時の対処方法
ADT(Android Development Tools) 0.6 を Eclipse 3.5(Galileo), Java 6.0 の環境でインストールしたものの色々不安定です。
Conversion to Dalvik format failed with error 1
というエラーが出て、プロジェクト→クリーンすればいいよという情報があったのでやってみたけど解決に至らず、試行錯誤の結果次の手順でプロジェクト設定を修正したところエラーが消えました。
1.パッケージプロパティーでプロジェクトを右クリック
2.Androidツール→プロジェクトプロパティを修正を選択 (Android Tools > Fix Project Properties)
3.最後にプロジェクト→クリーン
gen フォルダがおかしい時や、Android のライブラリの欠落もこれで修正されます。
参考:
Android Eclipse Classpath – want to add classpath container path but eclipse won’t let me.
デコンパイラ JD-Eclipse を入れてみた
デコンパイラといえば jad と、 Eclipse 組み込み版の Jadclipse が主流でした。
しかし最近は Jadclipse がメンテナンスされていなかったり、そもそもjad が公式配布停止していたりで残念なことに事実上完全に開発停止になってしまったようです。
そこで代わりを探していたところ、JD-Eclipse というものを見つけました。
Eclipse 3.5 (galileo)ですんなりダウンロード完了。
Java 5 の逆コンパイルにも対応していて、Jad よりも高機能なようです。
Eclipse アップデートサイトからの更新はこちら。
http://java.decompiler.free.fr/jd-eclipse/update
日本語での使い方説明記事はこちら。
究極の問題解析ツール、逆コンパイラJD-Eclipseとは(@IT)
参考:
– JD-Eclipse Java Decompiler
– 究極の問題解析ツール、逆コンパイラJD-Eclipseとは(@IT)