我开始开发离子应用程序,我按照http://ionicframework.com/docs/guide/installation.html中的指南进行操作
以防万一:命令"离子平台添加ios"工作,我安装了android sdk.
当键入命令"ionic platform add android"时,我收到此错误:
Adding android project...
/Users/LihaiMac/.cordova/lib/npm_cache/cordova-android/3.7.1/package/bin/node_modules/q/q.js:126
throw e;
^
Package name must look like: com.company.Name
Error: /Users/LihaiMac/.cordova/lib/npm_cache/cordova-android/3.7.1/package/bin/create: Command failed with exit code 1
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1008:16)
at Process.ChildProcess._handle.onexit (child_process.js:1080:5)
Run Code Online (Sandbox Code Playgroud)
我尝试在其他相关帖子中搜索答案,但没有成功..我会感谢任何帮助解决我的问题..
我现在正致力于Ionic项目,我想要zipalign这个android-release-unsigned.apk文件.我按照Ionic的指南.
当我运行zipalign -v 4 /Users/zulhilmizainudin/Desktop/kl-parking/platforms/android/build/outputs/apk/android-release-unsigned.apk android-release.apk命令时,我收到-bash: zipalign: command not found错误.
这是zipalign在我的系统中的位置:
/Users/zulhilmizainudin/Library/Android/sdk/build-tools/21.1.2
Run Code Online (Sandbox Code Playgroud)
我试图在其中复制zipalign并将其放入我的Ionic项目文件夹并再次运行zipalign命令.但仍然得到相同的命令没有找到.
我现在应该怎么做?
cordova build android给了我以下错误
node_modules/q/q.js:126 throw e; (*error details)
Run Code Online (Sandbox Code Playgroud)
之前已经问过这个问题,但关于PATH和ANDROID_HOME的典型答案对我没有用.
我把它放到代码片段中以避免SO提交问题
export HOME="/Users/rover"
export ANDROID_SDK="$HOME/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk"
export ANDROID_HOME="$ANDROID_SDK/tools"
export ANDROID_PLATFORM_TOOLS="$ANDROID_SDK/platform-tools"
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$ANDROID_SDK/build-tools:$PATH"
export ANT_HOME="/usr/local/bin/ant"
#export PATH="$PATH:$ANT_HOME/bin"
Run Code Online (Sandbox Code Playgroud)
我的环境变量:
$ set | grep"ANDROID\| PATH"
ANDROID_HOME =/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/tools ANDROID_PLATFORM_TOOLS =/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk/platform-tools ANDROID_SDK =/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/sdk PATH =/Users/rover/Documents/Dev/Android/adt-bundle-mac-x86_64-20140702/SDK /工具:/用户/流动站/文档/开发/安卓/ ADT-束-MAC-x86_64-20140702/SDK /平台的工具:/用户/流动站/文档/开发/安卓/ ADT-束-MAC-x86_64的-20140702/SDK /编译工具:在/ usr/local/bin目录:在/ usr/bin中:/ bin中:/ usr/sbin目录:/ sbin目录中:/ opt/X11/bin中
$ which ant
/usr/local/bin/ant
$ ls /usr/local/bin/ant
/usr/local/bin/ant
$ cordova --version
4.0.0
$ ant -v
Apache Ant(TM) version 1.9.4
Run Code Online (Sandbox Code Playgroud)
我在Mac OSX 10.10(Yosemite)上可能有Java 8的问题.这可能是相关的吗?
$ java -version java version"1.8.0_05"Java(TM)SE运行时环境(版本1.8.0_05-b13)Java HotSpot(TM)64位服务器VM(版本25.5-b02,混合模式)
$ ant …Run Code Online (Sandbox Code Playgroud) 我试图安装离子并从早上开始创建一个示例项目.但是,从那时起就面临着一系列问题.试图一个一个地解决它们.Atlast重新启动我的机器并打开命令提示符来构建示例项目并尝试
path of the sample project> ionic build android
Run Code Online (Sandbox Code Playgroud)
但是,我继续面对错误,即'离子'未被认为是内部或外部命令.
我尝试清除缓存并在我的机器中重新安装离子.尽管如此,我面临同样的离子问题并未被认为是内部或外部的命令.
有人可以帮我解决这个问题吗?
谢谢Manikandan J.
我在adb中检测到2个设备.一个来自我的genymotion,另一个来自我的真实设备:
$ adb devices
List of devices attached
192.168.57.101:5555 device
e78ab88d device
Run Code Online (Sandbox Code Playgroud)
我想运行我的离子应用程序e78ab88d device.我怎样才能实现这一目标?如果我运行ionic run android,它会自动在我的genymotion设备上运行.它说,没有指定目标.
img没有指定目标
在特定设备上运行什么命令?
这真让我抓狂.我正在研究Ionic应用程序(Cordova,Angular等).我有一个联系我们链接,其中包含mailto:href
href="mailto:info@somedomain.net?subject=my%20App"
Run Code Online (Sandbox Code Playgroud)
我已经阅读了无数帖子,说你必须删除
<access origin="*"/>
Run Code Online (Sandbox Code Playgroud)
从项目根目录中的config.xml中替换它:
<access origin="mailto:*" launch-external="true" />
Run Code Online (Sandbox Code Playgroud)
我做过的.当我运行ionic build它时会被添加到config.xml中platforms/android/res/xml.但无论我做什么,链接都不会在任何Android模拟器上打开邮件应用程序(即使在模拟器中配置了电子邮件).
可悲的是,我没有可以测试的设备 - 所以这只是一个模拟器的事情还是我错过了什么?
我正在使用离子启动菜单模板.我想更改每个页面的标题背景颜色.我目前有:
<ion-view view-title="Search">
<ion-content>
<h1>Search</h1>
</ion-content>
</ion-view>
Run Code Online (Sandbox Code Playgroud)
我试过了:
<ion-view view-title="Search" class="bar bar-header bar-assertive">
<ion-content>
<h1>Search</h1>
</ion-content>
</ion-view>
Run Code Online (Sandbox Code Playgroud)
但它根本不起作用(内容未呈现).该头文件并不能帮助我.这样做的正确方法是什么?
我正在使用离子框架.我正在尝试设置一种方法来接收来自其他应用的网址.比如,您在浏览器中,单击共享,并将链接发送到另一个应用程序(我的应用程序).我找到了这个cordova插件,并将其集成到我的应用程序中.但这是Android的普及.我在IOS中需要相同的功能.
我知道哪个插件需要用于ios
我为Android采取的步骤
1)cordova插件添加git://github.com/Initsogar/cordova-webintent.git 2)检查config.xml文件并找到webintent的代码
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
和app.js代码
if (window.plugins && window.plugins.webintent) {
window.plugins.webintent.getUri(function(url) {
alert("getUri url:"+url);
});
}
Run Code Online (Sandbox Code Playgroud)
在ios中对功能相同的任何建议?
谢谢
我希望能够覆盖导航栏上的BACK按钮和硬件按钮.
我希望这个覆盖是针对一个特定的控制器,而不是其他控制器.
(使用离子v1.0.0铀 - 独角兽)
我的理由是我有一个项目清单.单击列表将打开一个详细信息页面,其中包含3个选项卡.每个选项卡共享同一个控制器.
但是,在任何这些选项卡上按BACK必须返回主列表.这就是它在本机设备上的工作方式,所以我希望它能够在我的混合应用程序上运行.
在线提供的许多解决方案似乎适用于较旧的beta版本,或者用于控制器之外的注册.
在控制器内部使用Android硬件按钮的常见解决方案是:
$ionicPlatform.registerBackButtonAction(function (event) {
if($state.current.name=="home"){
alert("button back");
}
}, 100);
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不适用于软导航栏按钮,它适用于所有控制器,而不仅仅是一个控制器.
我正在使用离子和AngularJS(AngularJS材料)构建混合应用程序.此应用程序还具有使用Node.js和socket.io构建的集成聊天.
我现在遇到的问题是,只有200条消息,应用程序加载所有消息的速度非常慢(在浏览器中为200ms - 在应用程序中为> 4秒,即使使用CrossWalk,也有使用track.id进行跟踪)并且还要在textarea中输入插入消息的速度变慢了.
我有两个解决方案来解决这个问题:
1)我认为虚拟重复将是最好的解决方案(我已经在另一个页面上实现了它并且它像魅力一样滚动1500个项目)但问题是消息可以根据它们的长度和md-virtual-具有不同的高度 - 重复要求是所有元素必须具有相同的高度才能工作.
2)所以也许我们可以转向无限滚动方法,但现在的问题是使用ion-infinite-scroll指令做这件事有点棘手,因为聊天需要在到达顶部而不是底部时触发loadMore() .
所以我的问题是:有没有人有一个解决方法,在聊天中使用平滑/快速ng-repeat或者可以处理不同高度的虚拟重复指令或在顶部工作的无限滚动?
javascript angularjs angularjs-ng-repeat angular-material ionic
ionic ×10
android ×4
cordova ×3
angularjs ×1
ant ×1
bash ×1
css ×1
ios ×1
javascript ×1
node-modules ×1