2014-12-02 29 views
0

我正在與PhoneGap/Cordova一起使用我的設備的相機並向我展示其屬性的應用程序。無法通過使用phonegap的APK通過我的手機資源構建

我創建了命令行的一個應用程序「的PhoneGap創建......」然後使用這些線

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 --> 

我的代碼工作的實時應用「的PhoneGap Developper」我可以拍照,看到我的手機的規格。

cd myApp 
phonegap serve listening on 127.0.0.1 

,但是當我創建的PhoneGap的APK構建(上載我的zip文件,並建立它),攝像頭不工作,好像我無法達到我的智能手機的ressources。

PS:當我創建一個APK時,我的應用程序很小,就像它是爲電腦屏幕編碼一樣,但在電話現場應用程序中顯示正常。

PS.2:當我想爲我的phonegap項目添加一個平臺時,他需要一個路徑,但我不知道在哪裏找到文件或路徑。

我使用

  • 科爾多瓦4.1.2
  • 的PhoneGap 4.1.2-0.22.9
  • LG G3採用Android 4.4.2

感謝您閱讀我,希望我明確具體

英語不是我的母語,所以,如果有一些錯誤,我很抱歉

回答

0

你有兩個問題:

  1. ,你使用CLI科爾多瓦創建的項目,沒有的PhoneGap的config.xml中可能有不正確的DTD是與PhoneGap的生成特定的語法兼容
  2. 你有在config.xml中聲明插件以便能夠在phonegap構建中使用它。

所以在你的配置中。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

+0

這已經在我的.xml文件中,插件行上已經添加了我的.xml文件,當我將它們添加到命令行時。 – Frojaa 2014-12-02 10:40:18

+0

你說當你在你的問題中提供的命令(不是phonegap)中使用cordova cli時,插件行被添加?在這種情況下,版本4中有很多事情發生了變化 – QuickFix 2014-12-02 10:45:41

+0

因此,如果你的插件應該被添加並且不工作,你是否嘗試獲取日誌以檢查是否有錯誤(使用weinre或logcat) – QuickFix 2014-12-02 10:46:50