トッツィーロール

忘れたころに記事を書く備忘録

署名したAPKがインストールに失敗する現象の解決方法

AndroidStudio3.3でアプリを作成し、APKに署名をするとき
署名方法には
V1(Jar Signature)とV2(Full APK Signature)があります。
V2の署名方法はAndroid 7.0以降追加されたよりセキュアな方法との事。
そのため、7.0以下のOSにも考慮して、多くの入門記事や解説サイトでは署名方法にあるV1(Jar Signature)とV2(Full APK Signature)のうち
両方にチェック入れることを推奨していますが、そのようにしてビルドすると
Android 7.0以下の環境ではapkのインストールに失敗します。
V1のみで署名したところ無事にインストールできました。

参考文献
stackoverflow.com

charとsigned charは同じとは限らない

Android-NDKにてC/C++を使っていた時に、気づいたのでメモしておきます。

処理系によってchar型の符号ありなしが変わるようです。
大半のコンパイラのchar型は符号ありのようですが、そうでない場合もあります。
Android-NDKの場合は符号なしでした。
参考記事
torakichi.hateblo.jp

WindowsDriverKit(WDK)でstampinf.exeが無効です(MSB6004)を修正する方法

VisualStudio 2017 Communityにて、アップデート行いWindows SDKのバージョンを更新すると過去にインストールしたWDKが使用できなくなる問題が発生しました。
コンパイル時にstampinf.exeが無効です(MSB6004)のエラーが表示されてコンパイルできなくなります。
調べても具体的な解決策は見つからなかったのですが、結局WDKとVS2017の拡張システムを再度インストールすることで解決しました。

Androidでアプリのデータをバックアップする方法

Androidにてアプリ本体の更新が必要なときなど、アプリの本体(.apk)ではなく、アプリ側で管理しているデータのみをバックアップしたい場合があります。
そのような場合いくつか方法があります。

  • Gmailを使ってバックアップする

Android 6.0以降で利用可能。設定→データのバックアップ から有効化。
一つのアプリでバックアップできる最大容量は25MBのため、何のアプリでも使用できるわけではないです。

  • Heliumを使う

AndroidのアプリであるHeliumを使えばバックアップ可能。
root権限は必要ありませんが、PCにもアプリを入れる必要あり。
調べたところ、root化端末の場合はPCにアプリを入れる必要がないみたいですが、使ってみたらPCにアプリを入れるまで待機して何もできませんでした。
アプリの更新が長い間止まっているようで、最近のAndroidでは不具合も多いみたいです。
rootを取っていない端末ではこの方法がベストだと思います。

  • Titanium Backupを使う(要root)

Androidアプリです。GooglePlayからダウンロード可能。
内部ストレージにバックアップします。
root化端末ではこの方法がベストです。
使い方は、アプリをインストールしたらアプリの一覧が表示されるので、バックアップしたいアプリを選択し、バックアップボタンを押すだけ。
復元時には、「データのみ」「アプリのみ」「データとアプリ」が選択できます。

Kali Linuxインストール後に設定すること

VMware Workstation Playerにて、Kali Linuxをインストールした後にやること

  • 画面ロックの解除

放置するとすぐに画面をロックされてしまうため、解除する。
設定はディスプレイではなく、プライバシーの項目にあるため注意。

最近のLinuxはVMwareToolsをインストールするのではなくopen-vm-toolsをインストールするのが主流みたいです。
最新版のKali Linuxでのopen-vm-toolboxのインストール方法が若干異なっていたためメモしておきます。
Terminal を開いて次のように入力

apt-get update 
apt-get install open-vm-tools
apt-get install open-vm-tools-desktop fuse

再起動で反映されます。

参考文献
https://yukun.info/kali-linux-vmware-tools-install/
vmware - How to install open-vm-toolbox on Kali Linux? - Unix & Linux Stack Exchange

VisualStudioのintelligenceによるコード補完がスペースキーで決定されないようにする

VisualStudioのintelligenceによるコード補完をTabキーのみで有効にする方法。
VisualStudioでC#を触っているうちに設定を変えてしまい、直すまでに時間がかかったのでメモしておきます。
Toggle completion Modeが有効になるとコード補完のキーがTabとspaceキー両方で有効になってしまいます。
C/C++の場合この機能はありません。
Toggle completion Mode の ON/OFFの切り替えは
メニューより編集 ->intelligence-> 完了モードの切り替え
または ショートカットキー Ctrl + Alt + Space