Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/207.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本地开发,如何指定?_Android_Local - Fatal编程技术网

如果是Android本地开发,如何指定?

如果是Android本地开发,如何指定?,android,local,Android,Local,有没有办法告诉Android我们正在本地开发和测试应用程序?因此,我可以在代码中编写类似的内容,以执行在本地开发时必须执行的特定代码,而不是在打算部署应用程序并获取正确的远程数据时必须执行的特定代码: if (LOCALLY) { MyLocalTools.xdebugIntegration(); ... } ... 当应用程序要共享时,我只需打开一个全局选项来禁用所有本地代码。您可以使用构建风格和构建变体 在build.gradle中,您可以定义如下一些风格: productFlav

有没有办法告诉Android我们正在本地开发和测试应用程序?因此,我可以在代码中编写类似的内容,以执行在本地开发时必须执行的特定代码,而不是在打算部署应用程序并获取正确的远程数据时必须执行的特定代码:

if (LOCALLY) {
  MyLocalTools.xdebugIntegration();
  ...
}
...

当应用程序要共享时,我只需打开一个全局选项来禁用所有本地代码。

您可以使用构建风格和构建变体

在build.gradle中,您可以定义如下一些风格:

productFlavors {

        dev {
            buildConfigField "String", "SERVICE_URL_BASE", "\"dev.example/rest\""
            applicationId "development.example.app"
        }

        prod {
            buildConfigField "String", "SERVICE_URL_BASE", "\"prod.example/rest\""
            applicationId "com.example.app"
        }

    }
BuildConfig.SERVICE_URL_BASE
正如您所看到的,我们定义了两种口味,使用不同的变量。在我的例子中,我为rest服务和不同的应用程序id定义了两个不同的端点

然后在Android Studio的左下角,您可以选择用于启动应用程序的构建变体。构建变体是构建风格和构建类型的结合(默认构建类型是debug和release)

在代码中,您可以访问build.gradle文件中定义的变量,如下所示:

productFlavors {

        dev {
            buildConfigField "String", "SERVICE_URL_BASE", "\"dev.example/rest\""
            applicationId "development.example.app"
        }

        prod {
            buildConfigField "String", "SERVICE_URL_BASE", "\"prod.example/rest\""
            applicationId "com.example.app"
        }

    }
BuildConfig.SERVICE_URL_BASE
您可以通过以下方式访问您的构建类型:

BuildConfig.FLAVOR
BuildConfig.BUILD_TYPE

使用这些变量,您可以实现所需的所有切换

您可以使用构建风格和构建变体

在build.gradle中,您可以定义如下一些风格:

productFlavors {

        dev {
            buildConfigField "String", "SERVICE_URL_BASE", "\"dev.example/rest\""
            applicationId "development.example.app"
        }

        prod {
            buildConfigField "String", "SERVICE_URL_BASE", "\"prod.example/rest\""
            applicationId "com.example.app"
        }

    }
BuildConfig.SERVICE_URL_BASE
正如您所看到的,我们定义了两种口味,使用不同的变量。在我的例子中,我为rest服务和不同的应用程序id定义了两个不同的端点

然后在Android Studio的左下角,您可以选择用于启动应用程序的构建变体。构建变体是构建风格和构建类型的结合(默认构建类型是debug和release)

在代码中,您可以访问build.gradle文件中定义的变量,如下所示:

productFlavors {

        dev {
            buildConfigField "String", "SERVICE_URL_BASE", "\"dev.example/rest\""
            applicationId "development.example.app"
        }

        prod {
            buildConfigField "String", "SERVICE_URL_BASE", "\"prod.example/rest\""
            applicationId "com.example.app"
        }

    }
BuildConfig.SERVICE_URL_BASE
您可以通过以下方式访问您的构建类型:

BuildConfig.FLAVOR
BuildConfig.BUILD_TYPE
使用这些变量,您可以实现所需的所有切换

如果“本地开发”指的是
debug
构建,而“拟部署”指的是
release
构建,您可以使用
BuildConfig.BUILD\u TYPE
来区分它们,或者使用
BuildConfig.DEBUG
来区分可调试的生成和不可调试的生成。或者,如果您需要一个特定的常量,将该自定义字段添加到
BuildConfig

另一个答案中引用的产品风格是针对需要两个独立发布版本的情况而设计的(例如,一个带有谷歌的应用内采购API,一个带有亚马逊的应用内采购API)。

如果说“本地开发”,你指的是调试版,而说“拟部署版”,你指的是发布版,您可以使用
BuildConfig.BUILD\u TYPE
来区分这些版本,或者使用
BuildConfig.DEBUG
来区分可调试的版本和不可调试的版本。或者,如果您需要一个特定的常量,将该自定义字段添加到
BuildConfig


另一个答案中提到的产品风格是为需要两个独立发布版本的情况而设计的(例如,一个带有谷歌的应用内采购API,一个带有亚马逊的应用内采购API).

如何使用
Junit
etc测试模块从本地数据进行测试?我知道存在
Junit
,但因为这是一个小型个人应用程序,我更喜欢使用调试器并使用
AVC
模拟用户与应用程序的交互。第二点是,我正在使用xdebug调试php,在本地编程时,我需要使用本地服务器ip地址加载页面。使用
Junit
etc测试模块从本地数据进行测试如何?我知道存在
Junit
,但因为这是一个小型个人应用程序,我更喜欢使用调试器并使用
AVC
模拟用户与应用程序的交互。第二点是,我正在使用xdebug调试php,在本地编程时,我需要使用本地服务器ip地址加载页面。这些信息是否会以任何方式包含在最终工件中?是的,您可以使用这种方法将所有构建变量都包含在build.gradle文件中。显然,您将只有与构建变量匹配的变量值当以正常方式调试时,如何在一种风格和另一种风格之间切换?你看,我有一个本地和一个远程HTTP服务器用于REST服务,现在在部署我的应用程序之前,我想确保我的远程服务器上的REST服务的行为与我的本地服务相同。productFlavors似乎是我所需要的,但如何在调试过程中从一种风格切换到另一种风格?您必须重建项目。您必须在Android Studio中从左下角打开BuildVariants视图,然后从菜单中选择模块应用程序所需的视图。然后重新启动你的应用程序,它将使用当前的构建变量这些信息会以任何方式包含在最终工件中吗?是的,你可以使用这种方法将所有构建变量都包含在build.gradle文件中。显然,您将只有与构建变量匹配的变量值当以正常方式调试时,如何在一种风格和另一种风格之间切换?你看,我有一个本地和一个远程HTTP服务器用于REST服务,现在在部署我的应用程序之前,我想确保我的远程服务器上的REST服务的行为与我的本地服务相同。productFlavors似乎是我所需要的,但如何在调试过程中从一种风格切换到另一种风格?您必须重建项目。您必须在Android Studio中从左下角打开BuildVariants视图,然后从菜单中选择模块应用程序所需的视图。然后重新启动你的应用程序,它将使用当前的构建变体变量产品风格是为其他用例设计的,但它们提供了更多的灵活性IMHO@firegloves:在这方面,产品风格所能做的事情很少是构建类型所不能做的。另外,使用味道维度