我正在尝试使用具有仪器测试类型的Firebase测试实验室使用演示应用程序进行测试,但是由于以下有关APK的错误,我无法进行测试。
我在此处上传了已签名的 debug-keystore APK。即使在我的其他项目中,我也用我的 androidTest.apk 在这里上传了自己的密钥库签名的apk,但仍显示相同的错误。如果我缺少一些主要步骤,请指导我。谢谢
答案 0 :(得分:1)
我遇到了同样的问题,但是我解决了以下问题:
android:testOnly="false"
中添加AndroidManifest.xml
如果可以在手机上成功安装,则可以在终端adb install xxx/xxx.apk
中测试内置的APK。这表示APK正常,然后您可以将APK上传到Firebase测试实验室。
答案 1 :(得分:0)
答案 2 :(得分:0)
我遇到了同样的问题。我尝试上传不同版本的APK-从build \ outputs \ apk中签名(未签名),将测试与发行版APK结合使用-没有任何效果。
让它工作的方法是在Android Studio的Firebase测试实验室设备矩阵上运行仪器测试(有关步骤https://developer.android.com/training/testing/unit-testing/instrumented-unit-tests#run-ctl,请参见此处)。然后事实证明,Android Studio在以下位置生成有效的APK:
build \ outputs \ apk \ debug \ -debug.apk
build \ outputs \ apk \ androidTest \ debug \ -debug-androidTest.apk
然后,当您上传这些生成的文件时,一切正常。
作为一个提示-如果您不希望测试从Android Studio实际运行,而只是生成APK(我更喜欢通过firebase网站运行它们,因为它可以更好地控制哪些设备,区域设置等),您可以定义它以在设备和API级别不存在的组合上运行它,例如模拟器像素2和API级别25。如果执行此操作,Android Studio会生成APK,但实际上不会运行-这意味着,据我所知,它不会减少您的每日免费配额:)。
答案 3 :(得分:0)
我遇到了同一问题,问题出在测试APK签名中(看起来像Firebase要求两个APK都签名)。显然,由于我正在测试库模块的测试,因此未签名。我建议的第一件事是去检查两个APK的签名:
jarsigner -verify APK_FILE_PATH
如果看到其中一个APK未签名,则需要将北斗挖入您的项目设置中。如果要测试库模块,则该库signingConfigs
中可能缺少build.gradle
(通常,如果仅将库作为主应用程序的一部分来提供服务,则该库模块不存在)。似乎Firebase可以很好地使用该应用的DEBUG版本并测试APK,因此您可能只需要在debug.keystore
库中进行build.gradle
签名:
android {
...
signingConfigs {
debug {
storeFile file(PATH_TO_YOUR_DEBUG_KEYSTORE)
}
}
}
答案 4 :(得分:0)
我知道为时已晚。 但对我有用的解决方案是
清理 Android Studio 项目。
构建 Apk。
将 Apk 上传到测试实验室。
希望它有效。
答案 5 :(得分:0)
我需要为我们的开发环境构建一个签名的 apk,所以在 android/app/build.gradle
中我添加了:
signingConfigs {
config {
keyAlias 'someKeyAlias'
keyPassword 'somePassword'
storeFile file('../keystores/debug.keystore')
storePassword 'somePassword'
}
}
development {
initWith release
applicationIdSuffix '.development'
versionNameSuffix '-DEVELOPMENT'
matchingFallbacks = ['release']
signingConfig signingConfigs.config
}
在 /android/
中,运行 ./gradlew assembleDevelopment
并且 firebase 接受了它,确保它没有在 apk 文件名上显示未签名。
答案 6 :(得分:0)
只需从 ...\YOU_PROJECT\app\build\outputs\apk\debug 中找到 apk
不是来自 ...\YOU_PROJECT\app\debug