我正在调试模式下运行我的应用程序,没关系。但是当我签名并尝试安装apk时,Logcat中发生此错误,并且手机显示“未安装应用程序”。
这在每部 android <7.0 的手机上都是一样的,所以我认为问题出在应用程序签名上,但我已经尝试了 V1、V2、只有 V1 - 似乎 android studio 甚至没有意识到我改变了一些东西。
试图用这个完全禁用 V2,但没有运气。
signingConfigs{
release {
storeFile file("keystore.jks")
storePassword 'password'
keyAlias 'alias'
keyPassword 'password'
v2SigningEnabled false
}
}
Run Code Online (Sandbox Code Playgroud)
我还可以做些什么?
C:\Program Files\Android\Android Studio\jre\jre\bin>java -version
openjdk version "1.8.0_152-release"
OpenJDK Runtime Environment (build 1.8.0_152-release-1248-b01)
OpenJDK 64-Bit Server VM (build 25.152-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud) 这是我的字符串:
{"array":[{"message":"test1","name":"test2","creation":"test3"},{"message":"test1","name":"test2","creation":"test3"}]}
Run Code Online (Sandbox Code Playgroud)
我希望它将该数组放入 Android 版 Kotlin 应用程序中的对象列表中。我尝试使用此站点中的两个示例来完成此操作...所以这是我的代码(res = 该字符串):
val gson = Gson()
val obj = gson.fromJson(res, JsonObject::class.java)
val arr = obj.getAsJsonArray("array")
println(arr.toString())
val list1 : List<JThread> = gson.fromJson(arr, object : TypeToken<List<JThread>>() {}.type)
val list2 = gson.fromJson(arr, Array<JThread>::class.java).asList()
for (x in list1){
println(x.message)
}
for (x in list2){
println(x.message)
}
Run Code Online (Sandbox Code Playgroud)
但是我只在 x.message 中得到 null 。我不知道会出什么问题。我还尝试在各处将 arr 更改为 arr.toString() ,但这也不起作用。
JThread 也是:
object JThread {
var message: String? = null
var name: String? = null
var creation: String? = null }
Run Code Online (Sandbox Code Playgroud)