apk ファイル作成と署名

apk ファイル作成と署名

電子証明書を keytool コマンドで作成したので
今回は apk ファイルを作成

プロジェクトを右クリック

Android Tools > Export Signed Application Packages
を選択
これでできると思ったけど
Exoirt Abirted
とエラーがでてしまう

apk

エラーメッセージは
Export aborted bacause fatal lint erros were found
These are listed in the lint View
Elther fix these befre running Export again or turn off Run full erroor check when exporting app
in the Android > Lint Effor Checking preference page

ここででてくる Lint はソースコードの静的解析

これはセキュリティ
パフォーマンス
ユーザビリティ
アクセシビリティ
国際化などのチェック項目に引っかかっている
ということ

この場合の対処方法は
ソースコードの修正
もしくは Lint のチェック項目の緩和となる

まずはソースコードを修正しようとしたけど
エラーのでているのが
/res/values/strings.xml

<string name="app_name">PhotoNavi</string>

さすがにアプリ名でエラーは理解できなかったため
Lint app_name
で検索

Android Lintでエラーがでる

を参考にしてみたところ
ライブラリの言語リソース設定が
それを利用しているアプリの
リソース設定にまで影響してくる
とのことです

このため
Lint のチェック項目緩和の手段をとることに

設定するのは
Missingtranslation を無視するようにすること

プロジェクトを右クリックし
Properties を選択

Android Lint Preference を選択し
missingt
まで入力して
MissingTranslation の項目を検索

設定値を Fatalから Warning に変更し
applyをクリック

apk3

これで変更するとエラーがなくなり次にすすめるように

もう一回
プロジェクトを右クリックして
Android Tools > Export Signed Application Packages
を選択

するとapk ファイルにするプロジェクト名がでるので
Next をクリック

apk4

次に keystore ファイルを指定する
すでに作成済みなら
use existing keystore にチェック
Browse で場所を指定

Password には keystore ファイルのパスワードを入力する

apk5

次にAlias とパスワードを設定
これも同じパスワードになる

次の画面では
appk ファイルの保存先を指定する
Destination APK file
の横へ保存場所とファイル名を入力
拡張子は
.apk
になる

これは Browse ボタンで保存場所を開くだけでよい

場所が決まったら finish をクリックすると
apk ファイルが作成される

作成された apk ファイルに署名ができているか
調べるには jarsigner コマンドを使う

jarsigner -verify -verbose -certs PhotoNavi.apk 

というように
jarsigner -verify -verbose -certs apkファイルのパス
で実行すると署名されているなら
その署名内容が表示される

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です