我曾经从Android Studio生成一个签名的APK,直到我将Android Studio更新为3.3
为止,一切都运行良好。它会生成一个apk,但是在我尝试安装后,它会显示:未安装应用程序!
我的试用者是:
build
APK
并单击下一步已生成Apk,但未签名!有什么问题吗?
这是我的应用build.gradle
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
android {
useLibrary 'org.apache.http.legacy'
compileSdkVersion 27
defaultConfig {
applicationId "com.twobreathe.soft2breathe"
minSdkVersion 23
targetSdkVersion 27
versionCode 9
versionName "1.1"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags ""
}
}
vectorDrawables {
useSupportLibrary true
}
resConfigs "en", "ja"
}
signingConfigs {
release {
keyAlias "[my key alias]"
keyPassword "[my key password]"
storeFile file("[path to the keystore file]")
storePassword "[my store password]"
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
shrinkResources true
pseudoLocalesEnabled false
}
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debuggable true
}
}
externalNativeBuild {
cmake {
path "src/main/cpp/fluidsynth/android/CMakeLists.txt"
}
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
dataBinding {
enabled true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildToolsVersion '28.0.3'
productFlavors {
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.github.parse-community.Parse-SDK-Android:parse:1.18.4'
implementation 'com.jjoe64:graphview:4.2.2'
implementation 'io.reactivex.rxjava2:rxjava:2.2.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
testImplementation 'junit:junit:4.12'
implementation 'com.orhanobut:hawk:2.0.1'
implementation 'xyz.sahildave:arclayout:1.0.0'
implementation 'com.mikhaellopez:circularprogressbar:2.0.0'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
implementation 'com.github.GrenderG:Toasty:1.3.0'
implementation 'com.kyleduo.switchbutton:library:2.0.0'
implementation 'com.github.franmontiel:LocaleChanger:0.9.2'
implementation 'cn.aigestudio.wheelpicker:WheelPicker:1.1.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.8'
}
答案 0 :(得分:2)
更新到3.3后,出现了许多与APK签名相关的问题。有时它不对apk进行签名,有时它说密钥不是私有的。
那么我在升级到android studio 3.3之后也遇到了这个问题,我分3个步骤解决了。但是首先请确保备份整个项目。
2次尝试后成功。老实说,我通过从备份还原文件完成了最后一步。删除这些文件夹时,我搞砸了1次。
答案 1 :(得分:1)
从您的Gradle中可以看到,您尚未使用它配置Signing Config。
请检查下面的图像:
第1步:
转到您的项目设置>选择您的模块(比方说“应用程序”)>转到签名>输入正确的信息和keystore.jks文件
第2步:
转到“构建类型”>选择“发布类型”>分配在步骤1中创建的签名配置。>之后,gradle将具有图像中的配置。
第3步:
尝试生成签名的APK。
这将是成功的!!!
快乐编码。
答案 2 :(得分:1)
并不严格相关,但是在寻找解决方案时我最终遇到了这个问题。 就我而言,我忘记为我的一种非调试内置类型删除“ debuggable true”。当我生成捆绑包时,Google Play商店不会抱怨它,只是说它没有签名。但是当我尝试上传apk时,它显示了真正的错误。
答案 3 :(得分:0)
仔细检查最后一个对话框中的两个值,并用“签名版本”标记。 有关更多信息,请检查以下链接: https://developer.android.com/about/versions/nougat/android-7.0#apk_signature_v2
无论如何,此问题似乎重复如下: android studio: release apk is not signed
答案 4 :(得分:0)
朋友 当你去建立签名的apk 现在在android studio 3.3中,您将有2个选项用于构建签名的apk。 1. Android应用套件 2.APK
我建议使用选项2
选择选项2,然后单击“下一步”,现在工作室要求您提供密码详细信息 现在填写所有详细信息, 选择功能的记住密码复选框,然后选择下一步。 现在工作室再次要求调试并发布构建确认 现在在这里选择发布,然后选择底部的2复选框,然后继续
希望您签名的APK将生成。
答案 5 :(得分:0)
在生成APK时,请确保两者都已选中签名类型,否则Fabric(和其他地方)可能无法将其识别为已签名。
另外,您可能还想从发布配置中删除debuggable true
,因为无法将可调试的版本上传到Google Play。很有可能这也会引起问题。
答案 6 :(得分:0)
尝试使用命令行工具对其进行签名。我可以帮助您确定问题所在。 (https://developer.android.com/studio/build/building-cmdline)。
就我而言,这是JAVA_HOME问题(如@Vanshaj Daga的回答)。