I use this for loop to load a folder of json files
fun getJsons(): ArrayList<List<Item>> {
var items = ArrayList<List<Item>>()
try {
var ims = MyApplication.appContext.assets.list("foldername")!!
for (i in 0..ims.size - 1) {
val res = MyApplication.appContext.assets.open("foldername/" + ims[i])
val size = res.available()
val buffer = ByteArray(size)
res.read(buffer)
val json = String(buffer, charset("UTF-8"))
val item:AzAll = Gson().fromJson(json,AzAll::class.java)
val content = (0..item.header.count() -1).map { it:Int -> Item(item.header[it],item.items[it],item.count[it],item.notes[it]) }
res.close()
items.add(content)
}
return items
} catch (ex: IOException) {
return items
}
}
The resources exists in assets folder inside foldername
, now when i try to obfuscate the app with
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
it crashes with
java.lang.NullPointerException: Attempt to get length of null array at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
When i get back to
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
everything works , what's the problem ?