2013-09-02 10 views
6

Windows üzerinde Phonegap 3.0, Android platformu, Eclipse'de hata ayıklama ile çalışma.Phonegap - API özellikleriyle 3.0 soruna yükseltin

Eski uygulamamı derlemek için kullanabildim ama şimdi bir eklenti olan bir özelliği kullanmaya çalıştığımda yeni bir sorunla karşılaştım.

İhtiyacım olan tüm eklentileri CLI aracıyla ekledim ve "özellik" verilerini config.xml dosyasına ekledim, bu yüzden aramanın uygun olduğunu varsayıyorum. İzinler de bildirim dosyasında ayarlanır.

FileTransfer

Ben Dosya Aktarım API Örnek kod 3.0 için değişmedi görüyoruz, bu yüzden çağrı benim kodunda aynı bıraktı. Yani dosya indirir ama sonra bazı bu hata aramaya yoktu ve standart bir çözüm gibi görünmüyor benim uygulamanın kilitlenme

" 
D/CordovaLog(12883): file:///android_asset/www/phonegap.js: Line 932 : Uncaught Error: Error calling method on NPObject! 
" 

yapar bir hata alıyorum?

Belki de eklentiler içindeki özellikleri çağırmanın yeni bir yolu var mı? Çünkü bir ses dosyasını da hata almadan çalamıyorum. Ses dosyası oynatılacak ancak hatalara neden olacaktır.

" 
09-01 20:13:17.274: W/PluginManager(13279): THREAD WARNING: exec() call to Media.startPlayingAudio blocked the main thread for 23ms. Plugin should use CordovaInterface.getThreadPool(). 
" 

Medya API'sini yeniden okudum ve iş parçacığı havuzu söz konusu değil. Tüm programımı javascript’te yapıyorum.

Aslında bir eklenti özelliğini kullandığım uygulamada büyük hatalar var. Benim daha önce çalışma app benim rekor ses özelliğini kullanarak çalıştı ve benim kayıt bir son çağırdığınızda onu

" 
09-01 20:10:04.206: E/AudioPlayer(13279): FAILED renaming /mnt/sdcard/tmprecording.3gp to /sdsub/myapp/Recorded/myRecording.amr 
" 

Ben işlevini kaldırmak benim dosyası aracılığıyla yeniden dosya transferi api test bir hata atar ve aynı zamanda

başarısız
" 
09-01 20:16:00.884: W/PluginManager(13279): THREAD WARNING: exec() call to File.remove blocked the main thread for 19ms. Plugin should use CordovaInterface.getThreadPool(). 
" 

, özelliklerin nasıl çalıştığının temel niteliği gibi görünüyor, ancak hiçbir yerde belgelenmiyor. API çağrıları eski sürümlerden değişmez, API özelliklerini nasıl yüklediğiniz farklıdır, ancak bu kılavuzu takip ettim ve yükledim.

Kaçırdığım yeni bir API rehberi var mı? Çünkü Phonegap API dokümanı bu özelliklerin 3.0'da nasıl çağrıldığını değiştirmedi.

Teşekkürler.

benim yapılandırma dosyası

<feature name="App"> 
    <param name="android-package" value="org.apache.cordova.App" /> 
</feature> 
<feature name="NetworkStatus"> 
    <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" /> 
</feature> 
<feature name="File"> 
    <param name="android-package" value="org.apache.cordova.file.FileUtils" /> 
</feature> 
<feature name="FileTransfer"> 
    <param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" /> 
</feature> 
<feature name="Media"> 
    <param name="android-package" value="org.apache.cordova.media.AudioHandler" /> 
</feature> 
<feature name="Notification"> 
    <param name="android-package" value="org.apache.cordova.dialogs.Notification" /> 
</feature> 
<feature name="SplashScreen"> 
    <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" /> 
</feature> 
<feature name="Compass"> 
    <param name="android-package" value="org.apache.cordova.deviceorientation.CompassListener" /> 
</feature> 

benim Bildiri dosyası

<uses-permission android:name="android.permission.READ_PHONE_STATE" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
+0

Bunu düzeltebildiniz mi? Cordova.js dosyası olan klasörün cordova_plugins.js dosyasını ve eklenti klasörünü de içerdiğini (ki bu da kullanılan her eklenti için daha fazla alt klasöre sahip olacaktır) onaylayabilir. Ayrıca cordova_plugins'i açın.js dosyası ve config.xml dosyası –

+0

da belirtilen tüm eklentilerden bahsedilip belirtilmediğini kontrol edemem. Uygulamamın neden 3.0 öncesi hata yapmadan çalıştığını bilmiyorum, ancak bu hataların tümü 3.0'da. Cordova_plugins.js dosyası cordova.js dosyasının yanındadır ve eklentiler klasörü eklediğim eklentiler için tüm alt klasörlere sahiptir. Bu hataları nasıl onarabileceğime dair herhangi bir öneriniz var mı? – user1017063

+0

Merhaba, adım 1 cordova.js'nizin çalıştığından emin olun ve tamam, 2. adım. Eklentiyi yerel bir uçbirimde değil, tarayıcıda değil, tarayıcıda, 3. adımda cordova 3.3'te denemelisiniz. Cordova, kendisi için inşada. adım 4. IOS eklentileriyle ilgili bir problemi vardır, ios platformunu tekrar ekledikten sonra platformu kaldırmanız ve eklentileri yüklemeniz gerekir. umuyorum ki bu sana yardım edebilir. – JSG33kC0d3

cevap

0

Başvurunuzu yükseltirken,, phonegap.js dosyasının tüm fonksiyonel komut Suppport gerekir. javascript dosyasının uygun sürümünü phonegap.0.9.5.js veya daha yüksek bir sürümde de kullanabilirsiniz. Bunun nedeni, phonegap.js uygulamasının ihtiyaç duyduğu gerekli işlevi içermemesi olabilir. API'yi görüyorsanız, phonegap .X.Y.Z.js. Bu sayede daha yüksek bir tane deneyebilirsiniz.

+0

Cevabınız için teşekkür ederiz. Olmaya çalıştığınız şeyden emin değilsiniz ... Yorumunuzun sorumu ile ilgisi yok ... Belki de söylemeye çalıştığınız şeyi anlamıyorum. Phonegap'i güncellediğinizde ana .js dosyası da güncellenir. Yani ? – user1017063