こういうのは~楽しい~

ばんは、まさかのJDKを入れてなかった宙照です
どおりでコマンドが通らないわけですわ

今日はまぁ年越しそばたべて
昼寝して
車のガラスだけ綺麗にして
ちょっとお勉強
今日はandroidアプリの署名について
θ>急にどうしたんですか
すこしやりたいことがあってですね
それに必要になったからさっきかちゃかちゃやってた
そのメモ的な感じで

だーいぶ昔
かなり昔
systemUI.apkとか
まぁなんかいろいろデコンパイルして
差し替えやら記述変更やらして
コンパイル→apkファイルの差し替え
てかんじでUI変更したりアニメーション変えたり
やりたいことやってたんだけど

今回は同じ方向でやろうとしたら「インストールされていません」とか出たんで
調べてみたら署名しないとインストールできないらしい
タクト>今までできてたんじゃねーのか
今までのはシステム関連だったからそもそもインストールじゃなくて
apkファイルを置き換えただけだから署名とか関係無かったんだとおもわれ
ただ今やろうとしてるのはユーザーアプリだからインストールしないといけない
だから署名が必要

てわけで署名のやり方
とりあえずこの辺を参考に
面倒なら飛ばしておk


Android: apktoolでビルドしたapkが「インストールしていないアプリ」のエラーでインストール拒否される場合の対処法
http://umehal.tumblr.com/post/84104469850/android

AndroidのapkのAndroidManifestを編集してリコンパイルする方法
http://ocotooo.blogspot.jp/2013/11/androidapkandroidmanifest.html

Android 作成したアプリに署名を行う
http://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=Android+%BA%EE%(ry

この辺を見ながらなんとなーくやる
環境は以下
win7 64bit
jdk7
必要なパスは通しておく

まずはkeystoreの作成から

Keystore name test.keystore
Keystore password android
Key alias test
Key password android
CN CN=local,O=TK,C=JP

こんな感じのキーを作成
上のサイトを参考にいくつか変更してコマンドを入力

keytool -genkey -v -keystore test.keystore -storepass android -alias test -keypass android -dname "CN=local,O=TK,C=JP" -keyalg RSA -validity 10000

これでキーができるので
次は署名
これも参考サイトを見つつコマンド

jarsigner -sigalg SHA1withDSA -digestalg SHA1 -verbose -signedjar sig.apk -keystore D:\develop\android\test.keystore notsig.apk test

やった終わったー
と思ったら通らない
エラーは
private key algorithm is not compatible with signature algorithm
キーのアルゴが署名に使うアルゴと一致しねーぞ
とのこと
θ>でしょうねー
あ、気づかれた・・・
うちは気づくのにちと時間が掛かったわ

過程は面倒なのですっ飛ばして結果だけ
いろいろ調べたら

JDK7におけるAndroidアプリの署名
http://d.hatena.ne.jp/AliceRaker/20140324/1395645549

見つけた
キーを作る時のこの部分
-keyalg RSA
ここではキーのアルゴをRSAで指定してるのに
署名の部分は
-sigalg SHA1withDSA
DSAを指定
なるほど違うね・・・
θ>つぎはぎにコピペするとよく陥るミスでしたね
よく陥ってるのに何度も繰り返すっていうね
学習()

そういうわけでもっかいキー作成からやり直し

keytool -genkey -v -keystore test.keystore -storepass android -alias test -keypass android -dname "CN=local,O=TK,C=JP" -sigalg SHA1withDSA -keyalg DSA -validity 10000

アルゴをDSAに変更
そんで参考サイトにあるように
-sigalg SHA1withDSA
も追加
これでできたキーを使って署名コマンドをうつと
無事署名完了
どーやら調べて出てきたキーの作成方法はJDK6向けだったぽいね
そんなわけでやりたいことは完了
署名したらインスコして
動作確認
無事やりたいことができましたわ
タクト>何がしたかったんだよ
それは明日

今日はこんな感じ
θ>また少しリバースエンジニアリングのスキルがあがりましたね
いつの間にかねー
吸い出しからデコンパイル、コンパイル、インスコまで一通りできるようになったわ
あとはソースコードが理解できるようになればもっとやりたいことできるんだろうけどね
θ>素直にアプリの開発を一からやってた方が早い気もしますけど
あれは途中で飽きたからねw
作りたいもの無かったししゃーなし
まぁとりあえずこれ以上かちゃかちゃやるより
借りたゲームをやらないと

ではまた

またアプリ開発の勉強でもすっか・・・?
スポンサーサイト

コメント

非公開コメント

プロフィール

宙照

宙照:よく些細なミスをする電子科
タクト:たまにネジがゆるむたぶん電気科
θ:常識があるたぶん情報科

ネットで見つけたネタやら日常やらを会話形式で進めるブログ
仕事が忙しいと愚痴やらメモやらをこぼしていく
目指せ毎日更新

イラストページ
hed.gif

TOP予定地(物置)
arc用のframeworkやら自作フォントが落ちてたり
http://snowflake000.web.fc2.com

連絡先 \を@に変えて下さい
galaxy_angel_is_my_road\yahoo.co.jp
Author:宙照

カウンター
最新記事
最新コメント
応援エリア
『大図書館の羊飼い』は2013年1月25日発売予定です。『大図書館の羊飼い-Dreaming Sheep-』2014年3月28日発売予定、11月29日より全国のPCショップで予約受付開始です。
『大図書館の羊飼い-Dreaming Sheep-』2014年3月28日発売予定、11月29日より全国のPCショップで予約受付開始です。

『大図書館の羊飼い』キャラクター人気投票が3月28日まで開催中です『大図書館の羊飼い』キャラクター人気投票が3月28日まで開催中です

『穢翼のユースティア』キャラクター人気投票結果発表公開中です。『穢翼のユースティア』キャラクター人気投票結果発表公開中です。

AUGUST AUGUST ARIA オーガスト10周年記念CD『AUGUST 10th MEMORIAL』は2011年12月29日よりコミックマーケット81 オーガストブースで販売します。
フリーエリア
検索フォーム
リンク
ヒヨコバズーカ LEFT×RIGHT
RSSリンクの表示
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
メールフォーム

名前:
メール:
件名:
本文:

カテゴリ
月別アーカイブ