小编Jul*_*rty的帖子

当所有测试都是最新版本时,如何运行Gradle测试?

我已经设置了成绩脚本.当我执行Gradle构建时,一切正常,它运行jUnit测试.

之后,当我运行Gradle测试时,我得到以下内容:

C:\Users\..\..\Project>gradle test
:compileJava UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
Run Code Online (Sandbox Code Playgroud)

当我执行时gradle clean,然后Gradle构建工作,当然......我希望能够只重置测试,而不是构建整个项目:我该怎么做?

java gradle build.gradle

109
推荐指数
7
解决办法
5万
查看次数

Android 7 Native Crash:libc.so tgkill

我看到这个本机崩溃与以下堆栈跟踪.

这仅在Android 7.0和7.1中发生.该应用程序没有添加任何新内容,该应用程序已投入生产几年,但随着更多设备更新到Nougat,此崩溃现在经常发生并且正在变得令人讨厌.

任何意见,将不胜感激.

native: pc 000000000007a6c4  /system/lib64/libc.so (tgkill+8)
  native: pc 0000000000077920  /system/lib64/libc.so (pthread_kill+64)
  native: pc 000000000002538c  /system/lib64/libc.so (raise+24)
  native: pc 000000000001d24c  /system/lib64/libc.so (abort+52)
  native: pc 000000000001225c  /system/lib64/libcutils.so (__android_log_assert+224)
  native: pc 00000000000610e0  /system/lib64/libhwui.so
  native: pc 000000000003908c  /system/lib64/libhwui.so
  native: pc 000000000003609c  /system/lib64/libhwui.so
  native: pc 000000000003b4fc  /system/lib64/libhwui.so
  native: pc 000000000003c520  /system/lib64/libhwui.so
  native: pc 000000000003e694  /system/lib64/libhwui.so (_ZN7android10uirenderer12renderthread12RenderThread10threadLoopEv+152)
  native: pc 00000000000127f0  /system/lib64/libutils.so (_ZN7android6Thread11_threadLoopEPv+336)
  native: pc 00000000000a50b0  /system/lib64/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+116)
  native: pc 00000000000770f4  /system/lib64/libc.so (_ZL15__pthread_startPv+204)
  native: pc 000000000001e7d0  /system/lib64/libc.so (__start_thread+16)
Run Code Online (Sandbox Code Playgroud)

以下是受影响的设备列表: 在此输入图像描述

更新7月18日:

仍然无法找到这个的根,所以我决定购买一个出现次数最多且价格合理的设备,结果是三星Galaxy J3 2017版本与Android 7.0.但不幸的是仍然无法重现崩溃. …

crash android native android-7.0-nougat android-7.1-nougat

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

单元测试加载本机库的Java类

我在Android Studio中运行单元测试.我有一个Java类,使用以下代码加载本机库

 static
    {
       System.loadLibrary("mylibrary");
    }
Run Code Online (Sandbox Code Playgroud)

但是当我在我的src/test目录中测试这个类时,我得到了

java.lang.UnsatisfiedLinkError: no mylibrary in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
    at java.lang.Runtime.loadLibrary0(Runtime.java:870)
    at java.lang.System.loadLibrary(System.java:1122)
Run Code Online (Sandbox Code Playgroud)

如何才能找到原生.so库的路径,src/main/libs以便进行单元测试而不出错?

注:里面src/main/libs的目录我有3个子目录:armeabi,mipsx86.其中每一个都包含正确的.so文件.我正在使用非实验版本来构建NDK库.

我不想使用其他第三方测试库,因为我所有其他"纯"java类都可以进行单元测试.但如果那是不可能的,那么我愿意接受替代方案.

这是我的测试代码,它会抛出错误

   @Test
    public void testNativeClass() throws Exception
    {
        MyNativeJavaClass test = new MyNativeJavaClass("lalalal")
        List<String> results = test.getResultsFromNativeMethodAndPutThemInArrayList();
        assertEquals("There should be only three result", 3, results.size());
    }
Run Code Online (Sandbox Code Playgroud)

java android unit-testing junit4

53
推荐指数
2
解决办法
1万
查看次数

Brew清理错误:权限被拒绝@ unlink_internal

我在进行“酿造清理”时遇到错误:

$ brew cleanup
Warning: Skipping opam: most recent version 2.0.3 not installed
Warning: Skipping python: most recent version 3.7.2_2 not installed
Warning: Skipping sqlite: most recent version 3.27.1 not installed
Error: Permission denied @ unlink_internal - /usr/local/lib/node_modules/@angular/cli/node_modules/.bin/in-install
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这一问题?

PS:brew link node返回错误,尽管我不知道是否相关。

$ brew install node
Warning: node 11.9.0 is already installed, it's just not linked
You can use `brew link node` to link this version.
$ brew link node
Linking /usr/local/Cellar/node/11.9.0... 
Error: Could not symlink include/node/common.gypi
Target …
Run Code Online (Sandbox Code Playgroud)

macos homebrew node.js

26
推荐指数
2
解决办法
1万
查看次数

Android JUnit4测试 - 从哪里获取上下文?

我必须构建一个使用sqlite的应用程序.现在我想写单元测试.这些单元测试应该测试我的课程SQLiteBridge.SQLiteBridge为每个子类Model提供DAO.

现在我遇到了一个问题,我需要一个上下文来创建我的SQLiteBridge.SQLiteBridge在系统上创建和处理SQLite数据库..

从哪里获取Context-Object?

我的设置就像在这里(所以我使用的是Junit4 [感谢上帝]):http: //tools.android.com/tech-docs/unit-testing-support

编辑:我希望有一种方式像旧AndroidTestCase的扩展而不会失去Junit4.:)

sqlite android unit-testing android-context

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

将图像和文本组合成可绘制的

我想创建一个drawable,它由一个map pin(bubble)和一些文本组成.气泡应该在背景中,文本在前景中.

这个drawable应该传递super(drawable)BalloonItemizedOverlay扩展的类ItemizedOverlay<Item>.

换句话说,我想在地图中显示的气泡中显示文字.

我正在使用Hello Mapview 教程

android drawable android-mapview

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

想要在build.gradle中指定jar名称和版本

我想在build.gradle中指定jar名称和版本,所以我的build.gradle如下所示.

apply plugin: 'java'

version = "1.00.00"

 dependencies { 
     compile files('../../lib/abc.jar') 
} 

jar{
    manifest{
        attributes ("Fw-Version" : "2.50.00", "${parent.manifestSectionName}")

    }
    archiveName 'abc.jar'
}
Run Code Online (Sandbox Code Playgroud)

所以,当我这样做

gradle clean build,我所期待的是生成的jar名称是abc-1.00.00.jar

但它没有发生,输出jar名称仅作为abc.jar,它只是忽略了版本.我想指定jar名称和版本,那么我该如何实现呢?

java gradle

21
推荐指数
3
解决办法
4万
查看次数

浓咖啡.执行'加载适配器数据'时出错

我有一个ListView,它显示数据库中的数据.

    db = new DB(this);
    db.open();


    String[] from = new String[]{DB.COLUMN_FIRSTNAME, DB.COLUMN_LASTNAME};
    int[] to = new int[]{android.R.id.text1, android.R.id.text2};        

    scAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_activated_2, null, from, to, 0);
    lvData = (ListView) findViewById(R.id.lvData);
    lvData.setAdapter(scAdapter);

    lvData.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
    lvData.setMultiChoiceModeListener(new AbsListView.MultiChoiceModeListener() {
Run Code Online (Sandbox Code Playgroud)

它将数据库中的名字和姓氏显示为项目列表: 单击以显示UI

所以,今天我尝试使用Espresso与这个应用程序,我找不到点击包含文本的项目的方法.

我用的时候:

onData(anything())
    .inAdapterView(withId(R.id.lvData))
    .atPosition(3)
    .perform(click());
Run Code Online (Sandbox Code Playgroud)

它完美地运作.但我想点击包含相应项目文本的项目.

到目前为止我尝试了什么(我在stackoverflow,google,github等发现的所有内容):

onView(allOf(withText("Ivan Ivanov"))).perform(click())

onData(allOf(is(instanceOf(MainActivity.class)),is("Ivan Ivanov")))
            .inAdapterView(withId(R.id.lvData))
            .perform(click());

onData(hasToString(startsWith("v")))
            .inAdapterView(withId(R.id.lvData))
            .atPosition(0).perform(click());

onData(instanceOf(MainActivity.class))
            .inAdapterView(withId(R.id.lvData))
            .atPosition(0)
            .check(matches(hasDescendant(withText("Ivan Ivanov"))));

onData(anything()).inAdapterView(withContentDescription("Ivan Ivanov"))
            .atPosition(0).perform(click());
Run Code Online (Sandbox Code Playgroud)

因此,字符串"Ivan Ivanov"和项目之间可能存在差异,该项目包含来自数据库的数据:firstName+ lastName

android android-espresso

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

寻求一种方法来克隆github项目的问题

我希望能够使用 git 来克隆 github 上各种项目的问题。我知道我可以克隆代码和维基(如果存在)。我找不到克隆问题的方法。

作为一个工作示例,以下是我将如何克隆包含项目源代码的主存储库: git clone https://github.com/kiwix/kiwix-android.git

这适用于该项目的 wiki 页面: git clone https://github.com/kiwix/kiwix-android.wiki.git

我已经尝试了以下操作,看看它是否可以解决这些问题,但它没有

git clone https://github.com/kiwix/kiwix-android.issues.git
Cloning into 'kiwix-android.issues'...
remote: Repository not found.
fatal: repository 'https://github.com/kiwix/kiwix-android.issues.git/' not found
Run Code Online (Sandbox Code Playgroud)

能够克隆问题将是一个很大的帮助,特别是运行脚本来分析各种问题的问题集等。

git github

9
推荐指数
2
解决办法
3928
查看次数

它不适用于gradle从命令行执行特定测试

对于gradle,从命令行执行特定测试应该从版本1.0(或1.1)开始工作,但它不适用于版本2.7.

我试过下面的命令:

gradle test --tests com.mk.myfirstapp.MyUT
Run Code Online (Sandbox Code Playgroud)

gradle输出'未知的cmdline optiions':

FAILURE: Build failed with an exception.

* What went wrong:
Problem configuring task :app:test from command line.
> Unknown command-line option '--tests'.

* Try:
Run gradle help --task :app:test to get task usage details. Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 3.505 secs
Run Code Online (Sandbox Code Playgroud)

对于另一个命令也一样

gradle -Dtest.single=abc test
Run Code Online (Sandbox Code Playgroud)

有谁知道这是一个错误或我的滥用?谢谢.

更多细节

我和欧宝(下图)做了同样的事,但我有不同的结果.我的朋友有什么问题: - ?


mk@mk-desktop:~/StudioProjects/MyFirstApp$ gradle -v …

command-line filter gradle

8
推荐指数
2
解决办法
2877
查看次数