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

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

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Android

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

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Android Studio

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

Q&A

解決済

2回答

1500閲覧

AndroidアプリでSNSに画像をシェアしたいのですが上手くいきません。

Aka.H

総合スコア7

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Android

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

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Android Studio

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

0グッド

0クリップ

投稿2019/08/30 02:05

編集2019/08/31 06:47

前提・実現したいこと

Unity(C#)でアプリゲームを製作しています。

AndroidでSNSに画像をシェアしたいのですが上手くいきませんでした。
スクショを撮ること、SocialConnectorを使ってSNSでシェアすることはそれぞれできているのですが組み合わせるとシェアウィンドウ?(LINEやTwitterのアイコン)が出てきません。

ビルドして実機でのテスト中に出るエラー的にandroid.support.v4が見つからないのだと思うので、どこにあるかご存じの方、もしくはない場合インストール?できる方法をご存じの方教えていただきたいです。
よろしくお願いします。

発生している問題・エラーメッセージ

AndroidJavaException: java.lang.ClassNotFoundException: android.support.v4.content.FileProvider java.lang.ClassNotFoundException: android.support.v4.content.FileProvider

試したこと

調べてみたのですがandroid.support.v4というものがどこにも見当たりませんでした。
いろいろ探してみて似た名前でヒットしたのは
AppDate/Local/Android/Sdk/extras/android/m2repository/com/android/support/support-v4/26.0.0-alpha1/support-v4-26.0.0-alpha1-sources
だったのですがこれをPlugins/Androidの中に試しに入れてみても同じくエラーが出たのでこれではないのかな?と思っています。

補足情報(FW/ツールのバージョンなど)

Unity 2018.3.12f1
AndroidStudio 3.4.2
Android 8.0.0
SocialConnector

追記

AndroidManifest.xml

<provider android:name="android.support.v4.content.FileProvider" android:authorities="com.Company.Tamago.fileprovider" android:exported="false" android:grantUriPermissions="true">

build.gradle

// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN buildscript { repositories { google() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:3.2.0' } } allprojects { repositories { google() jcenter() flatDir { dirs 'libs' } maven { url "https://maven.google.com" } } } // Android Resolver Repos Start ([rootProject] + (rootProject.subprojects as List)).each { ext { it.setProperty("android.useAndroidX", true) it.setProperty("android.enableJetifier", true) } } ([rootProject] + (rootProject.subprojects as List)).each { project -> project.repositories { def unityProjectPath = "file:///" + file(rootProject.projectDir.path + "/../../").absolutePath maven { url "https://maven.google.com" } maven { url "https://maven.google.com/" // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7 } mavenLocal() jcenter() mavenCentral() } } // Android Resolver Repos End apply plugin: 'com.android.application' dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:support-v4:27.0.2' // Android Resolver Dependencies Start implementation 'com.google.android.gms:play-services-ads:18.1.1' // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7 // Android Resolver Dependencies End implementation(name: 'support-v4-26.0.0-alpha1', ext:'aar') implementation(name: 'unity-ads', ext:'aar') implementation project(':GoogleMobileAdsPlugin') } // Android Resolver Exclusions Start android { packagingOptions { exclude ('/lib/arm64-v8a/*' + '*') exclude ('/lib/armeabi/*' + '*') exclude ('/lib/mips/*' + '*') exclude ('/lib/mips64/*' + '*') exclude ('/lib/x86_64/*' + '*') } } // Android Resolver Exclusions End android { compileSdkVersion 29 buildToolsVersion '29.0.1' compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { minSdkVersion 16 targetSdkVersion 29 applicationId 'com.Company.Tamago' ndk { abiFilters 'armeabi-v7a', 'x86' } versionCode 1 versionName '0.1' } lintOptions { abortOnError false } aaptOptions { noCompress = ['.unity3d', '.ress', '.resource', '.obb'] } buildTypes { debug { minifyEnabled false useProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt' jniDebuggable true } release { minifyEnabled false useProguard false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt' signingConfig signingConfigs.debug } } packagingOptions { doNotStrip '*/armeabi-v7a/*.so' doNotStrip '*/x86/*.so' } bundle { language { enableSplit = false } density { enableSplit = false } abi { enableSplit = true } } }

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/08/30 09:54

AndroidManifest.xmlのFileProviderに関する部分の記述と、build.gradle (Module: app)の内容を質問文に追記してほしいです。
Aka.H

2019/08/31 04:32

AndroidManifest.xml <provider android:name="android.support.v4.content.FileProvider" android:authorities="com.Company.Tamago.fileprovider" android:exported="false" android:grantUriPermissions="true"> build.gradle (すみません初心者でどこを記述したらいいのかわからなかったのでとりあえず似た名前が出てくる部分を載せます) dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:support-v4:27.0.2' // Android Resolver Dependencies Start implementation 'com.google.android.gms:play-services-ads:18.1.1' // Assets/GoogleMobileAds/Editor/GoogleMobileAdsDependencies.xml:7 // Android Resolver Dependencies End implementation(name: 'unity-ads', ext:'aar') implementation project(':GoogleMobileAdsPlugin') }
退会済みユーザー

退会済みユーザー

2019/08/31 05:52

上記のコードは質問に載せるようにしてください。
退会済みユーザー

退会済みユーザー

2019/08/31 05:54

コメントではなく質問文に追記してください。また、build.gradleは可能であれば、ファイル内全てを追記してほしいですが、難しい場合、compileSdkVersionだけでも追記してほしいです。
Aka.H

2019/08/31 06:48

教えていただきありがとうございます 追記しましたのでよろしくお願いします。
退会済みユーザー

退会済みユーザー

2019/08/31 06:51 編集

参考にしたサイトとかありますか? あと、何かそれをしている動画などを載せてもらえると・・・助かります。(私も初心者中の初心者なので力不足になるかもしれませんが・・・その時はすみません。)
Aka.H

2019/08/31 07:35

色々なサイトを参考にしているので特にこれというのは…。 動画というのはどういうことですか?アプリのプレイ中のということならばシェア用のボタンを押しても何も起きないというだけなので動画にするようなことはないのですが。
退会済みユーザー

退会済みユーザー

2019/08/31 07:37

サイトは色々なものを参考にしているんですね。わかりました。 動画の件はわかりました。というか、変なことを言ってしまいすみませんでした。m(_ _)m
guest

回答2

0

ベストアンサー

SocialConnectorプラグインのSocialConnector.csに以下の記述があります。

cs

1if(24 <= apiLevel) { 2 var context = activity.Call<AndroidJavaObject> ("getApplicationContext"); 3 var fileProvider = new AndroidJavaClass("android.support.v4.content.FileProvider"); 4 var file = new AndroidJavaObject ("java.io.File", textureUrl); 5 uri = fileProvider.CallStatic<AndroidJavaObject>("getUriForFile", context, Application.identifier + ".fileprovider", file); 6}

注目すべき点は、ファイルプロバイダにandroid.support.v4.content.FileProviderが指定されていることです。android.support.v4.content.FileProviderを使用できるようにする必要があります。

AndroidManifest.xmlのファイルプロバイダにandroid.support.v4.content.FileProviderが指定されていることを確認します。

xml

1<provider 2android:name="android.support.v4.content.FileProvider" 3android:authorities="com.Company.Tamago.fileprovider" 4android:exported="false" 5android:grantUriPermissions="true">

gradle.propertiesに以下のプロパティがある場合、

android.useAndroidX=false android.enableJetifier=false

に変更し、build.gradle(Module: app)のdependencies内に

implementation 'com.android.support:support-compat:28.0.0'

を追記します。

[File]>[Sync Project with Gradle Files]し、[Build]>[Rebuild Project]します。

投稿2019/08/31 07:15

編集2019/09/01 09:00
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Aka.H

2019/08/31 07:31

書き換えてみたのですが同じくエラーが出てしまいました。 ほかに考えられる原因などありますでしょうか?
退会済みユーザー

退会済みユーザー

2019/08/31 07:37 編集

https://teratail.com/questions/106687 上のサイトで質問しているのと同じですか? もしそうでしたら参考にまでしてみてくださいね。 できなければまた行ってください。
退会済みユーザー

退会済みユーザー

2019/08/31 07:36

エラーの内容は質問文中のエラーと同じでしょうか?
Aka.H

2019/08/31 07:44

エラーは同じ内容でした。
退会済みユーザー

退会済みユーザー

2019/08/31 07:45 編集

あの・・・上のサイトはダメでしたか? しつこいかもしれませんが・・・すみません。
Aka.H

2019/08/31 07:58

>>tonko様 ビルド自体は通っているのでおそらく違う原因かと。 上記リンクのようなpathのxmlも存在していますしファイル名も一致していますので…。 このサイトを初めて使うのでルールが違ったら申し訳ないのですが、コメントがごっちゃになってしまうのでRYNO様とは別で回答いただきたいです。
退会済みユーザー

退会済みユーザー

2019/08/31 08:00

あっ・・・・・・わかりました。すみませんでした。。。
退会済みユーザー

退会済みユーザー

2019/08/31 08:15

回答を修正しました。ご確認をお願いいたします。要約すると、Androidの新バージョンにプラグイン対応していないことが原因です。
Aka.H

2019/08/31 09:03

ありがとうございます。 今回はとりあえずcompileSdkVersion28に落とそうと思います。 落とした状態で再度実機テストをしたのですが同じエラーが出てしまいました。 一応Assets/Plugins/Androidの中にsupport-v4-26.0.0-alpha1-sources.jarとsupport-v4-26.0.0-alpha1.aarを入れてみたのですがファイル自体が違うということなのでしょうか?
退会済みユーザー

退会済みユーザー

2019/08/31 10:11

28にするなら、build.gradleのdependenciesのcom.android.support:support-v4のバージョンも28にする必要があるかと思います。Android Studioの方でも警告が表示されていませんか?
Aka.H

2019/09/01 05:55

返信遅くなりすみません Android Studioの方でsupport-v4のバージョンも28に設定したのですが同じくエラーでした。 support-v4-26.0.0-alpha1-sources.jarこれを28.0.0の物にしないといけないということでしょうか?
退会済みユーザー

退会済みユーザー

2019/09/01 07:39

バージョン26のjarファイルは、変に競合する可能性があるので、そもそも入れない方が良いと思います。 また、動作しない原因を調べてみましたが、androidx.*のクラスを無効にするために、gradle.propertiesのandroid.useAndroidXとandroid.enableJetifierをfalseにする必要がありそうです。試してみてください。gradle.propertiesの変更後は忘れずにSyncしてください。
Aka.H

2019/09/01 07:51

すみませんプログラム初心者で手探りでやっているため、もう少しだけかみ砕いて教えていただきたいです。。
guest

0

Unityのsupport-v4の組み込みであれば、先日同じ質問がありましたので、参考にしてみてください。

投稿2019/08/30 11:27

katsuko

総合スコア3471

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Aka.H

2019/08/31 05:00

そちらの方法で入手はできたものはsupport-v4-26.0.0-alpha1-sourcesだったのですが結局解決しませんでした。 何が原因なのかアドバイス等ありましたらいただきたいです。
katsuko

2019/08/31 05:49

「build.gradle」に記述してあるので問題はないと思いますが、念の為、「そちらの方法で入手はできたものは」というのは、具体的にどのように確認しましたか。 もっとも、先に言ったとおり依存関係の設定は問題なさそうなので、FileProviderやSocialConnector絡みの問題のような気もします。 そちらは使ったことがないので、よく知りません。
Aka.H

2019/08/31 07:40

上記で紹介していただいたリンク先のようにmainTemplate.gradleで自動的に追加されたものがsupport-v4-26.0.0-alpha1-sourcesでした。 (ビルドしたらAndroidフォルダ内に追加されていたのでこれだと思っています)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問