无法使用phonegap版本通过APK访问我手机的资源

时间:2014-12-02 09:36:08

标签: android jquery-mobile cordova apk device

我正在使用PhoneGap / Cordova的应用程序,他使用我的设备的相机并向我展示他的属性。

我使用line命令创建了一个应用程序" phonegap create ...."然后使用这些行

添加相机和设备插件
cordova plugin add org.apache.cordova.camera
cordova plugin add org.apache.cordova.device

然后我编辑了我的index.html以使用相机并显示属性。

获取属性。

document.addEventListener("deviceready", onDeviceReady, false);
            function onDeviceReady() {
                window.document.getElementById("version").innerHTML=device.version;
                window.document.getElementById("uuid").innerHTML=device.uuid;
                window.document.getElementById("modele").innerHTML=device.model;
                window.document.getElementById("platform").innerHTML=device.platform;
                console.log(device.model);}

html的一部分

<div data-role="page" id="property">
  <div data-role="header">
    <h1>En-tête</h1>
  </div>
   <div data-role="content">
  <div data-role="collapsible-set">
    <div data-role="collapsible">
      <h3>Propriétét du téléphone</h3>
      <table>
            <tr>
                <td>
                    <p>Modèle</p>
                </td>
                <td>
                    <p id="modele">Attendez</p>
                </td>
            </tr>

和相机。

        function capturePhoto(){
        navigator.camera.getPicture(uploadPhoto,null,{sourceType:1,quality:60});
    }
    function uploadPhoto(data){
    // this is where you would send the image file to server
        cameraPic.src = "data:image/jpeg;base64," + data;
        // Successful upload to the server
        navigator.notification.alert(
            'Votre photo à été envoyée',  // message
            okay,                           // callback
            'Photo envoyée',              // title
            'OK'                          // buttonName
        );

HTML

<div data-role="page" id="camera">
    <div data-role="header">
        <h1>Camera</h1>
    </div>
    <div data-role="content">
        <div id="camera">
            <button class="camera-control" onclick="capturePhoto();">Capture Photo</button>
            <div style="text-align:center;margin:20px;">
                <img id="cameraPic" src="" style="width:auto;height:120px;"></img>
            </div>
        </div>
        <a href="#default" data-role="button" data-icon="back" data-iconpos="left">Retour</a>
    </div><!-- /content -->

<div data-role="footer">
        <h4>Page Footer</h4>
    </div><!-- /footer -->
</div><!-- /page -->

我的代码正在处理实时应用程序&#34; PhoneGap Developper&#34;我可以拍照并查看手机的规格。

cd myApp
phonegap serve listening on 127.0.0.1

但是当我使用PhoneGap Build创建一个APK(上传我的zip文件并构建它)时,相机无法正常工作,似乎我无法访问智能手机的资源。

PS:当我创建一个APK时,我的应用程序很小,就好像它是为电脑屏幕编码但在phonegap live app上显得正常。

PS.2:当我想在我的phonegap项目中添加一个平台时,他需要一条路径,但我不知道在哪里可以找到文件或路径。

我正在使用

  • Cordova 4.1.2
  • Phonegap 4.1.2-0.22.9
  • LG G3 with Android 4.4.2

感谢您的阅读,希望我明确而具体

英语不是我的母语所以,如果有错误,我道歉

1 个答案:

答案 0 :(得分:0)

你有两个问题:

  1. 当您使用cordova cli而不是phonegap创建项目时,config.xml可能没有正确的dtd与phonegap构建特定语法兼容
  2. 您必须在config.xml中声明插件才能将其与phonegap build一起使用。
  3. 所以在你的config.xml中,使用

    <widget id="com.test.yourapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:gap="http://phonegap.com/ns/1.0">
    

    而不是

    <widget id="com.test.yourapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    

    添加行以添加插件:

    <gap:plugin name="org.apache.cordova.camera" />
    

    下次开始阅读该服务的文档;):https://build.phonegap.com/plugins/1173