我找不到有关如何使用Android Studio/Gradle设置powermock的任何信息.我尝试过的所有内容都会导致构建异常.
任何人都可以展示出正确的方法吗?
谢谢.
我正在Android Studio 0.5.0用Gradle 1.11.我正在尝试从com.jakewharton.espresso安装Espresso库 :espresso:1.1-r2.由于某些原因,AS在项目同步后无法识别Espresso类.所以每次我尝试导入的时间import static com.google.android.apps.common.testing.ui.espresso.Espresso.onView;内androidTest文件的文件夹它标记为无效.
这是我的build.gradle:
apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion '19.0.2'
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
versionCode 1
versionName "1.0"
testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.squareup.dagger:dagger-compiler:1.2.1'
compile 'com.squareup.dagger:dagger:1.2.1'
androidTestCompile ('com.jakewharton.espresso:espresso:1.1-r2') {
exclude group: 'com.squareup.dagger'
}
}
Run Code Online (Sandbox Code Playgroud)
外部图书馆:

我使用Gradle创建了一个Android项目.我添加了一个匕首库
dependencies {
compile 'com.squareup.dagger:dagger-compiler:1.2.1'
compile 'com.squareup.dagger:dagger:1.2.1'
}
Run Code Online (Sandbox Code Playgroud)
在尝试编译项目后,由于lint异常导致构建失败:
InvalidPackage:Android中未包含的包
../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup.dagger/dagger-compiler/1.2.1/c8bf6c2fda9b27f4d44a2aa4280df525a1408771/dagger-compiler -1.2.1.jar:库中的包引用无效; 不包含在Android中:javax.annotation.processing.引用自dagger.internal.codegen.GraphAnalysisErrorHandler.../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup.dagger/dagger-compiler/1.2.1/c8bf6c2fda9b27f4d44a2aa4280df525a1408771/dagger-compiler -1.2.1.jar:库中的包引用无效; 不包含在Android中:javax.lang.model.type.引用自dagger.internal.codegen.GeneratorKeys.../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup.dagger/dagger-compiler/1.2.1/c8bf6c2fda9b27f4d44a2aa4280df525a1408771/dagger-compiler -1.2.1.jar:库中的包引用无效; 不包含在Android中:javax.lang.model.util.引用自dagger.internal.codegen.GraphAnalysisErrorHandler.../../../../../../.gradle/caches/modules-2/files-2.1/com.squareup/javawriter/2.3.0/4b290e394ea3109be5c0b7f08ff75de089125122/javawriter-2.3.0.jar :库中的包引用无效; 不包含在Android中:javax.lang.model.element.引自com.squareup.javawriter.JavaWriter.
所以,我必须修复或使lint忽略匕首包.我已经设置了lint.xml,但我无法想出一种忽略的方法:
InvalidPackage: Package not included in Android
Run Code Online (Sandbox Code Playgroud)
谢谢.
我有5个Observable被链接的s flatMap.如果前四个Observables产生一个Exception我想传播不同类型Exception的第五个.
它是如何实现的?
谢谢.
PS我已经提出了这个尚未经过测试的解决方案:
flatMap(
// onNext
new Func1<BoolResponse, Observable<?>>() {
@Override
public Observable<?> call(BoolResponse boolResponse) {
return request;
}
},
// onError
new Func1<Throwable, Observable<?>>() {
@Override
public Observable<?> call(Throwable throwable) {
return Observable.error(new SomethingWentWrong());
}
},
// onCompleted
new Func0<Observable<?>>() {
@Override
public Observable<?> call() {
return request;
}
});
Run Code Online (Sandbox Code Playgroud)
你认为没关系吗?
我选择了greenDAO,因为它的网站声称它是Android上最快的ORM系统之一.对于我的失望,它需要40秒才能在三星i9001上插入600条记录.我不确定我做错了什么.
你能建议什么来减少执行这些操作所需的时间吗?
发生器代码:
private static void addNewsArticle(Schema schema) {
Entity article = schema.addEntity("NewsArticle");
article.addIdProperty().autoincrement();
article.addStringProperty("title").notNull();
article.addStringProperty("body").notNull();
article.addStringProperty("shortDescription").notNull();
article.addStringProperty("thumb");
article.addDateProperty("date").notNull();
}
Run Code Online (Sandbox Code Playgroud)
插入
Date now = Calendar.getInstance().getTime();
for (int i = 0; i < 600; i++) {
NewsArticle testArticle = new NewsArticle();
testArticle.setTitle("title-text" + i);
testArticle.setBody("body-text" + i);
testArticle.setShortDescription("short-text" + i);
testArticle.setDate(now);
newsArticleDao.insert(testArticle);
}
Run Code Online (Sandbox Code Playgroud) 有没有办法让greendao吐出查询进入Logcat?我只想安慰一切正常工作,这对于熟悉系统来说是一个很好的功能.
我正在实现基于会话的服务.所有请求都必须使用cookie会话参数进行订阅,然后使用单独的rest api检索该参数.因此,基本的工作流程是获取会话cookie并继续查询服务.有时cookie会过期,这会导致另一个会话cookie请求.
我正在尝试使客户端代码与会话无关,因此它不必担心维护会话,而是希望它隐藏在服务层内.
你能提出实施它的想法Retrofit/RxJava吗?我认为SessionService必须由所有其他服务封装,以便他们可以在需要时查询它,但我不知道如何使用RetrofitRestAdapter.create
是否有包含片段设置布局的可见度之间的任何主要区别GONE和fragmentTransaction.hide(fragment)除了addToBackStack?
我正在开发的项目需要scribe-java和crashlytics库.这两个库都可以从自定义存储库中获得.
build.gradle 好像:
buildscript {
repositories {
maven { url 'http://download.crashlytics.com/maven' }
}
dependencies {
classpath 'com.crashlytics.tools.gradle:crashlytics-gradle:1.+'
}
}
apply plugin: 'android'
apply plugin: 'crashlytics'
repositories {
// is required by Crashlytics library
maven { url 'http://download.crashlytics.com/maven' }
// is required by Scribe library
maven { url 'https://raw.github.com/fernandezpablo85/scribe-java/mvn-repo/' }
}
....
dependencies {
compile 'com.android.support:support-v4:+'
compile 'com.crashlytics.android:crashlytics:1.+'
...
// OAuth/OAuth2
compile 'org.scribe:scribe:1.3.6'
...
}
Run Code Online (Sandbox Code Playgroud)
使用这样的设置存储库解决方案在构建过程中变得混乱,以至于gradle尝试从不适当的存储库中解析工件:
Resource missing. [HTTP GET: https://raw.github.com/fernandezpablo85/scribe-java/mvn-repo/com/crashlytics/android/crashlytics/maven-metadata.xml]
Failed to get resource: GET. [HTTP …Run Code Online (Sandbox Code Playgroud) 我需要在具有2.x及更高版本的设备上播放实时流.这表明在Android 2.x的设备上播放实时流是不可能的.
我有什么选择?特别是我对流式音频感兴趣 - 我应该选择哪种格式以及哪种协议?
PS我试过Vitamio - 不想让客户下载第三方库.
UPD