質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Android Emulator

Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。

解決済

Android StudioでLive2Dの壁紙のサンプルアプリを設定しようとしていますが、うまくいきません。

Toro
Toro

総合スコア10

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Android Emulator

Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。

2回答

0評価

0クリップ

520閲覧

投稿2022/02/20 22:55

編集2022/02/24 21:55

以下の記事を参考に、Live2D SDKのAndroidのサンプルアプリをエミュレーションしようとしています。

2021年夏のLive2Dワークショップ
2021年夏のLive2Dワークショップのスライド

エミュレータを実行したところで以下のエラーが出ました。

02/21 07:09:33: Launching 'Demo' on Pixel 2 API 30. Install successfully finished in 3 s 133 ms. Could not identify launch activity: Default Activity not found Error while Launching activity Failed to launch an application on all devices

manifest.xmlは

xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.live2d.demo" android:screenOrientation="portrait"> <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-feature android:name="android.software.live_wallpaper" android:required="true" /> <uses-permission android:name="android.permission.SET_WALLPAPER"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <service android:name="com.live2d.demo.LiveWallpaperService" android:label="@string/title_activity_sample" android:permission="android.permission.BIND_WALLPAPER" > <intent-filter> <action android:name="android.service.wallpaper.WallpaperService" /> </intent-filter> <meta-data android:name="android.service.wallpaper" android:resource="@xml/wallpaper" /> </service> <receiver android:name=".Live2DReceiver"> <intent-filter> <action android:name="android.intent.action.SCREEN_ON"/> <action android:name="android.intent.action.ACTION_CLOSE_SYSTEM_DIALOGS"/> <action android:name="android.intent.action.ACTION_AIRPLANE_MODE_CHANGED"/> </intent-filter> </receiver> </application> </manifest>

プロジェクトの構成は以下の通りです。
プロジェクトの構成

試したこと

この記事を参考に再起動したり、AndroidManifest.xmlのactionタグとcategoryタグを以下のように編集したりしましたが、同じエラーが出ました。

<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>

どうすればよいかご教示願います。
また後学のために、intent-filterのactionとcategoryに与えられている値はプロジェクトのどこと対応しているのだけでも教えていただけると幸いです。

質問修整

壁紙から起動できると教えていただいたので、エミュレータと実機の両方でやってみましたが、どちらもうまくいきませんでした。

エミュレータで起動

ホーム長押し->壁紙->Live2DWallpaperで、アプリケーションは見つけることができましたが、以下のようになり、2Dモデルが表示されませんでした。
イメージ説明

エミュレータのログは以下の通りです。

前略 2022-02-22 22:23:15.371 26752-26752/com.live2d.demo D/AndroidRuntime: Shutting down VM 2022-02-22 22:23:15.372 26752-26752/com.live2d.demo E/AndroidRuntime: FATAL EXCEPTION: main Process: com.live2d.demo, PID: 26752 java.lang.UnsatisfiedLinkError: dlopen failed: library "libDemo.so" not found at java.lang.Runtime.loadLibrary0(Runtime.java:1087) at java.lang.Runtime.loadLibrary0(Runtime.java:1008) at java.lang.System.loadLibrary(System.java:1664) at com.live2d.demo.JniBridgeJava.<clinit>(JniBridgeJava.java:21) at com.live2d.demo.JniBridgeJava.SetContext(JniBridgeJava.java:55) at com.live2d.demo.LiveWallpaperService$Live2DWallpaperEngine.<init>(LiveWallpaperService.java:52) at com.live2d.demo.LiveWallpaperService.onCreateEngine(LiveWallpaperService.java:29) at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:1469) at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:44) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main(ActivityThread.java:7656) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 2022-02-22 22:23:17.224 26752-26768/com.live2d.demo W/System: A resource failed to call close.
実機をつないで起動

Android Studioで以下のエラーが出ました。スマホの壁紙一覧からアプリは見つけられませんでした。

-- Detecting CXX compile features - done -- Configuring incomplete, errors occurred! See also "C:/Users/{ユーザ名}/AndroidStudioProjects/CubismAndroidLiveWallpaper-master/AndroidWallPaper/app/.cxx/cmake/debug/armeabi-v7a/CMakeFiles/CMakeOutput.log". CMake Warning (dev) in CMakeLists.txt: No project() command is present. The top-level CMakeLists.txt file must contain a literal, direct call to the project() command. Add a line of code such as project(ProjectName) near the top of the file, but after cmake_minimum_required(). CMake is pretending there is a "project(Project)" command on the first line. This warning is for project developers. Use -Wno-dev to suppress it. CMake Error at CMakeLists.txt:31 (add_subdirectory): The source directory C:/Users/{ユーザ名}/AndroidStudioProjects/CubismAndroidLiveWallpaper-master/FrameWork does not contain a CMakeLists.txt file. CMake Error at CMakeLists.txt:33 (target_compile_definitions): Cannot specify compile definitions for target "Framework" which is not built by this project.
実機のエラーを受けて試したこと

違う場所にあったCMakeList.txtをコピペして実行してみたところ、以下のエラーが出ました。

前略(下と似たようなsame name * is already exists.のエラーが6個) CMake Error at CMakeLists.txt:36 (add_library): add_library cannot create target "Demo" because another target with the same name already exists. The existing target is a shared library created in source directory "C:/Users/{ユーザ名}/AndroidStudioProjects/CubismAndroidLiveWallpaper-master/FrameWork". See documentation for policy CMP0002 for more details. CMake Error at CMakeLists.txt:40 (target_link_libraries): Attempt to add link library "Framework" to target "Demo" which is not built in this directory. This is allowed only when policy CMP0079 is set to NEW.

【Cubism SDKのバージョン】CubismSdkForNative-4-r.4
【エミュレータ】Pixcel 2 API 30
【スマホ】Sony SOV34 (Xperia, Android 8.0)
【OS名・バージョン】Windows 10
【開発使用ツール】Android Studio Bumblebee | 2021.1.1

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

hoshi-takanori

2022/02/20 23:09

それは普通のアプリではなく、ライブ壁紙ってやつですね。activity がないので普通に動かすことはできませんが、壁紙として設定したら動くのでは。 https://minto.tech/android-kabegami/
Toro

2022/02/22 05:08

ありがとうございます。 写真を貼りたかったので、質問を直接編集しました。 また、ライブ壁紙として作成したアプリであれば、Default Activity not foundのエラーが出ても(つまりactionタグがなくても)問題はない、という認識で正しいでしょうか。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Android Emulator

Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。