Android studio Android Studio gradle apk和运行不同步
我使用的是Android Studio,我有以下build.gradle文件Android studio Android Studio gradle apk和运行不同步,android-studio,gradle,Android Studio,Gradle,我使用的是Android Studio,我有以下build.gradle文件 apply plugin: 'com.android.application' android { compileSdkVersion 25 buildToolsVersion "25.0.2" dexOptions { javaMaxHeapSize "4g" preDexLibraries = false } defaultConfig {
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
dexOptions {
javaMaxHeapSize "4g"
preDexLibraries = false
}
defaultConfig {
applicationId "com.domain.myapp"
minSdkVersion 17
targetSdkVersion 25
versionName "1.0"
versionCode 2
versionNameSuffix = ".alpha1"
def date = new Date().format('yyyyMMddHHmmss')
if (versionNameSuffix.equals("")) {
setProperty("archivesBaseName", "myapp.$versionName.$versionCode")
} else {
setProperty("archivesBaseName", "myapp.$versionName.$versionCode$versionNameSuffix." + date)
}
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
buildConfigField 'boolean', 'IS_DEBUG', 'false'
buildConfigField 'String', 'BUILD_DATE', '\"' + date + '\"'
buildConfigField 'String', 'VERSION_STRING', '\"' + "$versionName.$versionCode$versionNameSuffix" + '\"'
resValue "string", "BUILD_DATE", date
resValue "string", "VERSION", "$versionName.$versionCode$versionNameSuffix"
}
buildTypes {
release {
buildConfigField 'boolean', 'IS_DEBUG', 'false'
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.each { output ->
def newName = output.outputFile.name
newName = newName.replace("-release", "")
output.outputFile = new File(output.outputFile.parent, newName)
}
}
}
debug {
buildConfigField 'boolean', 'IS_DEBUG', 'true'
applicationVariants.all { variant ->
variant.outputs.each { output ->
def newName = output.outputFile.name
output.outputFile = new File(output.outputFile.parent, newName)
}
}
}
}
productFlavors {
}
}
基本上,当我构建->重建项目或构建->构建APK时,我会生成一个类似于myapp.1.0.2.alpha1.20170224125933.APK的APK文件
最后一位是时间戳。(20170224125933=>2017/2/24 12:59:33)
当通过apk手动运行时,一切都能正常工作
我遇到的问题是,当我试图通过Android Studio运行->运行我的应用程序时,它似乎总是在寻找一个更早的时间戳
例如,假设我重建项目并获得文件:myapp.1.0.2.alpha1.20170224125933.apk。我做了一些代码更改,并希望通过Anroid Studio运行它。当我开始运行时,它会再次重建项目(生成myapp.1.0.2.alpha1.20170224130417.apk),并按预期删除以前的文件(myapp.1.0.2.alpha1.20170224125933.apk),但会尝试安装以前的文件。然后,我得到一个“安装apk时出错。未找到文件myapp.1.0.2.alpha1.20170224125933.apk。”
我找到的唯一解决方案是删除秒标记(将日期格式更改为'yyyyMMddHHmm'),单击工具->安卓->与Gradle文件同步项目,然后立即点击运行。这通常有效,除非时钟在这一过程所需的几秒钟内改变几分钟
我想我需要一个Gradle->Task Activitaion之类的东西,这样当我点击Run时,它会生成一个新的apk,并且知道如何使用最近生成的apk
有什么想法吗?这个线程是关于重命名apk文件的,我的线程在这方面的工作与预期完全一致。我的问题是,当我试图通过android studio“运行->运行我的应用程序”时,它找不到新生成的apk文件(因为某种原因,它会查找一个旧的时间戳)。该线程是关于重命名apk文件的,我的线程在这方面的工作与预期完全一致。我的问题是,当我试图通过android studio“运行->运行我的应用程序”时,它找不到新生成的apk文件(因为某种原因,它会查找一个旧的时间戳)。