Microsoft 系のあれこれ

港区の SIer で よくわからんことをしている人です。Xamarin 中心でした。(過去形)

Windows 10 Mobile でアプリケーションのフォルダーを参照したい

=================================================

追記:最新のバージョンでは下記手順はできなくなってます。

どうしよう。。。

=================================================

 

UWPの開発で ApplicationData.Current.LocalFolder(= ms-appdata:///local/) とかにログを出力したりするケースがあると思います。

 

ですが、Windows 10 Mobileの標準エクスプローラーでは大したところは見えません。

↓ このぐらいです。

f:id:ShunsukeKawai:20160107193942p:plain

 検索しても見つけてくれません。

f:id:ShunsukeKawai:20160107205325p:plain

なので、どうにかしてログファイルをみたいな、と。

 

調べてみたところ、以下のサイトに行きつきました。

<参考サイト>

forums.windowscentral.com

参考にして試行錯誤の末、なんとかできましたのでまとめときます。

もっとスマートな方法があったら教えてください。。。

 

1.PCでCドライブ直下のショートカットを作成する

なんでやねん。

なんでMobileってゆーのにいきなりPCが登場するんじゃい。

と突っ込みを入れたくなりますが、そこはこらえてください。

 

  • Cドライブを右クリック

f:id:ShunsukeKawai:20160107195201p:plain

  • ショートカットの作成

f:id:ShunsukeKawai:20160107200038p:plain

2.作成したショートカットをMobileに移動する

参考サイトの通り、実機でやるとUSBで簡単なのですが、今回はエミュレーターでの手順を記載しておきます。

f:id:ShunsukeKawai:20160107200831p:plain

  • SD Card タブを選択
  • ショートカットを置いた適当なフォルダーを指定
  • Insert SD Card を選択

f:id:ShunsukeKawai:20160107201213p:plain

f:id:ShunsukeKawai:20160107201441p:plain

  • SDCARD が生まれているので選択

f:id:ShunsukeKawai:20160107201557p:plain

  • 作成したショートカットがある

f:id:ShunsukeKawai:20160107201655p:plain

 

これで、Windows 10 Mobile のCドライブ直下を参照することができました。

 

3.アプリケーションのフォルダーを見つける

あとは簡単じゃーん。と思いの方もいるかもしれません。

そう思っていた時期が私にもありました。

 

答えから言うと、インストールしたパッケージたちは

C:\Data\Users\DefApps\AppData\Packages

にあります。

 

では見てみましょう。

  •  Cドライブ直下

f:id:ShunsukeKawai:20160107202422p:plain

  • Data フォルダ

f:id:ShunsukeKawai:20160107202532p:plain

  • Users フォルダ

f:id:ShunsukeKawai:20160107202611p:plain

  •  DefApps フォルダ

f:id:ShunsukeKawai:20160107202642p:plain

  •  AppData フォルダ

f:id:ShunsukeKawai:20160107204811p:plain

はい、空ですー!

隠しフォルダなのでしょうかね。

ということで・・・

  • DefApps フォルダに戻って検索ボタン

f:id:ShunsukeKawai:20160107202642p:plain

 

  • 「Package」と検索するとヒット!!

f:id:ShunsukeKawai:20160107205519p:plain

  • お目当てのアプリのパッケージ名を選択

f:id:ShunsukeKawai:20160107205743p:plain

LocalStateがありましたよー!!

 

あとはふつうに中に入っているログファイルでもなんでも見れる!!

 

こんな面倒なことしないといけないのでしょうか。。。

ひとまずよかった。

 

Windows 10 × Visual Studio 2015 でAndroid実機デバッグ(Xamarin)

すでに、色んな方がサイトで公開してますが、自分用にまとめ。

 

Androidで実機デバッグするための手順。

  • 端末の設定
  • PC側に端末のドライバーをインストール
  • PC側での接続確認
  • Visual Studioからの起動

端末の設定

ここは簡単なので割愛します。

①端末の開発者オプションを有効にし、USBデバッグを許可にする

PC側に端末のドライバーをインストール

ここは結構手こずりました。

Google USB Driverのインストール

Android SDK ManagerからGoogle USB Driverを指定してインストール。

 

android_winusb.infの編集

  • USBで実機を接続した状態で、デバイスマネージャーからその実機のハードウェアIDをメモ。
  • AndroidSDKがある場所(以下は一例)のandroid_winusb.infを編集する。

%USERPROFILE%\AppData\Local\Android\android-sdk\extras\google\usb_driver

  もしくは

C:\Program Files (x86)\Android\android-sdk\extras\google\usb_driver

  <編集内容>

  メモしたハードウェアIDを以下の対応する箇所に入れて

  「Google.NTx86」、「Google.NTamd64」両方に追加する。

;機種名のコメント
%SingleAdbInterface% = USB_Install, USB\VID_[端末のVID]&PID_[端末のVID]
%CompositeAdbInterface% = USB_Install, USB\VID_[端末のVID]&PID_[端末のVID]&MI_01 

※デバイスマネージャーからコピーしたのをそのままだと余計な(REVなんとかとか)がついてるから対応する箇所だけ抜き出す。

 

③PCに端末のドライバーをインストール

ここまでで準備ができたと思いきや、まだデバイスマネージャーからのドライバーのインストールができない。

Windows 8ぐらいから未署名のドライバーのインストールが簡単にできなくなったらしい。

※色んなサイトにはテストモードにするとかありましたが、不要なようです。

 

  • 設定から起動オプションを指定する用の再起動を行う

f:id:ShunsukeKawai:20151013181351p:plain

  • オプションから「トラブルシューティング」を選択

f:id:ShunsukeKawai:20151013181950p:plain

  •  「詳細オプション」を選択

f:id:ShunsukeKawai:20151013181828p:plain

  •  「スタートアップ設定」を選択

f:id:ShunsukeKawai:20151013182049p:plain

  • 「ドライバー署名の強制を無効にする」を行いたいので、数字の7を押下する

f:id:ShunsukeKawai:20151013182142p:plain

  •  再起動後にデバイスマネージャーから対象の機種を選択し、「ドライバーの更新」を選択
  • Andoroid SDKの場所を指定し、インストールを実行f:id:ShunsukeKawai:20151013182549p:plain

完了です!!やったー!!

 

PC側での接続確認

adbコマンドでちゃんと接続確認できているか確認をします。

adb devices

XXXXXXXX        device

みたいに表示されていればOKです。

最初、deviceの箇所が「unauthorized」になっていましたが、実機に以下の確認メッセージが出ていたのに気づいていませんでした。。。

これをOKで本当にOKです!

f:id:ShunsukeKawai:20151013182848p:plain

 

Visual Studioからの起動

とうとう大詰め。

もう後は簡単です。

Visual Studio 2015を起動してXamarinのソリューションを開いてデバッグ先を先ほどの実機に指定して実行。

f:id:ShunsukeKawai:20151013184306p:plain

 

ドキドキ。

 

 

f:id:ShunsukeKawai:20151013184441p:plain

やったーーーーー!

 

今日はここまで。

UWP用のパッケージ作成時注意事項

はまった。

 

Visual Studio 2015でUWPアプリを作成しようとしたらうまくいかなかった。

 

①ビルド構成の問題

Windows 8.1時代のアプリをUWP対応させたから、この問題が発生した模様。

ストア申請用のパッケージを作成する際に顕在化。

(ビルドはできる。)

 

UWP用のアプリはDebugとReleaseでパッケージ化の仕組みが違うらしい。

参考 ↓

blogs.windows.com

 

普通に新規でUWPのアプリを作成してビルド構成を別で追加したい場合は、Releaseからコピー作成すれば問題ないのだが、

1.Windows 8.1用アプリ時代にReleaseからコピーしてビルド構成作成

  ↓

2.Windows10用アプリ(UWP)にマイグレーション

だと、1.で作成したビルド構成には「.NET ネイティブ ツール チェーンでコンパイルする」のチェックが入っていなかった。

 

ってことでチェックつけたら解決。

 

マニフェストで参照しているファイル 'XXXX.dll' がペイロードに含まれていません。

はい、謎のエラー。

これは単純にVisual StudioのUWPツールのバグのようです。

Update 1.1: Generating Store associated package fails for a UWP application with a WinRT component (.winmd)

ここの通りにUWPツールのKBを当てたら解決。