Бог, это дает мне головные боли. Я проверил все в соответствии с этим сообщением DroidGap не может быть разрешен в тип, и он все равно не работает.
Вот мой код:
import org.apache.cordova.*;
import android.app.DroidGap;
import android.os.Bundle;
import android.view.Menu;
public class SpotableActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.loadUrl("file:///android_asset/www/index.html");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_spotable, menu);
return true;
}
}
И у меня есть кордовая банка на моем пути сборки.
Я выполнил все шаги из документов: http://docs.phonegap.com/en/1.9.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android
Шаги на странице, которую вы цитируете, не имеют android.app.DroidGap
, потому что такого класса AFAIK нет. DroidGap
, согласно этой странице, находится в org.apache.cordova
.
Итак, удалите DroidGap
import
DroidGap
, и вам лучше повезло.
Если вы используете cordova.2.9.1.jar, убедитесь, что вы заменили его на cordova.2.9.0.jar, затем.. magic..
Не забудьте:
1. Щелкните правой кнопкой мыши cordova.2.9.0.jar >> Путь сборки >> Добавить путь сборки
2. Щелкните правой кнопкой мыши cordova.2.9.0.jar >> Путь сборки >> Настройте путь сборки >> Заказ и экспорт >> Проверьте cordova-2.9.0.jar >> OK
3. Добавьте этот код в AndroidManifest.xml, над кодом "uses-sdk......"
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
В yourcode.java попробуйте удалить этот код.
import android.app.DroidGap;
и, возможно, этот код тоже
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_spotable, menu);
return true;
}
Запустить его. Он работал для меня через 4 часа в режиме головной боли.
Для Cordova 2.0.0 вам не нужна строка:
android.app.DroidGap;
В этом отношении документация представляется неверной.