小编NoB*_*ugs的帖子

Android Unknown Command'crunch'

我刚刚在Mac OS X中安装了Eclipse和Android SDK.

我将项目导入Eclipse,运行项目时出现Unknown命令'crunch'错误.

我该如何解决这个问题.

请帮我

eclipse macos android android-sdk-tools

71
推荐指数
2
解决办法
3万
查看次数

如何从'分离头状态'中恢复提交?

我检查了另一个更新的分支,然后进行了一些更改,切换回主git,现在更改消失了!我能把它们还给他们吗?终端基本上是:

$ git commit
[detached HEAD 7c09e17] Fixed some stuff
  files changed, insertions(+), deletions(-)
$ git push master
fatal: 'master' does not appear to be a git repository
fatal: The remote end hung up unexpectedly
$ git checkout master
Previous HEAD position was 7c09e17... Fixed some stuff
Switched to branch 'master'
$ git merge theother/directory
Run Code Online (Sandbox Code Playgroud)

git merge

21
推荐指数
2
解决办法
8785
查看次数

与Cookie的URLConnection?

我正在尝试创建一个支持cookie的URLConnection.根据我可以使用的文档:

CookieManager cookieManager = new CookieManager();
CookieHandler.setDefault(cookieManager);
Run Code Online (Sandbox Code Playgroud)

我无法使用此代码,然后我看到这只适用于API 9(2.3).但是,我在旧的模拟器中使用CookieManager时没有出错,CookieManager存在,但无法构造.有没有办法让这个版本适用于早期版本?我试过了:

            cookieManager.setAcceptCookie(true);
            URLConnection con = u.openConnection();

            con.setRequestProperty("Cookie", cookieManager.getInstance().getCookie(url););
            con.setDoOutput(true);
            con.connect();
            String addCookie = con.getHeaderField("Set-Cookie");
            System.out.println(con.getHeaderFields().toString());
            if (addCookie!=null) {
                cookieManager.getInstance().setCookie(url, addCookie);
            }
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

java cookies android urlconnection

20
推荐指数
1
解决办法
3万
查看次数

结帐另一个分支

我跑:

 git checkout mygithub/master
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,运行'git status'显示"当前不在任何分支上".运行:

 git checkout master
Run Code Online (Sandbox Code Playgroud)

然后git status,说我现在在分公司主人.现在我想切换到另一个分支.跑步git checkout anotherbranch工作,但git status说我仍然在分支'主'.我究竟做错了什么?

git branch git-checkout

20
推荐指数
2
解决办法
7万
查看次数

Android JavascriptInterface安全性?

从文档:http: //developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface%28java.lang.Object,%20java.lang.String%29

"使用addJavascriptInterface()允许JavaScript控制你的应用程序.这可能是一个非常有用的功能或危险的安全问题.当WebView中的HTML不可靠时(例如,部分或全部HTML由某人或某个人提供) ),然后攻击者可以注入执行你的代码的HTML,也可能是攻击者选择的任何代码. 不要使用addJavascriptInterface(),除非这个WebView中的所有HTML都是由你编写的. 绑定的Java对象在另一个中运行线程,而不是在它构造的线程中.

假设我有一个只显示自定义对话框的界面,或者开始下载到SD卡.这对任何网址使用都不安全吗?攻击页面如何使用该界面运行攻击者选择的任何代码?

更新: 根据文档:

此方法可用于允许JavaScript控制主机应用程序.这是一个强大的功能,但也会为针对API级JELLY_BEAN或更低级别的应用程序带来安全风险,因为JavaScript可以使用反射来访问注入对象的公共字段.在包含不受信任内容的WebView中使用此方法可能允许攻击者以非预期的方式操作主机应用程序,并使用主机应用程序的权限执行Java代码.在可能包含不受信任内容的WebView中使用此方法时要格外小心.

有没有一个如何发生这种情况的例子?这只是说DOWNLOADINTERFACE.dangerousfunction如果那个类的公共方法可以被调用?

更新:

我根据下面的漏洞利用示例进行了测试,站点可以通过Android 4.4,4.1和3.2中的接口访问系统.

但是,我没有在Android 2.2或2.3上看到这个错误,黑客只会导致强制关闭.除了不使用JSInterface之外,防止此黑客攻击的最佳方法是什么?我可以包含这样的虚假功能,以防止未经授权的功能调用吗?

public Object getClass() {
  //throw error, return self, or something?  
}
Run Code Online (Sandbox Code Playgroud)

或者使用ajax和拦截调用重写所有内容?这会导致更好/更差的表现吗?

更新:

我成功地删除了JS接口,并通过为所有窗口(接口)函数定义window.open(specialurl)命令来替换功能,并覆盖了shouldOverrideUrlLoading中的那些命令.奇怪的是,在某些情况下必须使用window.open(),或者webview中断显示(比如javascript正在停止?),在其他情况下应该使用location.replace或它只显示"interface:// specialdata" "无法找到消息.

(我设置了settings.setJavaScriptCanOpenWindowsAutomatically(true),因此window.open始终从JS开始工作.)

有人知道用这种行为重写应用程序的最佳方法吗?

javascript android interface webview android-webview

18
推荐指数
2
解决办法
8661
查看次数

Webkit浏览器的检查员缺少一些东西

我正在使用像这样的Webkit浏览器检查器.

当我在Ubuntu 12.10中运行它时,我在使用检查器时遇到错误.例如:

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "Go to line" not found.

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "Filter" not found.

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "Search Previous" not found.

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "Search Next" not found.

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "?:" not found.

** Message: console message: file:///usr/share/webkitgtk-1.0/webinspector/UIString.js @42: Localized string "%d of %d" not found.


(geany:2487): Gdk-CRITICAL **: …
Run Code Online (Sandbox Code Playgroud)

gtk ubuntu webkit gtk3

18
推荐指数
1
解决办法
1139
查看次数

只运行一个python程序(如Firefox)?

当我打开Firefox时,然后运行命令:

firefox http://somewebsite
Run Code Online (Sandbox Code Playgroud)

该网址在Firefox的新标签页中打开(同样的事情也发生在Chromium上).有没有办法在Python中复制这种行为?例如,调用:

processStuff.py file/url
Run Code Online (Sandbox Code Playgroud)

然后打电话:

processStuff.py anotherfile
Run Code Online (Sandbox Code Playgroud)

不应该启动两个不同的进程,而是当前正在运行的程序发送一条消息.例如,您可以在一个选项卡式对话框中使用信息而不是10个单个窗口.

为任何能够描述Firefox/Chromium 如何以跨平台方式执行此操作的人添加赏金.

python firefox google-chrome process

14
推荐指数
2
解决办法
957
查看次数

onload之前的Javascript?

在onLoad/onPageShow之前是否有任何事件处理程序?onLoad的问题是如果显示有任何变化,页面将在完全加载之前显示而不会发生变化,然后脚本将运行.确保它尽快运行的最佳方法是什么?

javascript onload

14
推荐指数
1
解决办法
3万
查看次数

我的appcache清单测试有什么问题?

我正在尝试测试Appcache清单:

<?php

// reference: http://diveintohtml5.info/offline.html

header( "Content-Type: text/cache-manifest" );
header( "Cache-Control: max-age=0, private, must-revalidate" );

?>CACHE MANIFEST

# todo

/cachetest/tryme/vid/missouristate
Run Code Online (Sandbox Code Playgroud)

现在,这似乎在网络检查器中有正确的标题,并链接到html文件的顶部:

<!DOCTYPE html>
<html manifest="/cachetest/cache.manifest/index.php" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
Run Code Online (Sandbox Code Playgroud)

然而,没有证据表明这实际上是有效的.如果它工作,它应该不显示任何其他物品,除非它在该文件中的网络设置*,如所描述这里:

最后,我们来看一下网络部分.此缓存清单中的网络部分也只有一行,一行只包含一个字符(*).此字符在网络部分中具有特殊含义.它被称为"在线白名单通配标志."这是一种奇特的说法,即只要你有互联网连接,任何不在appcache中的东西仍然可以从原始网址下载.这对于"开放式"离线Web应用程序非常重要.这意味着,当您在线浏览这个假设的离线维护百科时,您的浏览器将正常获取图像和视频以及其他嵌入资源,即使它们位于不同的域中.(这在大型网站中很常见,即使它们不是离线Web应用程序的一部分.HTML页面是在本地生成和提供的,而图像和视频是从另一个域上的CDN提供的.)没有这个通配符标志,我们的假设当你在线时,离线启用的维基百科会表现得很奇怪 - 具体来说,它不会加载任何外部托管的图像或视频!

这看起来像离线工作的类似网络应用程序,但我不得不怀疑我是否必须在localhost或local-ip上设置https以使浏览器甚至可以识别它.

我记得最近看到有关Appcache现在需要https的内容,因为Serviceworker也需要https.我必须在测试环境中设置这个才能在最新的浏览器中工作吗?我可以更改about:config以在普通的http上使用吗?还是我错过了别的什么?

php https html5 html5-appcache

14
推荐指数
1
解决办法
349
查看次数

为什么浏览器在这里低效地发出2个请求?

我注意到有关ajax和图像加载的奇怪之处.假设你在页面上有一个图像,并且ajax请求相同的图像 - 人们会猜测ajax请求会到达浏览器缓存,或者至少应该只发出一个请求,结果图像会转到页面和想要的脚本阅读/处理图像.

令人惊讶的是,我发现即使javascript等待整个页面加载,图像请求仍然会发出新请求!这是Firefox和Chrome中的已知错误,还是jQuery ajax正在做的坏事?

在这里你可以看到问题,打开Fiddler或Wireshark并在点击"run"之前将其设置为记录:

<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<div id="something" style="background-image:url(http://jsfiddle.net/img/logo-white.png);">Hello</div>
<script>

jQuery(function($) {
    $(window).load(function() {
        $.get('http://jsfiddle.net/img/logo-white.png');
    })
});

</script>
Run Code Online (Sandbox Code Playgroud)

请注意,在Firefox中,它会发出两个请求,这两个请求都会产生200-OK,并将整个图像发送回浏览器两次.在Chromium中,它至少在第二次请求时正确获取304,而不是两次下载整个内容.

奇怪的是,IE11下载整个图像两次,而IE9似乎积极地缓存它并下载一次.

理想情况下,我希望ajax根本不会发出第二个请求,因为它正在请求完全相同的URL.有没有理由在这种情况下css和ajax通常有不同的缓存,就好像浏览器使用不同的缓存存储来进行css vs ajax请求?

javascript ajax jquery http network-protocols

13
推荐指数
3
解决办法
7633
查看次数