Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从android studio安装两个不同版本的应用程序?_Android_Android Studio - Fatal编程技术网

如何从android studio安装两个不同版本的应用程序?

如何从android studio安装两个不同版本的应用程序?,android,android-studio,Android,Android Studio,我正在使用github的Firebase聊天项目。 我正在尝试制作两个应用程序,一个客户端和一个管理员端。 我有两份不同项目名称和应用程序名称的项目副本。 尽管如此,我不能用android studio在同一台设备上同时运行这两个功能。运行一个需要卸载另一个。 我知道这可能是一件很基本的事情,但有什么建议吗? 谢谢您需要做的是在AppBuild.Gradle上更改包名,找到applicationId并更改一个项目包名 希望它能工作您需要做的是在AppBuild.Gradle上更改包名,找到app

我正在使用github的Firebase聊天项目。 我正在尝试制作两个应用程序,一个客户端和一个管理员端。 我有两份不同项目名称和应用程序名称的项目副本。 尽管如此,我不能用android studio在同一台设备上同时运行这两个功能。运行一个需要卸载另一个。 我知道这可能是一件很基本的事情,但有什么建议吗?
谢谢

您需要做的是在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,这正是我没有做的。很高兴听到这对我来说是全新的东西。我将对此进行更多的研究。非常感谢您提供的新信息。是的。我听了温迪·朗的回答。我听了,遗憾地说我的代表级别太低,无法录制。这对我来说是一件全新的事情。我将对此进行更多的研究。非常感谢您提供的新信息。是的。我听了温迪·朗的回答。我听了,遗憾地说我的代表太低,无法录制。