20210417のAndroidに関する記事は3件です。

Gradle plugins.idとbuildscript.dependencies.classpathの関連性

定期的に気になるのですが、まとめないと毎回調べることになるので、まとめておきます。 plugins { id("org.jetbrains.compose") version "0.1.0-m1-build62" } がmavenのbuildscript.dependencies.classpath org.jetbrains.compose:compose-gradle-plugin:0.1.0-m1-build62になぜ紐づくのか?ということです。 教えていただけたのがこちらですね。 https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_markers plugin.id:plugin.id.gradle.plugin:plugin.version という規則で変換するようです。 org.jetbrains.composeは org.jetbrains.compose:org.jetbrains.compose.gradle.plugin:0.1.0-m1-build62 になって URLのパスとしては group: org/jetbrains/compose name: org.jetbrains.compose.gradle.plugin version: 0.1.0-m1-build62 なので以下のようになるようです。 https://maven.pkg.jetbrains.space/public/p/compose/dev/org/jetbrains/compose/org.jetbrains.compose.gradle.plugin/0.1.0-m1-build62/org.jetbrains.compose.gradle.plugin-0.1.0-m1-build62.pom でこのアーティファクトが org.jetbrains.compose:compose-gradle-plugin:0.1.0-m1-build62 に依存しているという感じで動くみたいです。
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Android端末をWindows10から操作する

Android端末をWindows10から操作する 環境 Windows10 Pro scrcpy 1.17 Android端末の設定 USBデバックをONにする。 scrcpyをインストールする ダウンロード元 https://github.com/Genymobile/scrcpy ダウンロードする。 Zipを解凍する。 scrcpyを実行する 解凍したフォルダをShiftを押しながら、右クリックして、「PowerShellウィンドウをここで開く」を選択する。 Android側で、「USBデバックを許可」をメッセージがポップアップするので、OKを選択する。 ./scrcpy サイズ指定 ./scrcpy --max-size 1280 Scrcpyのヘルプ ./scrcpy --help 以上
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

[Unity]Androidネイティブプラグイン(Java言語)

概要 Unity単体では使う事の出来ないAndroidの機能もAndroidプラグインを呼び出すことで使えるようになります。 この記事は、導入するための最小限のポイントをまとめたものです。詳しい解説は他の方の記事を参考にしてください(この記事の一番下にもリンクを貼っています) この記事はAndroidStudio4.0.1を使用しています。 1) プロジェクト作成 AndroidStudioを起動してFile > New > New Projectと進みます テンプレート選択画面ではNo Activity > Nextと進みます Nameに適当な名前を入力してください(Package nameは自動入力されます)LanguageはJavaを選びます 2) モジュール作成 File > New > New Moduleと進みます(New Moduleが押せない時はパソコンが処理してる最中なのでしばらく待ってみてください) Android Library > Nextと進みます 設定を確認してFinishを押します 3) appモジュールはいらないので削除します File > Project Structure 1)Modulesを選ぶと右の画面が切り替わります。 2)appが選択されているのを確認して『-』ボタンを押すとappの消去が決定されます 3)最後にOKを押します(OKを押さずにウィンドウを閉じると消去されないので注意してください) 4) Unityクラスライブラリを追加 Unityのプログラムフォルダ内にあるUnityクラスライブラリを貰ってきます スクリーンショットの様にProjectを選び libsを表示しておきます 環境によって違いますがUnityのプログラムフォルダをたどった先にあるclasses.jarを先ほどのlibsフォルダへコピーします(ドラッグアンドドロップするとファイルの移動になってしまいます。一度別のフォルダにコピーしてからそのファイルをlibsへドラッグアンドドロップすると上手くいきます) 5) モジュールレベルのbuild.gradleを修正する スクリーンショットの様にフォルダをたどりbuild.gradleをダブルクリックすると右の方にコードが表示されます。 コードを下にスクロールして implementation fileTree(dir: "libs", include: ["*.jar"]) この一行を compileOnly fileTree(dir: "libs", include: ["*.jar"]) と書き換えます。修正が終わったら右上のSync Nowを押します。成功するとSUCCESSFULと表示されるはずです。 6) プラグイン用のコードを作成する スクリーンショットの様にAndroidを選択します スクリーンショットの丸印のフォルダ上で右クリック > New > Java Class ポップアップが表示されるのでクラス名を入力します プラグインのコードを入力します Unity側から呼ばれるメソッドがFromUnity()で、このメソッドからUnity側のFromAndroid()を呼ぶことになります package com.example.mylibrary; import com.unity3d.player.UnityPlayer; public class PluginTest { public static String FromUnity() { UnityPlayer.UnitySendMessage("UnityTest" , "FromAndroid" , "メソッド呼び出し"); return( "戻り値" ); } } Build > Make Module プラグインが出力されたのでフォルダをたどって表示しておきます。 Unityでフォルダを作ります。 Assets > Plugins > Android 作成したフォルダに先ほどの出力されたプラグインをドラッグアンドドロップします。 UnityTest.csを新規作成してコードを記述します。 using UnityEngine; using UnityEngine.UI; public class UnityTest : MonoBehaviour { [SerializeField] Text txtMessage; [SerializeField] Button btnAndroid; void Start() { btnAndroid.onClick.AddListener(CallAndroidPlugin); txtMessage.text = "初期値"; } /// <summary> /// ボタンが押されたらプラグインを呼ぶ /// </summary> public void CallAndroidPlugin() { using (AndroidJavaClass androidJavaClass = new AndroidJavaClass("com.example.mylibrary.PluginTest")) { txtMessage.text += androidJavaClass.CallStatic<string>("FromUnity"); } } /// <summary> /// プラグイン側からUnityを呼ぶ /// </summary> public void FromAndroid(string str) { txtMessage.text += str; } } uGUIでテキストとボタンを用意します 空のオブジェクトを作って先ほど作ったUnityTestをAddComponentしてください AndroidのスマフォをパソコンにUSB接続してBuild And Runします(うまく出来ない時はスマフォ側の設定を変更する必要があるかもしれません) スマフォ画面で実行結果を確認します。ボタンを押すたびにAndroidプラグインを介して処理が行われることが確認できます。(ボタンを押すたびにテキスト文字が増え続けます) 参考にさせていただいた記事 こちらの記事の方が詳しくわかりやすく書かれています。自分のつまずいた箇所とバージョンの差による表示の違いをまとめるために今回記事にしてみました。 Unity向けAndroidネイティブプラグインの作り方 https://gaprot.jp/2020/03/30/unity-android-native-plugin/ 【Unity】Android Nativeプラグイン開発 最小構成でなるべくわかりやすくまとめた https://ghoul-life.hatenablog.com/entry/2019/01/26/030622 追記 プラグイン側のUnitySendMessageの引数は 第一引数 プラグイン側から呼び出したい「Unityのクラス名」 第二引数 プラグイン側から呼び出したい「Unityのメソッド名」 第三引数 呼び出したメソッドに渡す引数 UnityPlayer.UnitySendMessage("UnityTest" , "FromAndroid" , "メソッド呼び出し"); Unity側のAndroidJavaClassの引数は Java側のコードのpackageに指定されている部分 + クラス名 で記述します AndroidJavaClass("com.example.mylibrary.PluginTest")
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む