我的QA团队要求我们为他们提供指向不同服务器的不同APK,他们可以将所有这些安装在同一设备上,以便他们可以并排比较。
我知道如果不更改包名,就不可能在设备上安装多个APK。但是,由于应用程序使用像GCM这样的服务,它们依赖于包名称,然后我们必须开始在服务器上进行更改以支持调试版本。
我只是很想知道人们通常如何测试应用程序,特别是在上面的情况下你可以拥有多个服务器,你可能想要测试。你们使用的是否有专门的工具?什么是最佳做法?
答案 0 :(得分:2)
有一个只调试的屏幕,他们可以选择要连接的服务器......
答案 1 :(得分:1)
根据@Buddy的建议,你可以做到。
但我建议您带两台设备并排查询。因为没有工具可以做到这一点。
答案 2 :(得分:1)
我的团队有3台服务器:
这三个代码都相同,但数据库和API不同。所以,当我发布APK进行测试时,我只需更改android {
compileSdkVersion 'Google Inc.:Glass Development Kit Preview:19'
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.company.glass.doc" //CHANGE APP-ID FROM HERE
minSdkVersion 19
targetSdkVersion 19
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}}
示例:强>
对于实时服务器:
android {
compileSdkVersion 'Google Inc.:Glass Development Kit Preview:19'
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.company.glass.docinternal" //CHANGE APP-ID FROM HERE
minSdkVersion 19
targetSdkVersion 19
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}}
对于冒烟和登台服务器:
/* #include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void substring(char *a,char *b);
int main()
{
char a[80],b[80];
gets(a);
gets(b);
substring(a,b);
return 0;
}
void substring(char *a,char *b)
{
int c,d;
c=strlen(a);
d=strlen(b);
for(int t=0;t<c;t++)
{
if(a[t] && a[t]==*b)
{
int t1,t2,t3,t4;
t2=1;
t1=d-1;
t3=t+1;
while(t1 && a[t3]==b[t2] )
{
t1--;
t3++;
t2++;
t4=t2;
}
if(!t1 && a[t4]==' ') //to avoid showing "am" in kamlesh.
cout<<t+1<<endl;
}
}
} */
#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
void substring(char *a,char *b);
int main()
{
char a[80],b[80];
int s;
gets(a);
gets(b);
substring(a,b);
return 0;
}
void substring(char *a,char *b)
{
char *s1,*s2;
for(int t=0;a[t];t++)
{
s1=&a[t];
s2=b;
while(*s2 && *s2==*s1)
{
s1++;
s2++;
}
if(*s2 && *s1==' ')
cout<<t;
}
}
相应的服务器使用applicationId检测相应的APK。