是否有可能通过ADB安装一个应用程序,但仍然得到谷歌市场更新? [英] Is it possible to install an application via adb but still get Google Market updates?

查看:140
本文介绍了是否有可能通过ADB安装一个应用程序,但仍然得到谷歌市场更新?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我公司是中分发的硬件(三星Galaxy Tab 10.1)和软件(我的应用程序)为我们的客户。

My company is distributing both the hardware (samsung galaxy tab 10.1) and the software (my application) to our customers.

我的目的是要跳过的谷歌帐户链接和使用adb直接安装我制作签名应用到平板电脑(我上传到谷歌市场APK相同的)。这将让我pre-配置片为我们的客户,更改屏幕背景,我们的标志等。

My intent is to "skip" the google account linking and use adb to install my production-signed application directly onto the tablet (identical as the apk I upload to google market). This will allow me to pre-configure the tablets for our customers, change the screen background to our logo, etc.

然而,一旦平板电脑已交付给客户,我希望他们一个谷歌帐户连接到平板电脑,仍然可以从通过市场我的申请得到更新。在我的测试,我手动安装该应用程序从未在谷歌电子市场的应用程序列表显示出来。

However, once the tablet has been delivered to the customer, I would want them to attach a google account to the tablet, and still be able to get updates from my application via the marketplace. In my testing, the application I manually installed never shows up in the list of applications in google market.

这可能吗?

更新:我结束了写启动器的应用程序,我将手动安装到设备上。它有一个活动的主题是:

UPDATE: I ended up writing a "Launcher" application which I will manually install on the device. It has one activity with the theme:

android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

该活动有这个code:

the activity has this code:

public class LauncherActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.main);
    startApplication("applicationnamehere");
    finish(); // this kills the activity immediately.
}

public void startApplication(String application_name){

    boolean successfulLaunch = false;
    try{
        Intent intent = new Intent("android.intent.action.MAIN");
        intent.addCategory("android.intent.category.LAUNCHER");

        intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        List<ResolveInfo> resolveinfo_list = getPackageManager().queryIntentActivities(intent, 0);

        for(ResolveInfo info:resolveinfo_list){
            if(info.activityInfo.packageName.equalsIgnoreCase(application_name)){


                Intent launch_intent = new Intent("android.intent.action.MAIN");
                launch_intent.addCategory("android.intent.category.LAUNCHER");
                launch_intent.setComponent(new ComponentName(info.activityInfo.packageName, info.activityInfo.name));
                launch_intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(launch_intent);
                successfulLaunch = true;
                break;
            }
        }
    }
    catch (ActivityNotFoundException e) {
        launchMarket();

    }

    if (!successfulLaunch)
        launchMarket();
}

private void launchMarket() {
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(Uri.parse("market://details?id=packagenamegoeshere"));
    startActivity(intent);
}

}

您可以将东西变成常量的strings.xml。

You can stuff the constants into strings.xml.

它的唯一的问题是,它挂在我的主要应用已经由用户安装后,即使在主屏幕上效果很好。由于它(默认)试图启动LAUNCHER我的应用程序,它不是世界的末日。

It works well with the only issue being that it hangs around on the home screen even after my main application has been installed by the user. Since it (by default) tries to launch the LAUNCHER for my application, its not the end of the world.

推荐答案

这应该是可能的 - 看看成什么钛备份一样。它有一个市场特征医生在使用钛备份恢复的apk文件和数据文件后,可以重新建立连接到Android Market。

It should be possible - look into what Titanium Backup does. It has a Market Doctor feature that can re-establish links to the Android Market after you restore the apks and data files using Titanium Backup.

您也可以尝试加载出厂映像到一些手机或平板电脑,跳过帐户创建过程,并看到了市场数据库是什么样子所包含的应用程序,如YouTube和Facebook,Gmail,地图等。

You could also try loading a factory image onto some phone or tablet, skipping the account creation process, and seeing what the market database looks like for the included apps such as Youtube, Facebook, Gmail, Maps, etc.

这篇关于是否有可能通过ADB安装一个应用程序,但仍然得到谷歌市场更新?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆