Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android studio-向gradle添加签名配置_Android_Android Studio_Code Signing_Android Install Apk - Fatal编程技术网

Android studio-向gradle添加签名配置

Android studio-向gradle添加签名配置,android,android-studio,code-signing,android-install-apk,Android,Android Studio,Code Signing,Android Install Apk,我对android世界非常陌生,我正试图在我的手机上运行一个简单的hello world应用程序。 当我尝试这样做时,我了解到android studio生成的APK是一个未签名的APK。因此,为了签署这封信,我经历了创建密钥存储和私钥及其别名的过程,我成功地签署了APK,并在我的手机上安装和运行了它 然后,我完成了向gradle添加签名配置的过程,以使用新创建的密钥存储文件自动对发行版进行签名。 我已经正确地遵循了上面链接中的步骤,没有遗漏任何内容,但是当我完成签名配置时,仍然会出现一个错误,

我对android世界非常陌生,我正试图在我的手机上运行一个简单的hello world应用程序。 当我尝试这样做时,我了解到android studio生成的APK是一个未签名的APK。因此,为了签署这封信,我经历了创建密钥存储和私钥及其别名的过程,我成功地签署了APK,并在我的手机上安装和运行了它

然后,我完成了向gradle添加签名配置的过程,以使用新创建的密钥存储文件自动对发行版进行签名。 我已经正确地遵循了上面链接中的步骤,没有遗漏任何内容,但是当我完成签名配置时,仍然会出现一个错误,即

Gradle项目同步失败。基本功能(例如编辑、调试) 不会正常工作

错误:(19,0)在SigningConfig上找不到属性'config' 容器

我大吃一惊!现在我也无法手动签署我的APK。 现在,当我尝试手动签名时,它显示渐变不同步

我想这个文件会帮助我解决这个错误。项目的build.gradle。我试图理解的是,这里提到的内容与我在进行签名配置时通过Android Studio UI配置的内容相同

apply plugin: 'com.android.application'

android {
    signingConfigs {
        release {
            storeFile file("<path>\\firstKeystore.jks")
            storePassword "******"
            keyAlias "usual password"
            keyPassword "******"
        }
    }
    compileSdkVersion 19
    buildToolsVersion '20.0.0'
    defaultConfig {
        applicationId 'com.tech.vasanth.newsfeed'
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 1
        versionName '1.0'
    }
    buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.config
            debuggable false
            jniDebugBuild false
            renderscriptDebugBuild false
            zipAlign true
        }
        debug {
            signingConfig signingConfigs.config
        }
    }
    productFlavors {
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
}
apply插件:“com.android.application”
安卓{
签名配置{
释放{
存储文件文件(“\\firstKeystore.jks”)
存储密码“******”
keyAlias“常用密码”
密钥密码“******”
}
}
编译DK19版
buildToolsVersion“20.0.0”
默认配置{
applicationId'com.tech.vasanth.newsfeed'
明斯克版本19
targetSdkVersion 19
版本代码1
versionName“1.0”
}
建筑类型{
释放{
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard rules.pro'
signingConfig signingConfigs.config
可调试错误
JNIDBUGBUILD false
renderscriptdebugbuildfalse
齐帕林真
}
调试{
signingConfig signingConfigs.config
}
}
产品风味{
}
}
依赖关系{
编译文件树(目录:“libs”,包括:['*.jar'])
}

构建类型中有一个错误。释放
块。签名配置应为:

signingConfig signingConfigs.release
请注意,这是您在上面的
signingConfigs
块中命名配置的方式


另外,在
buildTypes.debug
块中省略签名配置(或者,如果您真的想要,请按上面的方式进行设置)。

我一直在使用以下配置进行调试/发布

signingConfigs {
            release {
                keyAlias 'keyAlias'
                keyPassword 'keyPassword'
                storePassword 'storePassword'
                storeFile file("${rootDir}/keystores/app.keystore")
            }

            debug {
                storeFile file("${rootDir}/keystores/debug.keystore")
                keyAlias 'androiddebugkey'
                keyPassword 'android'
                storePassword 'android'
            }
        }
定义发布模块时:

 buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'other-rules.pro'
            signingConfig signingConfigs.release
        }
        debug {
            signingConfig signingConfigs.debug
        }
    }

注意:此处
rootDir
是您的项目根目录。请将密钥库存储在上述目录中。

获取发行版的结构如下:

signingConfigs {
        release {
            storeFile file("release.keystore")
            storePassword "******"
            keyAlias "******"
            keyPassword "******"
        }
    }
    buildTypes {
        release {
            signingConfig signingConfigs.release
        }
    }

大多数程序员都

我已经按照您的建议进行了更改,现在我在buildTypes.debug signingConfig signingConfigs.config中的这一行中发现了错误。我可以删除它吗?哦,是的。。谢谢,成功了!我想知道的一件事是,我已经给出了上面的链接,对吗?我使用studio的UI来配置签名配置。因此,我也可以通过配置build.gradle来实现这一点?两者都是同一个?是的,
build.gradle
文件包含了有关构建的所有信息。您甚至可以在不打开Android Studio的情况下从命令行构建项目。哇,很高兴知道,任何我可以使用命令行工具进行构建的指针都将受到欢迎:)只需将cd刻录到项目的根目录并执行
gradlew build
(如果您在Linux上,请使用/gradlew)。所有细节都可以在gradle文档中找到,这是否回答了您的问题?