読書クエスト ~注文の多い料理店~ プライバシーポリシー
(個人情報保護方針)
私たちは、個人の重要性を認識し、その保護の徹底をはかるため、このプライバシーポリシーを公開し、ユーザーのプライバシー保護に最大限の注意を払うことをお約束いたします。
1.個人情報の取得
「読書クエスト ~注文の多い料理店~(以下、当アプリ)」は、広告表示のために通信を行いますが、個人の特定に使用するものではありません。
2.個人情報の管理について
当アプリは、ユーザー様の個人情報を特定することはありませんが、アプリのダウンロード、使用に関しましては自己責任でお願いいたします。
3.広告の配信について
当アプリは第三者配信の広告サービス「Google AdMob グーグルアドモブ」を利用しています。
当アプリは小学生以上の方を対象としており、広告も子供のための広告を表示いたします。
4.免責事項
当アプリは小学生の学力向上を目標の一つとしておりますが、必ずしもそれが保証されるものではありません。
当サイト、当アプリからリンクやバナーなどによって他のサイトに移動された場合、異動先サイトで提供される情報、サービス等についての一切の責任を負いません。
当アプリの使用によって生じた損害等の一切の責任を負いかねますのでご了承ください。
以上。
ゲームアプリ 脱出ゲーム るいの調査レポート1 ~七宿ヒルズタワー編~ プライバシーポリシー
プライバシーポリシー
(個人情報保護方針)
私たちは、個人の重要性を認識し、その保護の徹底をはかるため、このプライバシーポリシーを公開し、ユーザーのプライバシー保護に最大限の注意を払うことをお約束いたします。
1.個人情報の取得
「脱出ゲーム るいの調査レポート1 ~七宿ヒルズタワー編~(以下、当アプリ)」は、広告表示のために通信を行いますが、個人の特定に使用するものではありません。
2.個人情報の管理について
当アプリは、ユーザー様の個人情報を特定することはありませんが、アプリのダウンロード、使用に関しましては自己責任でお願いいたします。
3.広告の配信について
当アプリは第三者配信の広告サービス「Google AdMob グーグルアドモブ」を利用しています。
4.免責事項
当サイト、当アプリからリンクやバナーなどによって他のサイトに移動された場合、異動先サイトで提供される情報、サービス等についての一切の責任を負いません。
当アプリの使用によって生じた損害等の一切の責任を負いかねますのでご了承ください。
以上。
しょうゆ顔・ソース顔 顔判別アプリ 調味料カテゴライズアプリ 配信しました♪
しょうゆ顔・ソース顔 調味料カテゴライズ アプリ配信しました♪^^
9種類の調味料からあなたの顔を判別して診断します♪
しょうゆ顔・ソース顔・みそ顔・塩顔・砂糖顔・ケチャップ顔・オリーブオイル顔・マヨネーズ顔・酢顔の中で、あなたはどの調味料に診断されるでしょうか??
ネタとしてお楽しみくださいね♪
どうぞよろしくお願いいたします。
しょうゆ顔・ソース顔 調味料カテゴライズ プライバシーポリシー
プライバシーポリシー
(個人情報保護方針)
私たちは、個人の重要性を認識し、その保護の徹底をはかるため、このプライバシーポリシーを公開し、ユーザーのプライバシー保護に最大限の注意を払うことをお約束いたします。
1.個人情報の取得
「しょうゆ顔・ソース顔 調味料カテゴライズ(以下、当アプリ)」は、広告表示のために通信を行いますが、個人の特定に使用するものではありません。
また、画像をカメラやギャラリーから取得し、通信し分類器にかけ分類しますが、画像はその目的のみに使用し、破棄します。個人の特定のために使用するものではありません。
2.個人情報の管理について
当アプリは、ユーザー様の個人情報を特定することはありませんが、アプリのダウンロード、使用に関しましては自己責任でお願いいたします。
3.広告の配信について
当アプリは第三者配信の広告サービス「Google AdMob グーグルアドモブ」を利用しています。
4.免責事項
当サイト、当アプリからリンクやバナーなどによって他のサイトに移動された場合、異動先サイトで提供される情報、サービス等についての一切の責任を負いません。
当アプリの使用によって生じた損害等の一切の責任を負いかねますのでご了承ください。
以上。
【Flutter】 Firebaseとの連携ができず奮闘しています。3<また先が見えなくなった。~JDK周り~>
Flutterで開発がしたいです。Flutter初心者だけど頑張っています。
FlutterのJDK(Java Development Kit)ってどのバージョンを使えばいいのでしょう。
今日はここで詰まったのでメモを残します。
どう詰まったか
現在どうしてもJDK14を使いたい事情が出てきて(そもそも動画コースのバグ改修をしています)。JDK8を使っていたのを、JDK14をインストールして、環境変数にJDK14のパスを設定しました。
flutter doctor -v にて、
X Android license status unknown. Try re-installing or updating your Android SDK Manager. See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed instructions.
「Android license status unknown.」というのが出ました。
このサイトにあるように、Androidのライセンス確認ができていない様子だということで、普通は「flutter doctor --android-licenses」で直るらしいのですが、直らない場合があるとのこと。そして私の場合はこの直らない方でした。
sdkmanager --licenses をすると
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156) at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75) at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73) at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48) Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ... 5 more
「java.lang.NoClassDefFoundError」というようなエラーが。これも先ほどのサイトに答えが書いてあり、現在のSDKのバージョンはJAVA9以降に対応しておらず、JAVA8で動かす必要があるとのことらしいです。
一応、上記サイトを進んで、下記のようなコマンドを売ってみました。
set JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
そして、flutter doctor --android-licensesをすると、
Error occurred during initialization of boot layer java.lang.module.FindException: Module java.se.ee' not found
「java.se.eeはないよ」ということで、JDK14にはこれはないのだなということがわかりました。
というわけで、JDK8を使うようにします。
【Flutter】 Firebaseとの連携ができず奮闘しています。2<原因がわかったかもしれない>
【Flutter】 Firebaseとの連携ができず奮闘しています。 - odekakeneko’s blog
前回の記事の続きです。
もうこの問題、3週間くらい奮闘しています。GWに丸何日もこの問題にささげたおかげで、もしかして解決の兆しが見えてきたのでその途中経過を書きます。
その前に振り返りから
・UdemyでFlutter学習コースを購入
・インスタグラムのクローンアプリが作れる、というコース。
・Googleの認証でエラーが出た
signinSilentlyのcatcherrorで必ず下記のようなエラーコードが出る
I/flutter (18667): Error Message:MissingPluginException(No implementation found for method init on channel plugins.flutter.io/google_sign_in)
Runボタンのbuildは通るが、このエラーが必ず出てくるで消したい。ということでした。
===
話はそれますが、Udemyのこのコースの講師に質問してみたところ、
「OK,助けるよ。」
というような言葉を英語で頂き、現に未解決ながら4~5往復のメッセージやり取りをさせてもらっていて、じわじわ解決に近づいている気がします。Udemy講師親切でありがたいなぁ。
===
Firebaseプロジェクトの生成
本筋に入る前に、またちょっと話がそれます。
皆さんFirebaseのプロジェクトがどのようにGoogleに認識されているかご存じですか?
下記のエラーをご覧ください。
確たる証拠になるドキュメントなどは見つからなかったのですが、このコースを反復しているうちにこういうことじゃないかということに気が付いて、講師に質問したら「(概ね)君は正しいよ」というような言葉をいただきました。
そこに、「com.company.appname」というAndroidパッケージ名があって、それはFlutterのappレベルのbuild.gradleからとってこれるものでした。アプリのニックネームは省略可でその下の、デバッグ用のSHA-1キーも省略可ではあるのですが、実はこれ(SHA1キー)と先ほどのAndroidパッケージ名のペアでもって、GoogleはこのFirebaseに関連付けられているアプリをグローバルに一意(ユニーク)なものとして認識しているようなのです。
そして、SHA-1キーはPCが発行するPC自身の識別番号のようなものらしく、同じPCを使っているならば何回調べても同じ番号が出てきます。
先ほどのグローバルに一意とはどういうことかというと、この(PCから成る)SHA-1キーと(「com.company.appname」という)Androidパッケージ名のペアが、世界中のGoogleアカウントの中で一つしかないということです。
最初に見せた画像は、普段とは別のアカウントでFirebaseプロジェクトを作り、同じパッケージ名とSHA-1キーを登録したときに出たエラーです。「もうすでにこのプロジェクトはあるよ」って言っています。
ちなみになんでパッケージ名とSHA-1キーの重複が起きたかというと、私がUdemy講師から学習のためにインストールしたパッケージを使って、私が私のPCで発行したSHA-1キーを使ったからです。
パッケージ名を無断で変えたらほかのエラーが起きるかもしれないし、PCはそうやすやすと変えられません。
しかも、このプロジェクト、削除しても一意のものとしてずっと残るらしいのです。
参考:Understand Firebase projects
ということで講師に質問すると「じゃあパッケージ名を変えてこういう風にして」と指示があったのでそれに従って本日エラーを解いていました。
長くなりましたが前置きは終わりです
===
object heapなんちゃらが出た
SHA1キーを発行するのに、gradlewをopen in Terminalし、「graldlew signingReport」する必要があるのですが、このSHA1キー発行でもエラーが起こりました。
Error occurred during initialization of VM Could not reserve enough space for 1572864KB object heap
これは、Flutterがビルドをするときに、Gradleというシステムを使っているらしいのですが、そのGradleが、Java Virtual Machine (JVM)という仮想マシンを使ってビルドをしているらしい、その時に十分なスペースがなかった場合に出るエラーのようです。
gradle.propertiesに下記のような記述をして、解決します。
android.enableJetifier=true android.useAndroidX=true org.gradle.jvmargs=-Xmx1536M android.enableR8=true #↓試行錯誤の跡 #org.gradle.jvmargs=-Xmx4096M #org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m #org.gradle.jvmargs=-Xmx4608M #org.gradle.jvmargs=-Xmx2048M #org.gradle.jvmargs=-Xmx3072M
要は、「org.gradle.jvmargs=」の後ろに「-Xmx4096M」などのなるべく大きい数値を入れて、十分なスペースを確保しようということみたいです。しかし、これは大きすぎてもいけないらしく、「-Xmx4096M」とすると、
「Invalid maximum heap size: -Xmx4096M
The specified size exceeds the maximum representable size.」
というエラーが出てしましました。「サイズが大きすぎるよ」と言っていますね。
===
ここで、ちょっとまた話が戻るのですが、
Firebaseのプロジェクトを作成してアプリと関連付けるとき、SHA1キーを登録してgoogle-services.jsonをappフォルダ下に設置した後に「アプリを実行してインストールを確認(この工程をスキップする)」という段階がきます。
この時確認アニメーションがクルクルしたままで、他の方はこの工程をスキップする方もいるかもしれないのですが、私はここもスキップせずにクリアしたかったのです。
なので、この時点でアプリを実行していました。
Gradle周りの知識が足りないかもしれない
object heapの話に戻りますが、私が試行錯誤して、SHA1キーを発行するときには、gradle.propertiesは
「org.gradle.jvmargs=-XX\:MaxHeapSize\=256m -Xmx256m」
これだと通り、Run実行は通りませんでした。
その時のエラー内容
* What went wrong: Gradle build daemon has been stopped: JVM garbage collector thrashing and after running out of JVM memory * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org Finished with error: Gradle task assembleDebug failed with exit code 1
そして、Runを通すには、先ほどのgradle.propertiesに、
「org.gradle.jvmargs=-Xmx4096M」
を設定する必要がありました。
しかし、これだと「heapsizeが大きすぎるよ」ということでSHA-1キーの発行ができません。
私は、SHA-1キーがPC毎に同じであるという(一応仮説)を信じて、この「gradle.propertiesに記述するheapsizeの違い」を無視して先に進んでいました。Runが通ったので、下の画像のように、FirebaseはOKだよと言っているように見えます。
しかし、SHA1キーを発行できた時のヒープサイズと、Runしてビルドが成功した時のヒープサイズが違うのです。これによってビルドされたアプリケーションにがFirebaseによって別のものと認識されている可能性もなくはない。
というわけで、もしかして私が3週間つまづいていたエラーってこういうことかなーということを書きました。
前回の記事ではドメインを取得してサイトを立ち上げまでしたのですが、ちょっとそれは意味がなかったかもしれません、、、
でも前向きに頑張ります。どうしてもFlutterで作りたいアプリがあり、Flutterがうまくなりたいのです。