我在使用SimpleXML尝试使用Gradle 0.5.+和Android Studio编译Android应用程序时遇到了麻烦.
这是错误:
Gradle: Execution failed for task ':MyApplication:dexDebug'.
> Failed to run command:
/Applications/Android Studio.app/sdk/build-tools/android-4.2.2/dx --dex --output <REALLY_LONG_STRING.....>
Error Code:
1
Output:
trouble processing "javax/xml/stream/events/StartElement.class":
Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.
This is often due to inadvertently including a core library file
in your application's project, when using an IDE (such as
Eclipse). If you are sure you're not intentionally defining a
core class, then this is …Run Code Online (Sandbox Code Playgroud) 我在使用Gradle和Android Studio时遇到了很多问题.
在项目中的任何资源中进行更改都可以在编译期间随机提供异常,这是我在Android Studio中看到的:
Gradle: Error while executing aapt command
Gradle: Execution failed for task ':App Code:processReleaseResources'.
Run Code Online (Sandbox Code Playgroud)
这就是我看到手动执行Gradle的原因:
"/Applications/Android Studio.app/sdk/tools/templates/gradle/wrapper/gradlew" asD
Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed in Gradle 2.0
:App Code:preBuild UP-TO-DATE
:App Code:preDebugBuild UP-TO-DATE
:App Code:preReleaseBuild UP-TO-DATE
:libraries:facebook:compileLint
:libraries:facebook:copyReleaseLint UP-TO-DATE
:libraries:facebook:mergeReleaseProguardFiles UP-TO-DATE
:libraries:facebook:packageReleaseAidl UP-TO-DATE
:libraries:facebook:preBuild UP-TO-DATE
:libraries:facebook:preReleaseBuild UP-TO-DATE
:libraries:facebook:prepareReleaseDependencies
:libraries:facebook:compileReleaseAidl UP-TO-DATE
:libraries:facebook:compileReleaseRenderscript UP-TO-DATE
:libraries:facebook:generateReleaseBuildConfig UP-TO-DATE
:libraries:facebook:mergeReleaseAssets UP-TO-DATE
:libraries:facebook:mergeReleaseResources UP-TO-DATE
:libraries:facebook:processReleaseManifest UP-TO-DATE
:libraries:facebook:processReleaseResources UP-TO-DATE
:libraries:facebook:generateReleaseSources …Run Code Online (Sandbox Code Playgroud) 我正在研究promises模式并使用kriskowal的q作为node.js,
有这个片段:
var deferred = Q.defer();
try {
messageData = JSON.parse(message);
} catch (e) {
global.logger.warn('Error parsing JSON message.');
deferred.reject(e);
}
...
if (some_reason)
deferred.resolve(something);
...
return deferred.promise;
Run Code Online (Sandbox Code Playgroud)
如果解析器失败并且some_reason为真,该怎么办?
执行是否会从拒绝通过解析进行,并且会在不同的时间调用promise的方法,从而产生错误?
我应该避免多次呼叫拒绝/解决?
我在扩展的asynctask中得到了这个错误,但我确定Object []是一个Void [].
这是我的自定义AsyncTask:
public abstract class RepeatableAsyncTask<A, B, C> extends AsyncTask<A, B, C> {
private static final String TAG = "RepeatableAsyncTask";
public static final int DEFAULT_MAX_RETRY = 5;
private int mMaxRetries = DEFAULT_MAX_RETRY;
private Exception mException = null;
/**
* Default constructor
*/
public RepeatableAsyncTask() {
super();
}
/**
* Constructs an AsyncTask that will repeate itself for max Retries
* @param retries Max Retries.
*/
public RepeatableAsyncTask(int retries) {
super();
mMaxRetries = retries;
}
/**
* Will be …Run Code Online (Sandbox Code Playgroud) 目前,如何在Android Studio中切换Android SDK源文件并不是非常直观,例如,调试或仅检查源.
我感觉Android Studio与IntelliJ不同,它是从Gradle配置的已编译SDK版本部分获取源代码的版本.但是,这迫使我在调试时使用相同Android版本的设备上进行调试.如果我不这样做,那么源将不会与调试器同步.
我的问题:是否有一种简单的方法可以在Android Studio中切换Android源,而无需更改配置build.gradle?
什么可能导致pushViewController非常慢?(新视图显示需要30 +秒)
基本上,我正在做这样的事情:
SecondViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"correctID"];
vc.something = something;
[self.navigationController pushViewController:vc animated:YES];
CLS_LOG(@"Pushed Controller...");
Run Code Online (Sandbox Code Playgroud)
我正在第二个视图控制器内的viewdidload的开头记录.我不是其他方法的子类.
在推送控制器...和viewdidload的下一个日志之间有一个巨大的延迟.
你会如何调试这个?
我已经尝试过使用TimeProfiler,但显然它没有显示任何内容.
目前我们可以看到两个主要的云测试服务:
不支持espresso开发人员建议的禁用设备动画:https: //google.github.io/android-testing-support-library/docs/espresso/setup/index.html#setup-your-test-environment
亚马逊实际上禁用了窗口动画,但这还不够,因为动画片的最大来源是动画.
谷歌承认了这个问题,但修复它需要一些时间.
与此同时,如何在不访问设备的情况下禁用Animator动画?
我有一个ListView填充自定义XML ListItems,这是XML:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip">
...
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
listView在屏幕上正确显示,如果我单击或按住某个项目,它将变为蓝色(我正在使用Holo Light主题)
当我尝试将OnClickListener分配给视图时,问题就来了,我的Activity中的getView内部扩展了BaseAdapter:
@Override
public View getView(int position, @Nullable View convertView, ViewGroup parent) {
...
convertView = InflateUtils.inflate(mContext, R.layout.list_item);
...
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(mContext, "Test", 2000).show();
}
});
...
}
Run Code Online (Sandbox Code Playgroud)
执行此操作后,列表项高亮颜色不再显示,当我单击或按住列表项时,它的背景保持白色,无论如何onClickListener完全正常工作.
您是否有任何建议在保持HoloLight的默认样式的同时获得高光颜色?
我在ListView中使用OnItemClickListener和OnItemLongClickListener,现在我正在寻找一种方法来检测OnItemLongClick之后的释放动作,实现这一目标的最佳方法是什么?
我正在尝试设置一个类似于Android 测试蓝图中描述的测试项目,但我收到以下 NoClassDefFoundError:
java.lang.NoClassDefFoundError: android.test.mock.MockContentResolver
Run Code Online (Sandbox Code Playgroud)
Android Studio 正确解决了这个问题,但是在运行时我收到了这个错误。
值得注意的是,我在应用程序项目上没有 androidTest 配置,相反我只有一个单独的tests模块:
apply plugin: 'com.android.test'
Run Code Online (Sandbox Code Playgroud)
我正在运行这样的测试:
./gradlew :tests:connectedAndroidTest
Run Code Online (Sandbox Code Playgroud)
可以在此处找到重现此问题的测试项目:https : //github.com/vexdev/android-testing-templates/tree/master/AndroidTestingBlueprint
编辑:也在Android 开发社区上询问
编辑:还创建了以下 android 问题:https : //code.google.com/p/android/issues/detail?id=200182&thanks=200182&ts=1454489567