Android 生成已签名的apk不工作,apk未签名

Android 生成已签名的apk不工作,apk未签名,android,android-studio,apk-signing,Android,Android Studio,Apk Signing,我曾经从Android Studio生成一个签名的apk,在我将Android Studio更新为3.3之前,一切都很顺利。它会生成一个apk,但在我尝试安装它之后,它会显示:应用程序未安装 我的审判是: 点击build 生成有符号Apk 选择APKAPK并单击Next 插入密钥存储路径、密钥存储密码、密钥别名、密钥密码 单击下一步 选择发布变量 单击“完成” 已生成Apk,但未签名!有什么问题 这是我的应用程序build.gradle buildscript { repositori

我曾经从Android Studio生成一个签名的apk,在我将Android Studio更新为
3.3
之前,一切都很顺利。它会生成一个apk,但在我尝试安装它之后,它会显示:应用程序未安装

我的审判是:

  • 点击
    build
  • 生成有符号Apk
  • 选择APK
    APK
    并单击Next
  • 插入密钥存储路径、密钥存储密码、密钥别名、密钥密码
  • 单击下一步
  • 选择发布变量
  • 单击“完成”
  • 已生成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'
    }
    

    再次检查最后一个对话框上的两个值,并用“签名版本”标记。 有关更多信息,请查看以下链接:

    无论如何,这个问题似乎重复如下: 朋友 当您开始构建签名的apk时 现在在AndroidStudio 3.3中,您将有两个选项来构建签名的apk。 1.Android应用程序包 2.APK

    我建议使用选项2

    选择选项2,然后单击“下一步”按钮,询问您的密码详细信息 现在填写所有细节和 选中功能的“记住密码”复选框,然后单击“下一步”。 现在studio再次请求调试和发布版本确认 现在在这里选择release并在底部选中2复选框,然后继续


    希望您的已签名apk将被生成。

    从您的Gradle中可以看到您尚未使用它配置签名配置

    请查看下图:

    第1步:

    转到项目设置>选择模块(比如“应用程序”)>转到签名>输入正确的信息和keystore.jks文件

    第二步:

    转到生成类型>选择发布类型>按步骤1创建的方式分配签名配置。>在这之后,gradle将拥有如图所示的配置

    第三步:

    尝试生成已签名的APK

    这将是成功


    快乐编码

    生成APK时,请确保选中了这两种签名类型,否则结构(和其他位置)可能无法将其识别为已签名

    此外,您可能希望从发布配置中删除
    可调试的true
    ,因为可调试的版本无法上载到Google Play。这也有可能引起问题


    更新到3.3后,与签署APK相关的许多问题都出现了。有时它不签署apk,有时它说密钥不是私有的

    在升级到android studio 3.3之后,我也遇到了这个问题,我分3步解决了这个问题。但首先要确保你备份了整个项目

  • 在Android Studio goto File>Project Structure中,取消勾选“使用嵌入式JDK”,然后单击OK
  • 转到计算机设置(系统设置)(win+暂停键),然后转到高级系统设置>环境变量。如果JAVA_HOME不存在,则添加它并设置安装JDK的路径。
    由于我在升级到android studio 3.3设置的项目中找不到直接修改jdk路径的方法,所以我(在最后一步)做了如下操作,但请确保在此之前进行了备份
  • 为了确定我在项目视图中的位置,我从根目录中删除了“.grade”、“idea”、“capture”、“gradle”文件夹,并从“app”中删除了“build”、“release”、“lib”文件夹,保留了“src”。已删除root.iml,但未删除app.iml文件,然后重新生成项目,然后创建已签名的包

  • 试了2次就成功了。说实话,最后一步我做了两次,从备份中恢复文件。删除这些文件夹时,我搞砸了一次。

    没有严格的关系,但在寻找问题的解决方法时,我遇到了这个问题。
    在我的例子中,我忘记为我的一个非调试构建类型删除“debugable true”。当我生成捆绑包时,google play商店不会抱怨它,只是说它没有签名。但当我尝试上传apk时,它显示了真正的错误。

    尝试使用命令行工具对其进行签名。我可以帮你找出问题所在。 ()


    在我的例子中,这是JAVA_家庭问题(如@Vanshaj Daga-answer)。

    你确定它没有签名吗?可能您已经安装了相同版本的APK?(例如,你忘了增加版本代码)?Android Studio告诉我,在尝试安装发布版apk时,它没有签名,在尝试将apk上载到crashlytics时,它还说这个apk没有签名,无法上载。请共享你的app.gradle文件,以清楚你从何处获得的信息。stuckI也面临同样的问题,android studio 3.3使用的密钥库与我选择的密钥库不同。这似乎是一只虫子。我所做的是将密钥库移动到其他位置,并尝试生成apk。起初,它给出了一个错误,文件未找到,这意味着它是从同一个位置(可能是缓存)获取密钥库的,所以我重新启动了android studio,第二次当我选择实际的密钥库时,它生成了正确的apk。如果我没有弄错的话,看起来您的发布版本buildType没有指定要在构建过程中使用的signingConfig。我指定了。但是生成的apk没有签名。请确保密钥别名没有不同。您现在可以使用与以前的Android Studio相同的密钥和别名对APK进行签名了吗?如果是,请仔细检查您的构建工具。事实上,我确信您提出问题时您的APK没有签名,因此屏幕截图没有提供任何进一步的信息。无论如何,您的密钥别名可能是错误的,然后,只需检查您的构建工具,并尝试使用Android Studio 3.2对APK进行签名,以查看是否存在问题。当密钥别名错误时,将根本不会生成APK。这正是我在问题中提到的,我的APK没有签名。请尝试添加此选项,希望此选项可以工作:-在您的构建中为v2SigningEnabled false.gradle。安卓{…德福