質問: ### 前提・実現したいこと Androidアプリを、評価用として先方に提供したい。 評価用にするために、「実行できる期限」を適宜設定したいです。 ■ 実現可能な方法を伺いたいです。 ### 発生している問題・エラーメッセージ ・ 証明書に有効期限を設定して署名する(詳細手順は[補足情報]に記載) ・ Android本体の内部時計を、上記期限を過ぎた日時に変更 ・ アプリは正常にインストール・動作してしまう という状況です。 ### 試したこと 0: 署名なしでapkをビルド (trial.apk) 1: 下記コマンドにて、hoge.keystoreを生成 ``` keytool -genkey ... -align hoge -validity 180 -keystore hoge.keystore ``` 2: 下記コマンドにて、apkに署名を取り込み[ts] ``` jarsigner -verbose -keystore hoge.keystore -tsa http://timestamp.digicert.com/ trial.apk hoge ``` 3: 作成された署名済みのtrial.apkを、端末のDownloadフォルダにDragDropでコピー ※ この時点で、端末の<設定時刻は実際の時刻> 4: 端末の設定時刻を「手動」に変更し、期限が切れる年月日に変更 5: 端末のDownloadフォルダに置いてあるapkファイルをクリックしてインストール → [期待動作] 証明書の期限が切れているため、インストールできない → [実動作] 「インストールが完了しました」と表示されてしまう ### 参照サイト [ts] http://blog.ysakaguchi.net/2014/10/apk-tsa-tsacertjar.html [JAA] https://www.android-group.jp/index.php?plugin=attach&refer=%CA%D9%B6%AF%B2%F1%2F2008%C7%AF11%B7%EE%A4%CE%A5%A4%A5%D9%A5%F3%A5%C8&openfile=SigningAndroidApplications.pdf ### 以上、よろしくお願いいたします。
回答: 仮に署名の期限でインストールが制限できたとしても、一度期限内にインストールしたものはそれ以降も使えるわけですよね? 起動時に日時を確認してメッセージを表示して終了するのではいけないのですか?