PhoneGap / Apache Cordova: 卡在“device is ready”屏幕上

6
我有一个使用PhoneGap/Apache Cordova的应用程序,我已将自己的index.html页面插入到www文件夹中,但是当我运行应用程序时,它没有进入index.html页面,而是启动了闪屏界面,其中显示“设备已准备就绪”消息。我应该在哪里配置启动页面?
索引页:
<html>
<head>
    <script src="jquery-2.1.1.js"></script>
    <link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.4.4.min.css" />
    <script src="jquery.mobile/jquery.mobile-1.4.4.min.js"></script>
</head>
<body>
    <div data-role="header" data-theme="b" class="ui-bar ui-bar-b"> 
        <h1>Welcome to my app!</h1>
    </div>
    Username <input type="text" id="username" name="Username"></input><br>
    Password <input type="text" id="password" name="Password"></input>
    <button id="submit">Submit</button>
    <div data-role="footer" data-theme="b" class="ui-bar ui-bar-b"><h1>Placeholder</h1></div>
</body>
<style type="text/css">
body{
    border:0;
}
</style>
</html>

我的猜测是你看到的不是启动画面。你可能已经在index.html文件中包含了index.js。你需要提供更多细节。你能给我们展示一下你的index.html文件吗?默认情况下,cordova应用程序会选择index.html文件。index.html文件是从platforms\android\res\xml\config.xml配置文件(<content src="index.html" />)中获取的。 - frank
config.xml 中没有文件... 我可能丢失了文件吗? - Ciaran Gallagher
1
在添加了您的索引文件后,您是否运行了 cordova preparecordova build 命令? - Dawson Loudon
不,我需要这样做吗?我回退到一个更旧的PhoneGap版本,并且对于那个版本,我不记得在添加新文件后必须运行构建或准备命令。 - Ciaran Gallagher
3个回答

8
我认为你没有编辑正确的index.html文件。如果你正在构建Android应用程序,则位于assets / www文件夹中的index.html文件是您应该编辑以创建Android应用程序的第一个屏幕。
注意:默认情况下,www文件夹将被隐藏。要使其可见,请在Eclipse中转到项目 ->属性 ->资源 ->资源过滤器并删除排除过滤器。
有关更多信息,请查看:http://codezag.com/apache-cordova-android-stuck-device-ready-screen/

1
你有没有想过为什么要隐藏这个?我相当确定 Apache Cordova 的文档从未解释过这一点! - Ciaran Gallagher
1
另外,感谢您的答案,希望其他人在遇到相同问题时能够从中受益。 - Ciaran Gallagher

1

config.xml文件应该包含类似于<content src="index.html" />的条目。
下面是一个示例config.xml文件。config.xml文件中的条目可以被你自己的html文件覆盖,该文件将被用作启动html文件。

编辑1:
哎呀,我完全忘记看你编辑过的问题了。

你的index.html文件中缺少一个重要的条目。

你需要在head标签中包含以下内容。

<head>
        <!-- Cordova Script Tag over here -->
        <script type="text/javascript" src="cordova.js"></script>

        <!-- Jquery plugin over here -->

</head>
以下是示例config.xml:
<?xml version='1.0' encoding='utf-8'?>
<widget id="com.company.appname" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <preference name="loglevel" value="DEBUG" />
    <preference name="AndroidLaunchMode" value="singleTop" />
    <feature name="App">
        <param name="android-package" value="org.apache.cordova.App" />
    </feature>
    <feature name="Device">
        <param name="android-package" value="org.apache.cordova.device.Device" />
    </feature>
    <name>appname</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
</widget>

0
我正在为iOS构建应用程序。我遇到了类似的问题。虽然我是个新手,但我已经在App Store上发布了一个cordova应用程序至少3年了,所以我知道这方面已经发生了变化。现在有一个WWW文件夹和一个Staging/WWW文件夹,后者似乎很重要。还有两个Config.xml文件。此外,将HTML文件/文件夹直接拖放到Xcode中非常重要,这有助于构建正确的索引...它们可以在驱动器文件结构中,但在Xcode的树/IDE中仍然不可见;也就是说,在构建和运行时它们不会被捕获...我觉得整个过程很混乱,但像我说的,我是个新手。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接