Phonegap 3.0 хочет android 17, но я хочу android 18

В то время как с помощью phonegap и xcode я новичок в Android. Я установил phonegap 3.0...

npm install phonegap
phonegap --version
3.0.0-0.14.3

Я установил adt-bundle-mac-x86_64-20130729. Средства командной строки (например, android), похоже, работают нормально. Когда я пытаюсь добавить android в качестве платформы..

phonegap local build android

Я получаю...

[error] Please install Android target 17 (the Android 4.2 SDK). Make sure you have the latest Android tools installed as well. Run `android` from your command-line to install/update any missing SDKs or tools.

Я вижу, что подобные вопросы остаются без ответа... Phonegap 3.0 CLI номер целевого номера Android в приложении для сборки

Когда я устанавливаю Android-17, он отлично работает, это круто, но мне нужно использовать android-18, чтобы я мог использовать BLE.

Я вижу, что Fil Maj, по-видимому, исправил эту проблему 31 июля... https://git-wip-us.apache.org/repos/asf?p=cordova-android.git;a=commitdiff;h=c2c5f710

.. но, похоже, у меня нет такого исправления в той версии телефонного разговора, которую я скачал. Я думал, возможно, это было только в кордове, поэтому я тоже установил это, но столкнулся с тем же вопросом.

Я попытался взломать четыре js файла в каталогах npm, которые содержат проверку напрямую, но это не произошло (т.е. ошибка была сохранена).

Кто-нибудь может предложить либо...

1) как загрузить версию phonegap/cordova с исправленной проблемой или

2), как сообщить phonegap/cordova, какую версию андроида я хочу настроить

Большое спасибо...

Ответы

Ответ 1

Найти файл android_parser.js в Windows это путь undr:

C:\Users\USER_NAME\AppData\Roaming\npm\node_modules\cordova\src\metadata

изменение файла android_parse.js

ИЛИ, если вы используете приложение из PhoneGap, а не Кордовы:

C:\Users\USER_NAME\AppData\Roaming\npm\node_modules\phonegap\node_modules\cordova\src\metadata\android_parser.js

перейти к строке: 57

if (output.indexOf('android-17') == -1) {

и измените его для:

if (output.indexOf('android') == -1) {

Это позволит вам не вспоминать о будущем:)

Но тогда вы можете встретить этот Error

[Error: An error occured during creation of android sub-project.
]

Чтобы исправить это, вам нужно перейти по этому пути:

C:\Users\USER_NAME\.cordova\lib\android\cordova\3.1.0\framework\project.properties

И измените эту строку:

target=android-17

Для этого:

target=android-19

Или какая бы версия Android SDK не поддерживалась

Что делать, если вы хотите использовать Android 2.2?

Просто перейдите по ссылке:

Your_Project_Folder/platforms/android/AndroidManifest.xml

И измените:

<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />

To:

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19" />

И после, которые импортируют ваш проект в вашу IDE

Наслаждайтесь:)

Ответ 2

Если кто-то получает здесь, используя кордовую и/или хромовую мобильную программу appchain. Я отредактировал platforms/android/project.properties непосредственно на target=android-19 и он построил.

веселит

Ответ 3

Просто откройте файл AndroidManifest.xml и установите минимальную и целевую версию. В вашем случае 18. Тот же ответ на вопрос Phonegap 3.0 CLI задает целевой номер Android в приложении для сборки. enter image description here Файл AndroidManifest.xml находится в: YOURPROJECT\platform\android. Если вам нужна дополнительная помощь, попробуйте помочь вам. Отправьте свой файл AndroidManifest.xml, чтобы я мог проверить.

Ответ 4

Перейдите в \cordova\src\metadata\android_parser.js в функции check_requirements и измените строки 56,57,66 с 17 на 18. Затем это будет нормально.

Ответ 5

Убедитесь, что у вас установлена ​​последняя версия:

  • PhoneGap: sudo npm update -g phonegap
  • Android SDK: в зависимости от того, как вы его установили, если вы сделали это через brew: brew update android-sdk

Затем запустите android и загрузите последний API.

Затем PhoneGap будет использовать последний API по умолчанию при запуске phonegap build android.

Если вам нужно обновить текущий проект, запустите внутри папки проекта:

phonegap platform update android

И теперь, если вы снова запустите build, он должен использовать последнюю версию.

Ответ 6

Я установил кордову через npm, поэтому для ее работы я модифицировал target в ~/.cordova/lib/npm_cache/cordova-android/3.6.3/package/framework/project.properties

Ответ 7

Я думаю, что у вас неправильная версия Phonegap, мой говорит 0.3.0-0.15.0. Я думаю, что Fil fix наверняка внес бы его в окончательную сборку, поэтому я думаю, что вы должны делать что-то глупое при установке Phonegap. Это то, что я сделал:

npm install cordova -g (или, я думаю, в вашем случае это будет Phonegap, а не cordova.) Это установит кордову (или телефонную трубку) во всем мире, чтобы вы могли получить к ней доступ в любом месте с помощью команды "cordova". Если у вас уже установлен try npm update вместо npm install.

Перейдите в местоположение рабочей области, например C:\workspace.

Введите cordova create MyApp, который создаст проект Cordova в C:\workspace\MyApp. Рабочая область будет иметь следующие папки:

/www/ - где вы размещаете все свои HTML и JavaScript

/platforms/ - у вас будут папки для Android, ios и любых других платформ, которые вы добавляете. Ваши материалы из/www/будут скопированы здесь в нужном месте для каждой платформы. Здесь вы можете редактировать файлы, специфичные для платформы, например, для изменения целевого-sdk, который вы хотите отредактировать /platforms/android/AndroidManifest.xml.

/plugins/ - вот где весь код плагина будет идти, когда вы сделаете cordova plugin add {link}. Я не могу думать о какой-либо причине, почему вы должны когда-либо редактировать что-либо в этой папке (но, вероятно, некоторые хорошие).

/merges/ - любые файлы здесь объединяются с соответствующими файлами в /www/ и помещаются в /platforms/, см. документацию .

После запуска команды create вам нужно добавить платформы:

cd MyApp

cordova platform add android -d - -d дает нам отладочную информацию

cordova build android - это создаст приложение для Android, и вы увидите, что материал из /www/ скопирован на /platforms/android/assets/www.

Один Если у вас все еще есть проблемы, вы попробовали то, что он говорит на выходе, т.е. Запустив android из командной строки? Это вызовет "Android SDK Manager", убедитесь, что у вас установлена ​​последняя версия SDK , а также новейшие инструменты Android SDK Tools и Android SDK Platform (мои 22.0.5 и 18.0.1, соответственно.)

Также могут возникнуть проблемы, если вы никогда не создавали объект эмулятора Android (используйте AVD-менеджер), хотя это звучит менее вероятно.

Ответ 8

C:\Users\USER_NAME.cordova\Lib\Android\Cordova\3.1.0\рамки\

должен быть в bumerang anser

C:\Users\USER_NAME.cordova\Lib\Android\Cordova\3.1.0\Framework\project.properties

Ответ 9

PhoneGap Build теперь поддерживает возможность установки версии Android SDK. Это документировано здесь, но в основном то, что вам нужно в файле config.xml:

  <preference name="android-targetSdkVersion" value="18" />

Затем он правильно установит свойство в AndroidManifest.xml.

Примечание. Это, по-видимому, работает только для сборки PhoneGap, но я использую инструменты командной строки Ionic (на Кордове 5.1.1), и, похоже, он отлично работает и для меня.

Ответ 10

прочитав примечания к выпуску версии 3.1.0, он говорит:

  • Исключительная проверка версии для Android 4.3 API уровня 18
  • Обновление проекта до Android 4.3

Поэтому обновление до Phonegap 3.1.0 должно сделать трюк.

Ответ 11

Вы попали не туда, где ребята

ВЫ ДОЛЖНЫ ПРОЧИТАТЬ ЭТО: телефонная сборка local build android

это добавит android в папку ваших платформ...