Android Studio签名后apk安装失败的解决方案

在Android Studio里面写代码,不仅仅是要写xml和java,我们还要自己做jks签名,包括模拟器API和SDK我们也要注意。但是有些时候就是因为这些没弄对,就会导致最后的成品apk打不开,

你可能还会为此以为自己的代码有问题,然后就去百度,百度一堆问题自己一个一个试,结果试了一点改进都没有,所以我这里尤其讲一下签名和apk安装这一部分。

假如你出现了代码写完了,调试运行都是对的,API运行也都对,但是一移动到其它模拟器就出现问题,那你真的要看看今天这篇文章。

今天举的例子来自正在开发中的软件:焕奇

这个界面相信大家都熟悉,这个界面就是开发板块中的文件

我所使用的API如下

焕奇是基于AndroidQ开发的一款APP,所以我们这里的API是

Android 10 当然我们也用安卓7.0来做一些其它的调试。

我们来看到build.gradle文件

[danger]

apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"

    defaultConfig {
        applicationId "com.android.huanqikj"
        minSdkVersion 29
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.google.android.material:material:1.1.0'
}

[/danger]

如果你们是百度的,那么你们肯定会改变下面的一些代码

但是改完后依然没用,因为你在乱改,没错你就是在乱改,因为导致出现问题的不是这里,而是上面。

我们对这一段进行解析

[danger]

android {
    compileSdkVersion 29//API支持的最大版本号
    buildToolsVersion "29.0.3"  //gradle插件版本

    defaultConfig {
        applicationId "com.android.huanqikj"   //软件包名
        minSdkVersion 29        //API支持最小版本号
        targetSdkVersion 29      //targetSdkVersion 是 Android 提供向前兼容的主要依据,
在应用的 targetSdkVersion 没有更新之前系统不会应用最新的行为变化。
这允许你在适应新的行为变化之前就可以使用新的 API (因为你已经更新了 compileSdkVersion 不是吗?)。
        versionCode 1 //开发版本次数
        versionName "1.0"   //开发版本号

[/danger]

这一段解析完毕,那么我举个例子,假如你签名完了软件,然后你想测试,你找了个模拟器,

但是把apk文件拖进去安装的时候安装失败了,然后提示没有签名,这是真的没有签名吗?这里我要说的是,只要你签了名,那就肯定可以进行安装程序的,签了名还安装不起那肯定是sdkAPI的问题,这里我们把这个29改了试试,我们改成23

安装成功,所以有些事物不能只看表面,他说我没有签名,但是我实实在在的是签了名的!

minSdkVersion 和compileSdkVersion,这两个是一个支持范围,当然你也要有这一个范围,比如你是安卓5.0,那么minSdkVersion后面的值要是23而compilesdkversion可以为29,这就代表了支持的api在23~29之间(包括23与29),最主要的也是这两个sdk。

Android Studio自带的API也是这样的,比如我把minSdkVersion调为25,那么上面的API也会变值

但是这个API最好是要基于安卓哪个版本就用哪个版本的模拟器API是最好的,因为这里面涉及到兼容问题。

那么今天的教程就到此结束,本篇文章归于原创,放心,你百度搜索不到类似的//滑稽

如果有什么问题就在下面留言,开发如此快乐,即开始,即结束!

 

 

 

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注