Android関連のことを調べてみた2019年11月24日

Android関連のことを調べてみた2019年11月24日
目次

Visual Studio 2019のC#・Android環境にて、指定した画像中に任意のファイルを埋め込む。コードのサンプルです。

表題の通り
Visual Studio 2019のC#にて、
Visual Studio 2019のC#にて、直接バイナリを叩いて指定した画像中に任意のファイル情報を埋め込む。
ステガノグラフィーに関する。コードのサンプルでございます。

特段、NuGetなどで他のプラグインや
別途外部dllを必要としないようにしています。

#概要
任意のファイルを、画像に埋め込む際に
バイナリを以下のように、直接叩いています。

**1.**指定した画像のバイナリを一旦すべて読み込む。
**2.**埋め込む任意のファイルのバイナリも、すべて読み込む。
**3.**画像の各バイナリを8桁の2進数にして、11111111とのようにする。
**4.**8桁の2進数の内、下位4桁をバッサリと切り捨て、1111—-とのようにする。
**5.**埋め込むファイルの各バイナリを8桁の2進数にして、00000000とのようにする。
**6.**8桁の2進数の内、上位4桁と下位4桁に分割して、0000/0000とのようにする。
**7.**画像の各バイナリを上位4桁の2進数に、
  埋め込むファイルの下位

元記事を表示

AndroidをハッキングするあるCTF例題の体験談

 こんばんは、より良い日本語でサイバーセキュリティ記事を書けるように祝日も頑張っている55momotara55です。
  残念ながら昨日インターンの会社で「完全初心者向けのmetasploit」の使い方を紹介する記事を書いたのですが、退勤までいつも使っている「TITANIA」というlinuxのバーチャルOSが不具合があり、データが一瞬で飛ばしてしまいました。。。。。。。:frowning2:
 **とりあえず今日はAndroid 4.4バージョンのOSを侵入する体験談です。**

 
テスト目標:Android 4.4
ペネトOS:kali·linux
**CTF環境:https://www.vulnhub.com/entry/android4-1,233/**
Level:easy

**1,ANDROIDを起動**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/526362/5e277a15-b93e-655f-10e9-e98a0b44559f.png)

**2,一番目のAndr

元記事を表示

Flutterで環境構築からHelloWorld & スプラッシュまでやってみた。【環境構築編】

# 概要
自己学習で、Flutterを触ってみました。
サンプルアプリ&スプラッシュ起動までの環境構築手順となります。

# Flutter is何?
>Flutter は Google 社が開発しているオープンソースのアプリケーションフレームワークです。
クロスプラットフォームに対応しており、ワンソースで複数のプラットフォーム(iOS、Android、Web、Windows、Mac、Linux)に対応したアプリケーションを開発することができます。
また、マテリアルデザインによる美しい UI を利用することができます。

だそうです。
逆にオリジナリティー溢れるデザインは適応しずらいって事ですかね。

そのほかにFlutterは以下の特徴があります。
– Dart 言語 による開発
– ホットリロード(記述したコードをリアルタイムに反映)
– 高速な動作

# 環境
– macOS Catalina version 10.15.1
– Flutter v1.9.1+hotfix.6 // Stable版
– Android Studio 3.5.2 for Mac
– Android

元記事を表示

Stetho導入

# はじめに
AndroidStudioでProfilerがあり、そこでNetworkの通信内容を見ることが可能ですが、業務でAirWatchに対応した際に実機でProfiling出来なくなってしまったので如何に通信内容を調べようかと思案していた。
パケットキャプチャ出来ればいいんですが、社内のソフト管理が厳しく申請通すのが~~ひどくめんどくさく~~時間を要するので何かいいのがないかなーと調べていたところ、Stethoを見つけて使ってみたのでその時の記録を残すものである。

# 環境
Mac Catalina

# Stethoとは
一時期仮想通貨でニュースを賑わせていたFacebookが公開しているオープンソースなライブラリ。
ライセンスはBSDなので厳しくない。
パースしている内容はChromeで見る。
今回はNetworkだけをターゲットにしているけどRealmとかViewのヒエラルキーとか色々見ることが可能。
同じようなライブラリでFlipperなるものもあるけどFlipperのアプリをPCに入れる必要がある。
ちなみにFlipperは昔Sonarって名前だったみたいです。(D

元記事を表示

Android で OpenCV のサンプル camerapreview を試す

[AndroidStudio で OpenCV をインポートする]
(https://qiita.com/ohwada/items/71eb18296aac46f9f5ee)
の続きです。

### 概要

Android 用 OpenCV には、
8個のサンプルが同封されている。

そのうち camerapreview は、
基本となるサンプルなので、少し詳しく説明する。
OpenCV の Java / Android の API に関するドキュメントはないようです。
ソースコードを解読した。

### OpenCV の Mat

OpenCV で扱う画像の形式です。

参考 [OpenCV の Mat ってやつの話](http://shimikel.hatenablog.com/entry/2015/07/25/190139)

参考 [cv::Matの基本処理](http://opencv.jp/cookbook/opencv_mat.html)

参考 [OpenCVのMatとbyte[]の相互変換](https://qwx.jp/opencv-interconversion-

元記事を表示

onGlobalFocusChangedにnullを食わされる

AndroidTVとか、キー操作でフォーカスを移動するアプリを作る際に使いがちな
ViewTreeObserver.OnGlobalFocusChangeListener

唯一のPublic methidはdeveloper.android.comのreferenceによると以下のように定義されています
abstract fun onGlobalFocusChanged(oldFocus: View!, newFocus: View!): Unit

~~だけど~~実際に使ってみるとoldFocusにnullが入ってきたりします
https://developer.android.com/reference/kotlin/android/view/ViewTreeObserver.OnGlobalFocusChangeListener.html
には以下のような記載が
When the view tree transitions from touch mode to non-touch mode, oldFocus is null.

kotlinではAndroid StudioがV

元記事を表示

備忘録: Android ChromeアプリでのURLスキームIntent呼びだし

# 事前情報
AndroidのChromeアプリでURLスキームを利用して、Androidアプリを起動する際に気をつけるべき、不具合?仕様?があるので忘れないためというのと、記事がどこにもなかったため他にそのパターンに出会う人がいた時のために記事にしておきます。
あらかじめ書いておくと、ここに不具合なのか仕様なのかはわかっていません。またそれに対する回避方法などもわかっておりません。
ただ、意図しない挙動が起こるという事実だけを記載します。
ちなみに1週間ずっと悩んだ挙句答えに辿りつきませんでした。。。。

# 概要
AndroidのアプリをChromeブラウザアプリから起動させる際にURLスキームを利用するとブラウザバックが起こるという内容です。

# ブラウザバックが起こるパターン
## 前提条件
OS Android
ブラウザ Chrome
画面A/画面B 2つ
呼び出すスマホアプリ 1つ

## 前提条件詳細
– 画面Aには画面Bへの別タブで開くaタグが記載されている

“`screenA.html

元記事を表示

イノベーション仮説のMVPを作ったらクソゲ―になった!

**学びがあったから大丈夫!まだ一度もピボットしていないから余裕!(挨拶)**

### あらすじ

すげー電車激込み状況でも平然とゲームやってる人居ますよね。そっと手を伸ばして電源ボタンポチーしてしまいたいけど、輩に逆ギレされるより

ゲーム中断→課金モチベーションが下がる→機会損失が発生→ゲーム会社が儲からない→クラウドが売れない→ICT業界が停滞→リストラ!

という、いけないなんちゃら先生ロジックが恐ろしいのでできん!!笑

なので、逆説的に仮説を立ててみました。

満員電車でもゲームをやりたい→ならゲームを楽しむ意欲は強いはず→ならよりゲームを楽しむためには我慢ができる→であれば**ゲームを我慢する事でゲームをより楽しむ仕組みがあれば良い**

?????

何言ってんだかさっぱ。

されどこの仮説ロジックをコード化すると

**「満員電車に詰め込まれている人のBLEデバイス数をゲーム内の成長経験値に換算すれば良いのでは?」**

アンド

**「あとBLEデバイスのMACアドレスから昔流行った[バーコードバトラー](https://ja.wikipedia.org/wik

元記事を表示

F#でAndroidアプリ開発 Helloworld編

F#でandroidアプリ開発の基本となるHelloworldを出力する方法を紹介します.

まずはVisual Studio 2019を起動します.
「新しいプロジェクトの作成(N)」→「空のアプリ(Android)」を選択します.

![1_createProject.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/521336/212ae8bf-75af-a98b-f4e0-82223454af49.png)

任意の「プロジェクト名(N)」「場所(L)」「ソリューション名(M)」を入力し,作成します.

私の環境では下記のエラーが表示されます.
もしも表示されない場合はこの項目は飛ばしてください.

FSharp.CoreとXamarin.Android.Fsharp.ResourceProviderのパッケージが見つからなかったようです.

![2_errorMessage.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co

元記事を表示

Xamarin.Forms URI指定でImageが表示できなかった

Microsoft公式の[Image のチュートリアル](https://docs.microsoft.com/ja-jp/xamarin/get-started/tutorials/image/?tabs=vswin)で詰まってしまった
Android端末で実機デバッグしてます

# エラーメッセージ
[0:] ImageLoaderSourceHandler: Could not retrieve image or image data was invalid: Uri: http://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Papio_anubis_(Serengeti%2C_2009).jpg/200px-Papio_anubis_(Serengeti%2C_2009).jpg

# やったこと
### ①HttpClient・SSL/TLS の設定変更
[参考記事](https://doumer.me/resolve-image-loading-error-in-xamarin-forms/)

ソリューション

元記事を表示

【Kotlin】下層のViewのタップイベントを拾ってしまう

androidではタップ時、タップ可能なViewがないと下層のViewのイベントを拾ってしまうそう

なので表示されてるfragmentのConstraintLayoutやRelativeLayoutに

“`kotlin
android:clickable=”true”
“`

を記述してタップ可能にしてやると解決

元記事を表示

[ Android ] サーバから取得した値をsetterでアクティビティに引き渡す

今回はサーバから取得した値をアクティビティに引き渡す方法を記す。

##setter()
セッターというメソッドを作れば簡単に実装できる。
取得値を引き渡したいクラスに、引き渡し用の変数を作り、セッターメソッドでその変数に代入すれば完成である。
具体的には以下のように実装する。

MainActivity.java

~~~java
public class MainActivity extends Activity {
private String serverValue = null;

public void onCreate(Bundle state) {
//…
new MyAsync(this).execute();
}

public void setList(String serverValue) {
this.serverValue = serverValue;
}
}
~~~

MyAsync.java

~~~java
public class MyAsync ex

元記事を表示

AndroidプロジェクトでGitHub Actionsのcacheを利用しようとしたが出来なかったメモ

# 概要
– GitHub Actionsでcacheが利用できるようになった。
– https://qiita.com/ngmr_mo/items/0576bfcea8c4487a6b47
– [Caching dependencies to speed up workflows](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/caching-dependencies-to-speed-up-workflows)
– cacheを利用するには[actions/cacheを使用する](https://github.com/actions/cache)

# Androidプロジェクトでどうcacheを利用するか?

– chache対象のディレクトリ/ファイルはなにか?
– `.gradle`
– CircleCIの設定を参考にhashを計算してそれをkeyにする。

“`yml
– name: cache gradle
id: cache-g

元記事を表示

Google Play Developer APIの旧バージョンに関する警告

問題に関する情報がなかったので苦戦しましたが、問題が本日付けで解決したので一応報告を兼ねて掲載します。

##症状##

Google Play Consoleにて以下の警告が発生。

「アプリで古いバージョンのGoogle Play Developer APIを使用していることがわかりました。2019年12月1日以降、このAPIのバージョン1および2は使用できなくなります。それまでにバージョン3にアップグレードしてください。」

##前提##

・Microsoft VisualStudio2017のXamarinにて作成したアプリ。
・GooglePlayに5本ほど公開しているが1本のアプリのみで上記警告がでている。(他のアプリでも一時期は表示されていたがしばらくすると表示されなくなった。)
・Google Play Developer APIはGoogle Play Consoleにリンクしているが使用している形跡がない。(意図的には使用していない)

##解決策##

まずGoogleに問い合わせメールを送りテンプレと思わしき以下の回答をもらいました。

>今回のアラートは、

元記事を表示

Androidエミュレーターでadb remountしようとしてもfailする場合

## adb remountを実行するとfailする

この記事に従ってhostsを書き換えようと思ったが出来なかった。

https://qiita.com/devnokiyo/items/5388169f798bd2678d64

## 解決策

最初から入ってるエミュレーター`Nexus_5X_API_29_x86`では頑張っても無理でした。
Android Studioから新しいエミュレーター`Nexus_6P_API_27`をインストールしてリトライしたらあっさり解決。

“`
$ emulator -list-avds
Nexus_5X_API_29_x86 // NG
Nexus_6P_API_27 // OK
“`

元記事を表示

ANDROID STUDIO KOTLIN ERROR : Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6. Please specify proper ‘-jvm-target’ option

ENVIRONMENT
 - AndroidStudio3.5.2 アンドロイドスタジオ
 - KOTLIN コトリン
 - MinRequirementAPI lolipop22 /TestMachine Nexus6

ERROR Contents エラー内容

“`
: Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6. Please specify proper ‘-jvm-target’ option
“`

新規にプロジェクトを構成し適当なテンプレートを選択してビルドすると上記エラーが出る場合があります。以下2ステップでエラーを解消できます。

#STEP1 ターゲットJVMを1.8に変更します。

「ファイル」「設定」「Kotlinコンパイラー」を選択し、ターゲットJVMバージョンを1.6から1.8へ変更します。

![0132.png](https://qiita-image-store.s3.ap-northe

元記事を表示

twrpを自分でビルドしてみた

# きっかけ
いつも通りtwrpを使っていたときにふと普段見てなかったスプラッシュ画面を見て気がついた

**これよく見たら別端末用じゃん**

※実話です

Ulefone Armor 5のtwrpのつもりで使ってたら
Ulefone **Power** 5のtwrpだったんです。
でもどれだけ探してもArmor 5向けのtwrpは見つからなかった自分でビルドすることにしました。

# で、どうやって?

## 神ツール発見
githubで”twrp build”みたいな単語を調べてたらすごい便利なツールを見つけたので今回はそれを使いました。

https://github.com/TwrpBuilder/twrpbuilder_tree_generator

これです。
twrp用にデバイスツリーを生成してくれるすごいツールです(語彙力
使い方もすごくかんたんで、適当な方法でrootを取りターミナルアプリをインストールし、ddでリカバリっぽいパーティションを取ってきて

“`bash
java -jar TwrpBuilder-1.0-SNAPSHOT.jar -r <ファイル名

元記事を表示

【AndroidStudio】Emulator: PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT

以下の記事の続きです。(自分的に)

– [【AndroidStudio】ERROR: Failed to install the following Android SDK packages as some licences have not been accepted.](https://qiita.com/yamahei/items/499ef3d39b275b108ffe)

AndroidStudioでエミュレータを使ってAndroidアプリをローカル起動しようとした(Run ‘app’)ところ、以下のエラー。

“`
Emulator: PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
“`

環境変数がない。
確認したらない(当たり前か

“`
C:\Users\ORE>set ANDROID_SDK_ROOT
環境変数 ANDROID_SDK_ROOT が定義されていません
“`

AndroidStudio入れる前にXamarinでAndroidアプリ作ってたのがいけなかったの

元記事を表示

【AndroidStudio】ERROR: Failed to install the following Android SDK packages as some licences have not been accepted.

Windows10にAndroidStudio(3.5.2)をインストール。
gitからプロジェクトをclone。
Make Projectしたら以下のエラー。

“`bat
ERROR: Failed to install the following Android SDK packages as some licences have not been accepted.
platforms;android-27 Android SDK Platform 27
build-tools;28.0.3 Android SDK Build-Tools 28.0.3
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
Alternatively, to transfer the license agreements from one workstation to anoth

元記事を表示

【Androidアプリ入門】音声入力と時刻出力で遊んでみた♪

スマホアプリは難しいのかなと思っていたのでこれまでやらずにいたが、やってみると、
たかだか始めてから3日目ですが、なんとなく面白いので記事にしておこうと思う。

動機としては、先日の会話アプリの出来がいいので、ぜひみんなにも試してほしいのだが、スタンドアローンだとどうも反応がわからないので、スマホアプリにして音声で会話アプリまで作りたいということで、自信ないけど始めてみました。

始めて初日は、悪戦苦闘。。。ネットで探したアプリをベタ打ちで動かそうとしましたが、エラーだらけで一向に動きません。
ということで、一冊買って始めました。
初日は、ビジュアルスタジオインストールしてネットアプリを試して終わりました。
二日目は、以下の本の部品を画面に並べて実機で表示させて終わり。
今日は、三日目です。
[基礎&応用力をしっかり育成!Androidアプリ開発の教科書 Kotlin対応 なんちゃって開発者にならないための実践ハンズオン (CodeZine BOOKS) 単行本(ソフトカバー) – 2019/7/10
WINGSプロジェクト 齊藤 新三 (著), 山田 祥寛 (監修)](https:

元記事を表示

OTHERカテゴリの最新記事