teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

修正

2021/02/16 01:13

投稿

abc1222
abc1222

スコア24

title CHANGED
File without changes
body CHANGED
@@ -13,11 +13,13 @@
13
13
 
14
14
  ### 状況
15
15
  エミュレーター・実機ともに、デバッグではクラッシュしない
16
- リリースビルドでも、エミュレーター・実機ともにクラッシュしない
16
+ ~~リリースビルドでも、エミュレーター・実機ともにクラッシュしない
17
17
  Google Playからダウンロードしたもののみクラッシュする
18
18
 
19
19
 
20
20
  恥ずかしながら今回のエラーをきっかけにリリースビルドを知りました。リリースする際にリリースビルドに切り替えているという認識(下記の作業)ですが、間違っていたらリリースビルドでの使用状況は把握できていません。
21
+ ~~
22
+ リリースビルド設定が上手くできていませんでした。設定を見直したところ、リリースビルドでもクラッシュを確認しました。
21
23
 
22
24
  ```ここに言語を入力
23
25
  buildTypes {

1

追記しました

2021/02/16 01:13

投稿

abc1222
abc1222

スコア24

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,97 @@
1
+ デバッグではクラッシュすることが無かったため、リリースしました。
1
- デバッグでは出ないのですがリリしたアプリはIndexOutOfBoundsExceptionのエラーが出てクラッシュします。
2
+ しかしGoogle Playからダウンロてみると、特定のfragmentに移動し時点でクラッシュします。
2
3
 
4
+ リリースしたアプリのエラーを見る方法が分からなかったので、とりあえずandroidstudioを開いてダウンロードした実機のログを見てみると、IndexOutOfBoundsExceptionのエラーが出てクラッシュしていました。
5
+
3
- ログを見ると、下記の場所でエラーが出ていす。
6
+ IndexOutOfBoundsExceptionが出ているのは下記です。
4
7
  import (パッケージ名).*
5
8
  import (パッケージ名).R
6
9
 
7
- 上記のインポートは他のFragmentでも使っているのですが、特定のFragmentでのみーが出ており、原因が分かりません。
10
+ 上記のインポートは他のFragmentでも使っているのですが、特定のFragmentでのみッシュしており、原因が分かりません。
8
11
 
9
- ふわっとした質問で申し訳ないのですが、なぜIndexOutOfBoundsExceptionがインポートで出るのか全く分かっておらず、必要な情報も分からないので、何か手掛かりとなる情報を頂けますと幸いです。
12
+ ふわっとした質問で申し訳ないのですが、なぜIndexOutOfBoundsExceptionがインポートで出るのか全く分かっておらず、必要な情報も分からないので、何か手掛かりとなる情報を頂けますと幸いです。
13
+
14
+ ### 状況
15
+ エミュレーター・実機ともに、デバッグではクラッシュしない
16
+ リリースビルドでも、エミュレーター・実機ともにクラッシュしない
17
+ Google Playからダウンロードしたもののみクラッシュする
18
+
19
+
20
+ 恥ずかしながら今回のエラーをきっかけにリリースビルドを知りました。リリースする際にリリースビルドに切り替えているという認識(下記の作業)ですが、間違っていたらリリースビルドでの使用状況は把握できていません。
21
+
22
+ ```ここに言語を入力
23
+ buildTypes {
24
+ release {
25
+ minifyEnabled true
26
+ shrinkResources true
27
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
28
+ }
29
+ }
30
+ ```
31
+
32
+ ### コード
33
+ 何処まで記載すれば良いのか分からないので、一旦エラーが出ているインポートを使用している所(インポートを消したらエラーが出る所)の前後のみ記載させていただきます。(コメントで使用している箇所に目印を付けています)
34
+ 必要であればコメントいただければ追加します。
35
+
36
+ ```ここに言語を入力
37
+
38
+ import (パッケージ名).*
39
+ //省略
40
+
41
+ class ○○Fragment : Fragment() {
42
+
43
+ private val ▲▲ViewModel: ▲▲ViewModel by activityViewModels() //2つ目の▲▲ViewModelで使用(赤文字に)
44
+
45
+ override fun onCreateView(
46
+ inflater: LayoutInflater,
47
+ container: ViewGroup?,
48
+ savedInstanceState: Bundle?
49
+ ): View {
50
+ super.onCreateView(inflater, container, savedInstanceState)
51
+
52
+    ▲▲ViewModel.▲▲.observe(viewLifecycleOwner, { ▲▲ ->
53
+ if (▲▲ != null) {
54
+ val storageRef = FirebaseStorage.getInstance().reference
55
+ val imageRef = storageRef.child("パス")
56
+ GlideApp.with(this) //GlideAppで使用(赤文字に)
57
+ .load(imageRef)
58
+ .signature(ObjectKey(▲▲.update))
59
+ .into(▲▲Image)
60
+ }
61
+ })
62
+
63
+ binding = DataBindingUtil.inflate(inflater, R.layout.fragment_▲▲, container, false) //Rで使用(赤文字に)
64
+ binding.▲▲ViewModel = ▲▲ViewModel
65
+ binding.lifecycleOwner = this
66
+
67
+ return binding.root
68
+ }
69
+
70
+ // 省略
71
+
72
+   private fun □□(□□: Map<String, □□>) {
73
+ val cl = □□Layout as ViewGroup
74
+ cl.removeAllViews()
75
+
76
+ if (□□.isNullOrEmpty()){
77
+ // 省略
78
+ }else{
79
+ for ((key, value) in □□) {
80
+
81
+       val childNum = cl.childCount
82
+ val □□Num = □□.size
83
+
84
+ if (childNum < □□Num){
85
+ layoutInflater.inflate(R.layout.□□, cl) //Rで使用(赤文字に)
86
+ }
87
+
88
+ val storageRef = FirebaseStorage.getInstance().reference
89
+ val imageRef = storageRef.child("パス")
90
+ GlideApp.with(this) //GlideAppで使用(赤文字に)
91
+ .load(imageRef)
92
+ .signature(ObjectKey(value.update))
93
+ .into(□□Image)
94
+ }
95
+ }
96
+ }
97
+ ```