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 в приложении для сборки.
Файл 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 в папку ваших платформ...