如何从android studio安装两个不同版本的应用程序?
我正在使用github的Firebase聊天项目。 我正在尝试制作两个应用程序,一个客户端和一个管理员端。 我有两份不同项目名称和应用程序名称的项目副本。 尽管如此,我不能用android studio在同一台设备上同时运行这两个功能。运行一个需要卸载另一个。 我知道这可能是一件很基本的事情,但有什么建议吗?如何从android studio安装两个不同版本的应用程序?,android,android-studio,Android,Android Studio,我正在使用github的Firebase聊天项目。 我正在尝试制作两个应用程序,一个客户端和一个管理员端。 我有两份不同项目名称和应用程序名称的项目副本。 尽管如此,我不能用android studio在同一台设备上同时运行这两个功能。运行一个需要卸载另一个。 我知道这可能是一件很基本的事情,但有什么建议吗? 谢谢您需要做的是在AppBuild.Gradle上更改包名,找到applicationId并更改一个项目包名 希望它能工作您需要做的是在AppBuild.Gradle上更改包名,找到app
谢谢您需要做的是在App
Build.Gradle
上更改包名,找到applicationId
并更改一个项目包名
希望它能工作您需要做的是在App
Build.Gradle
上更改包名,找到applicationId
并更改一个项目包名
希望它能在你的应用程序级
build.gradle
文件的android
标签下为不同的应用程序定义不同的产品风格。
请查找以下代码并根据您的项目进行更改
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
flavorDimensions "default"
project.archivesBaseName = "Visualogyx";
signingConfigs {
release {
storeFile file(System.getenv('KEYSTOREPATH'))
storePassword System.getenv("VISUALOGYX_KEYSTORE_PASSWORD")
keyAlias System.getenv("VISUALOGYX_KEYALIAS_NAME")
keyPassword System.getenv("VISUALOGYX_KEYALIAS_PASSWORD")
}
}
defaultConfig {
applicationId "com.visualogyx.app"
minSdkVersion 16
targetSdkVersion 26
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
signingConfig signingConfigs.release
ndk {
abiFilters "armeabi-v7a"
}
}
lintOptions {
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
dexOptions {
javaMaxHeapSize "4g"
jumboMode true
}
productFlavors {
dev {
versionCode 778899
versionName "v.1.1.BUILD_NUM"
applicationIdSuffix ".dev"
resValue "string", "app_name", "VisualogyxDEV"
buildConfigField "String", "HOST", System.getenv("VISUALOGYX_HOST_DEV")
}
qa {
versionCode 778899
versionName "v.1.0.BUILD_NUM"
applicationIdSuffix ".qa"
resValue "string", "app_name", "VisualogyxQA"
buildConfigField "String", "HOST", System.getenv("VISUALOGYX_HOST_QA")
}
pro {
versionCode 778899
versionName "v.1.0.BUILD_NUM"
resValue "string", "app_name", "Visualogyx"
buildConfigField "String", "HOST", System.getenv("VISUALOGYX_HOST_PRO")
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "Visualogyx-${variant.baseName}-${variant.versionName}.apk"
}
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
packagingOptions {
exclude 'META-INF/XXX'
}
}
希望它能工作。谢谢。在你的应用程序级别
build.gradle
文件中,在android
标签下定义不同应用程序的不同产品风格。
请查找以下代码并根据您的项目进行更改
android {
compileSdkVersion 26
buildToolsVersion "26.0.2"
flavorDimensions "default"
project.archivesBaseName = "Visualogyx";
signingConfigs {
release {
storeFile file(System.getenv('KEYSTOREPATH'))
storePassword System.getenv("VISUALOGYX_KEYSTORE_PASSWORD")
keyAlias System.getenv("VISUALOGYX_KEYALIAS_NAME")
keyPassword System.getenv("VISUALOGYX_KEYALIAS_PASSWORD")
}
}
defaultConfig {
applicationId "com.visualogyx.app"
minSdkVersion 16
targetSdkVersion 26
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true
signingConfig signingConfigs.release
ndk {
abiFilters "armeabi-v7a"
}
}
lintOptions {
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
dexOptions {
javaMaxHeapSize "4g"
jumboMode true
}
productFlavors {
dev {
versionCode 778899
versionName "v.1.1.BUILD_NUM"
applicationIdSuffix ".dev"
resValue "string", "app_name", "VisualogyxDEV"
buildConfigField "String", "HOST", System.getenv("VISUALOGYX_HOST_DEV")
}
qa {
versionCode 778899
versionName "v.1.0.BUILD_NUM"
applicationIdSuffix ".qa"
resValue "string", "app_name", "VisualogyxQA"
buildConfigField "String", "HOST", System.getenv("VISUALOGYX_HOST_QA")
}
pro {
versionCode 778899
versionName "v.1.0.BUILD_NUM"
resValue "string", "app_name", "Visualogyx"
buildConfigField "String", "HOST", System.getenv("VISUALOGYX_HOST_PRO")
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "Visualogyx-${variant.baseName}-${variant.versionName}.apk"
}
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
packagingOptions {
exclude 'META-INF/XXX'
}
}
希望有效。谢谢。您能查一下他们的包裹名称吗?我怀疑他们的软件包名称是否相同为2个不同的软件包名称,那么在这种情况下,您的firebase聊天无法链接到2个不同的应用程序。我的建议是将两个应用程序合并到1查看此链接,构建变量可能就是您要查找的应用程序id在Android应用程序中应该始终是唯一的。在
build.gradle(模块:app)
中更改applicationId
,非常感谢大家。我根据下面温迪·利加的答案解决了这个问题。我没有在build.gradle中更改applicationId。您能检查一下它们的包名吗?我怀疑他们的软件包名称是否相同为2个不同的软件包名称,那么在这种情况下,您的firebase聊天无法链接到2个不同的应用程序。我的建议是将两个应用程序合并到1查看此链接,构建变量可能就是您要查找的应用程序id在Android应用程序中应该始终是唯一的。在build.gradle(模块:app)
中更改applicationId
,非常感谢大家。我根据下面温迪·利加的答案解决了这个问题。我没有在build.gradle中更改应用程序ID。非常感谢Wendy,这正是我没有做的。很高兴听到这个消息非常感谢Wendy,这正是我没有做的。很高兴听到这对我来说是全新的东西。我将对此进行更多的研究。非常感谢您提供的新信息。是的。我听了温迪·朗的回答。我听了,遗憾地说我的代表级别太低,无法录制。这对我来说是一件全新的事情。我将对此进行更多的研究。非常感谢您提供的新信息。是的。我听了温迪·朗的回答。我听了,遗憾地说我的代表太低,无法录制。