我用" phonegap create"命令创建了应用程序.然后我切换到项目目录并尝试用" phonegap local run android" 运行它,我有下一条错误消息:
请安装Android目标17 <...>
Android SDK放置在C:\ dev\sdk我的PATH变量包含C:\dev\sdk; C:\div\sdk\platforms\;C:\dev\sdk\platform-tools
我android从cmd 运行" "命令,SDK Manager显示没有更新或没有错过sdk文件.我尝试使用cordova cli创建并运行项目,但遇到了同样的问题.它能是什么?
Cordova提供了一个用于实例化和构建Cordova框架的CLI.
例如,您可以输入:
cordova create ...
Run Code Online (Sandbox Code Playgroud)
创建用于构建Cordova应用程序的目录结构.
你也可以输入:
cordova platform add android
cordova plugin add ...
cordova build android
Run Code Online (Sandbox Code Playgroud)
为android项目添加文件,添加插件并构建它.
然而,这些命令似乎添加了最新版本的Cordova本身目前cordova3.4.0.如果您想使用早期的3.0版本Cordova(如cordova3.1.0)进行构建,该怎么办?你会怎么做?
我使用以下命令创建了一个新的hello world项目,
cordova create hello com.example.hello HelloWorld
Run Code Online (Sandbox Code Playgroud)
项目创建成功,然后我添加了ios平台
cordova platform add ios
Run Code Online (Sandbox Code Playgroud)
并验证我已正确添加,我输入
cordova platform list
Run Code Online (Sandbox Code Playgroud)
iOS平台显示在列表中.所以在这一点上,根据PhoneGap教程,我可以使用该命令
cordova build ios
Run Code Online (Sandbox Code Playgroud)
构建项目的iOS版本.但是,我遇到以下错误:
Generating config.xml from defaults for platform "ios"
Preparing ios project
Compiling app on platform "ios" via command "/Users/Aldour/PhoneGap/hello/platforms/ios/cordova/build"
/usr/local/lib/node_modules/cordova/node_modules/q/q.js:126
throw e;
^
Error: An error occurred while building the ios project.
at ChildProcess.<anonymous> (/usr/local/lib/node_modules/cordova/src/compile.js:65:22)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:735:16)
at Socket.<anonymous> (child_process.js:948:11)
at Socket.EventEmitter.emit (events.js:95:17)
at Pipe.close (net.js:466:12)
Run Code Online (Sandbox Code Playgroud)
我用google搜索的结果主要是关于android版本,谈论无效的环境路径设置.我不知道它是否相关,因为我可以创建和构建一个针对Android平台的PhoneGap项目没有问题.
这是我的$ PATH:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/bin/node:/usr/local/bin/npm:/Developer/SDKs/android-sdk-macosx/platform-tools:/Developer/SDKs/android-sdk-macosx/tools
Run Code Online (Sandbox Code Playgroud)
编辑:通过从应用商店重新安装xcode解决了问题
我已经使用cordova创建了一个应用程序。当我在Eclipse上进行测试时,我将所有console.log打印在logcat中。同样在xcode中,我在xcode中获得它们。Console.log可以帮助我跟踪JS文件中发生的情况,例如我在Ajax中发送的内容以及得到响应的内容。我使用cordova build命令来构建可在模拟器上运行的cordova仿真。现在我想在模拟器中使用应用程序时获取日志。Phonegap文档说在构建时使用-d命令,但我不需要构建日志。我在运行时需要应用程序的日志如何在phonegap cli中检查这些日志?
"cordova --help"表示"运行......运行项目(包括准备&&编译)".我所理解的是调用"cordova run android"调用准备和编译进程.它确实叫.
但是,它只调用"prepare"相关的钩子(before_prepare和after_prepare),并且不调用与编译相关的钩子(before_compile和after_compile).如果我专门调用"cordova编译",钩子会被调用并正确执行.有帮助吗?
我使用的是cordova 4.2.0.我的钩子用node.js编写,并驻留在"/ hooks"目录中.
我想添加这个插件:https://github.com/apache/cordova-plugin-whitelist 但它需要cordova iOS 4.0.0或更高版本.
我只能更新到iOS 3.8.0
我能怎么做 ?
谢谢您的帮助.
尝试构建我的第一个iOS Cordova应用时遇到错误。通过使用以下命令:
sudo cordova构建ios --device
这是我的终端输出:
CordovaError:承诺以非错误被拒绝:'xcode-select:错误:工具\'xcodebuild \'需要Xcode,但是活动的开发人员目录\'/ Library / Developer / CommandLineTools \'是cli的命令行工具实例\ n' .catch.err(/ usr / local / lib / node_modules / cordova / bin / cordova:30:15)在process._tickCallback(内部/process/next_tick.js:68:7)
这是什么错误呢?我该如何解决?
非常感谢你!问候,
Daksamedia
当我开始安装两个软件包的问题时,我尝试更新我的离子cordova cli,但现在离子已成功安装,我现在尝试安装cordova,所有尝试都没有成功这是我得到的错误信息
$ npm install -g cordova
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "c:\\Program Files\\nodejs\\node.exe" "c:\\Program Files\\nodejs\\
node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "cordova"
npm ERR! node v0.12.0
npm ERR! npm v2.5.1
npm ERR! file C:\Users\Akinsanya Olanrewaju\AppData\Roaming\npm-cache\cordova-js
\3.7.3\package\package.json
npm ERR! code EJSONPARSE
npm ERR! Failed to parse json
npm ERR! Unexpected token
npm ERR! File: C:\Users\Akinsanya Olanrewaju\AppData\Roaming\npm-cache\cordova-j
s\3.7.3\package\package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR!
npm ERR! This is not …Run Code Online (Sandbox Code Playgroud) my ionic/cordova项目的config.xml文件具有以下设置
android-versionCode ="201504231751"ios-CFBundleVersion ="201504231752"
当我尝试使用"cordova build android"构建for android时,gradle会抛出一个错误说:
FAILURE:构建因异常而失败.*其中:脚本'E:\ Workspaces\xxx\xxx\platforms\android\CordovaLib\cordova.gradle'行:128*出了什么问题:评估根项目'android'时出现问题.
对于输入字符串:"201504231750"*尝试:使用--stacktrace选项运行以获取堆栈跟踪.使用--info或--debug选项运行以获取更多日志输出.
\ CordovaLib\cordova.gradle上的第128行是ParseInt.我的假设是字符串不能转换为整数,因此问题.
当我将字符串更改为一个简单的整数时,它可以工作.
我需要版本作为时间戳.我该如何克服这个错误?
我在Windows 7机器上.奇怪的是,在mac机器上为android构建了相同的代码库.
谢谢你
我正在尝试使用以下命令构建Android APK:
cordova build android --release -- --gradleArg=-PcdvMinSdkVersion=19
Run Code Online (Sandbox Code Playgroud)
但是,当我验证构建的APK目标是哪个minSdkVersion时,会通知我它是版本15(0xf):
aapt list -a android-release.apk | grep SdkVersion
Run Code Online (Sandbox Code Playgroud)
为什么第一个命令不起作用?
我没有使用Crosswalk(看着build.gradle,无论如何这都没有关系)。
我正在尝试AndroidManifest.xml使用config.xml中的以下内容更新文件:
<platform name="android">
<edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application">
<application android:icon="@mipmap/appicons" android:roundIcon="@mipmap/appicons_round" />
</edit-config>
</platform>
Run Code Online (Sandbox Code Playgroud)
它不会更新任何东西。我试图删除完整路径,而仅将其保留为file =“ app / src / main / AndroidManifest.xml”,但这也不起作用。我在Android 7.0.0上使用命令行,我完全迷路了。
双方config.xml并AndroidManifest.xml通过XML测试。
如果我通过更改手动更新了AndroidManifest.xml,则该应用程序可以正常运行,并且所有更改都可见,但是我认为这不是正确的方法。
我完全迷路了。
更新:可能与此有关吗? https://issues.apache.org/jira/browse/CB-13514?jql=text%20~%20%22edit-config%22
我目前正在使用 AdMob 测试广告测试混合 Cordova/Android 应用程序。该应用程序使用一个自定义(即内部)插件,我从中可以访问 Google Play 服务 AdMob API。plugin.xml文件的相关位如下
<platform name="android">
<preference name="PLAY_SERVICES_VERSION" default="17.2.0"/>
<preference name="ADMOB_APP_ID" default="ca-app-pub-...."/>
<framework src="com.android.support:appcompat-v7:27.1.0" />
<framework src="com.google.android.gms:play-services-ads:17.2.0"/>
Run Code Online (Sandbox Code Playgroud)
该config.xml应用程序的文件声明以下内容
<preference name="android-minSdkVersion" value="23" />
<preference name="android-targetSdkVersion" value="28" />
Run Code Online (Sandbox Code Playgroud)
加载和显示激励视频广告的 Java 代码遵循此处的讨论。
虽然这行得通,但我在这里困扰的是我使用了一个相当古老的play-services-adsAPI。问题是,如果我尝试根据此处显示的说明升级到最新的 API 。我修改后的plugin.xml文件反映了使用最新 API 所需的更改
<platform name="android">
<preference name="PLAY_SERVICES_VERSION" default="18.3.0"/>
<preference name="ADMOB_APP_ID" default="ca-app-pub-..."/>
<framework src="com.android.support:appcompat-v7:28.0.0" />
<framework src="com.google.android.gms:play-services-ads:18.3.0"/>
Run Code Online (Sandbox Code Playgroud)
问题是我无法再编译该应用程序。Cordova CLI 报告了我在下面显示的一系列问题
带有退出代码 1 错误输出:注意:path\to\app\platforms\android\CordovaLib\src\org\apache\cordova\engine\SystemCookieManager.java 使用或覆盖已弃用的 API。注意:使用 -Xlint:deprecation 重新编译以获取详细信息。path\to\app\platforms\android\app\src\main\AndroidManifest.xml:22:18-86 错误:属性 application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) 来自 [androidx.core:core: …