在Android Studio里面写代码,不仅仅是要写xml和java,我们还要自己做jks签名,包括模拟器API和SDK我们也要注意。但是有些时候就是因为这些没弄对,就会导致最后的成品apk打不开,
你可能还会为此以为自己的代码有问题,然后就去百度,百度一堆问题自己一个一个试,结果试了一点改进都没有,所以我这里尤其讲一下签名和apk安装这一部分。
假如你出现了代码写完了,调试运行都是对的,API运行也都对,但是一移动到其它模拟器就出现问题,那你真的要看看今天这篇文章。
今天举的例子来自正在开发中的软件:焕奇
这个界面相信大家都熟悉,这个界面就是开发板块中的文件
我所使用的API如下
焕奇是基于AndroidQ开发的一款APP,所以我们这里的API是
Android 10 当然我们也用安卓7.0来做一些其它的调试。
我们来看到build.gradle文件
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'}
如果你们是百度的,那么你们肯定会改变下面的一些代码
但是改完后依然没用,因为你在乱改,没错你就是在乱改,因为导致出现问题的不是这里,而是上面。
我们对这一段进行解析
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" //开发版本号
这一段解析完毕,那么我举个例子,假如你签名完了软件,然后你想测试,你找了个模拟器,
但是把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是最好的,因为这里面涉及到兼容问题。
那么今天的教程就到此结束,本篇文章归于原创,放心,你百度搜索不到类似的//滑稽
如果有什么问题就在下面留言,开发如此快乐,即开始,即结束!