重拾Android之路之Android签名及打包

我们使用Android Studio运行或测试我们的app,它使用一个默认的debug.keystore进行签名。

这个默认签名(keystore)是不需要密码的,它的默认位置在 $HOME/.android/debug.keystore,如果不存在Android Studio会自动创建它。

例如我的debug.keystore就在C:\Users\Administrator\.android\debug.keystore。在我们正式发布项目的时候是不能使用debug.keystore的。

官方地址: https://developer.android.com/studio/publish/app-signing.html(墙)

下面我们来介绍如何使用Android Studio创建一个新的keystore,并发布我们的apk

第一步: Build --->>Generate Signed APK

重拾Android之路之Android签名及打包_第1张图片

第二步:Create New

重拾Android之路之Android签名及打包_第2张图片

第三步:填写相关信息,里面内容什么含义自行Google

重拾Android之路之Android签名及打包_第3张图片

第四步:输入密码

重拾Android之路之Android签名及打包_第4张图片

第五步:选择发布app的路径默认即可 选择release方式发布

重拾Android之路之Android签名及打包_第5张图片

签名打包时签名版本(Signature Versions)的选择
这边涉及到V1和V2的选择:

结论:

  • 一定可行的方案: 只使用 v1 方案
  • 不一定可行的方案:同时使用 v1 和 v2 方案
  • 对 7.0 以下一定不行的方案:只使用 v2 方案

在 Android 7.0 以上版本的设备上,APK 可以根据Full Apk Signature(v2 方案) 或者 JAR-signed( v1方案)进行验证;
而对于7.0以下版本的设备其会忽略 v2 版本的签名,只验证 v1 签名

下面我们来配置如何在debug的时候使用我们自定义的keystore。

第一步:还是要新建一个keystore,就用上面的也可以。

第二步:在项目上右键 Open Module Settings.然后看图就可以了,选择路径,把密码填上,该填的都填好。

重拾Android之路之Android签名及打包_第6张图片
重拾Android之路之Android签名及打包_第7张图片

第三步:分别选择debug和release 都设置为刚才填进去的keystore。

重拾Android之路之Android签名及打包_第8张图片

点击OK即可,然后查看APP的配置文件应该是这样的。

重拾Android之路之Android签名及打包_第9张图片
android {  
    signingConfigs {  
        android_studio_app {  
            keyAlias 'androidstudioapp'  
            keyPassword 'mypassword'  
            storeFile file('D:/Android/keystore/android_studio_app.jks')  
            storePassword 'mypassword'  
        }  
    }  
    compileSdkVersion 23  
    buildToolsVersion "23.0.1"  
    defaultConfig {  
        applicationId "com.example.administrator.myapplication"  
        minSdkVersion 15  
        targetSdkVersion 23  
        versionCode 1  
        versionName "1.0"  
    }  
    buildTypes {  
        release {  
            minifyEnabled false  
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'  
            signingConfig signingConfigs.android_studio_app  
        }  
        debug {  
            signingConfig signingConfigs.android_studio_app  
        }  
    }  
}  

你可能感兴趣的:(重拾Android之路之Android签名及打包)