小编Kon*_*zik的帖子

48
推荐指数
1
解决办法
6314
查看次数

在"adb reverse"上两次"错误:关闭"

我试图通过ADB反向转发端口,但它只是返回神秘的错误error: closed.正常转发工作.会话片段:

$ adb forward tcp:59778 tcp:59778
$ adb forward --list
015d2109ce0c1a0f tcp:59778 tcp:59778
$ adb forward --remove-all
$ adb forward --list
$ adb reverse --list
error: closed
error: closed
$ adb reverse tcp:59778 tcp:59778
error: closed
error: closed
Run Code Online (Sandbox Code Playgroud)

我通过USB连接到Boot-Camp上的Windows 7 Pro x64上的非root用户Nexus 7 2012 Android 4.4.4.

android forwarding adb

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

如何在使用Android Gradle Plugin进行编译时添加java编译器选项?

我有一个build.gradle与文件dependencies { classpath 'com.android.tools.build:gradle:0.13.3'}apply plugin: 'com.android.application'.

当我进行调试构建时,我得到:

gradle clean assembleDebug
:myapp:preBuild
(...)
:myapp:compileDebugJava
Note: C:\path\to\MyClass.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

:myapp:preDexDebug
(...)
:myapp:assembleDebug

BUILD SUCCESSFUL
Run Code Online (Sandbox Code Playgroud)

如何添加-Xlint:unchecked底层任务?关于Java编译选项的Gradle Plugin用户指南是无用的.

java gradle build.gradle android-gradle-plugin

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

系统更新到Nexus 7后,ADB在启动服务时抛出SecurityException:"Caller uid = 2000无权与user = -2通信"

我正在向Nexus 7平板电脑发出以下命令:

adb.exe -s 015d2109567231a0f shell am startservice -n com.packagename/.ExServiceName --ei port 59777
Run Code Online (Sandbox Code Playgroud)

得到:

Starting service: Intent { cmp=com.packagename/.ExServiceName (has extras) }
java.lang.SecurityException: Caller uid=2000 is not privileged to communicate with user=-2
    at android.os.Parcel.readException(Parcel.java:1425)
    at android.os.Parcel.readException(Parcel.java:1379)
    at android.app.ActivityManagerProxy.startService(ActivityManagerNative.java:2648)
    at com.android.commands.am.Am.runStartService(Am.java:415)
    at com.android.commands.am.Am.run(Am.java:111)
    at com.android.commands.am.Am.main(Am.java:82)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:235)
    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

在我将系统更新应用到平板电脑之前,这一切都没有问题!

当前平板电脑信息

Model number: Nexus 7
Android version: 4.2
Kernel version: 3.1.10-g22b4fcd
Run Code Online (Sandbox Code Playgroud)

服务清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.packagename"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" />
    <uses-permission android:name="android.permission.INTERNET"/>

    <application android:label="@string/app_name"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/AppTheme"> …
Run Code Online (Sandbox Code Playgroud)

android adb

12
推荐指数
1
解决办法
6851
查看次数

这个引用在kotlin扩展属性的惰性初始化器中

我正在尝试Kotlin并希望为Activity实现一个延迟扩展属性:

/**
 * Activity module
 */
val Activity.activityModule: ActivityModule by lazy {
    ActivityModule(this)
}
Run Code Online (Sandbox Code Playgroud)

编译器错误:

'this' is not defined in this context
Run Code Online (Sandbox Code Playgroud)

我怎样才能将此作为活动资格?我已经阅读了指南,但无法得到它.this@Activity说这个参考没有得到解决.

kotlin kotlin-extension

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

使用 VS 测试资源管理器时如何通过 xUnit.net 特征属性过滤单元测试?

假设我有带有如下签名的集成测试:

[Fact]
[Trait("Category", "Integration")]
public async Task FooTest()
Run Code Online (Sandbox Code Playgroud)

如果我只想运行单元测试,在 dotnet core 中我可以有选择地运行测试

[Fact]
[Trait("Category", "Integration")]
public async Task FooTest()
Run Code Online (Sandbox Code Playgroud)

如何使用 Visual Studio 测试资源管理器实现相同的目标?

我考虑过使用.runsettings 文件,但它似乎不支持向其传递过滤器参数。

我不想使用播放列表文件,因为我必须手动使其与单元或集成测试的任何更改保持同步。

相关问题使用 VS 2019 预览版时不再能够在测试资源管理器中按特征进行分组

.net unit-testing xunit.net visual-studio test-explorer

7
推荐指数
1
解决办法
1622
查看次数

在Kotlin中,如何委托一个接口并只提供一个无参数的公共构造函数?

问题产生于Kotlin 委托只允许委托构造函数参数,因此似乎迫使您为构造函数提供参数.

以下是我关于这个问题的具体用例的原始问题.


我想做以下事情:

val myTable1: MyTable = MyTable()
Run Code Online (Sandbox Code Playgroud)

哪里

  • MyTable继承自ImmutableTable(src)或至少Table
  • 而且我不必手动将所有Table方法委托给某些基本实现.

我还想避免以下情况:

val myTable2: MyTable = MyTable.build() 
Run Code Online (Sandbox Code Playgroud)

即我不想被迫使用伴侣对象/静态工厂方法.

我试图扩展ImmutableTable,但我得到了This type has a constructor, and thus must be initialized here.

我试图扩展Table接口和委托给它(以避免重新实现方法),但后来我被迫提供一个Table构造函数参数的实例.我不能只是在init {}块中初始化它.

请看我的确切尝试的要点.

使用的Kotlin版本: 1.0.2

guava kotlin

6
推荐指数
1
解决办法
625
查看次数

如何在主要活动启动时获取Android应用程序调用的方法,而无需使用应用程序的源代码?

我需要从其主要活动启动的那一刻起获取Android应用程序调用的跟踪操作系统方法的痕迹.我可以在进程启动后启动探查器,但显然不会跟踪启动时调用的方法.

以下是我在进程启动后获取跟踪的方法:

adb install com.example.app.apk
adb shell rm ./mnt/sdcard/log.trace

adb shell am start com.example.App/com.example.App.MainActivity
adb shell am profile start com.example.App ./mnt/sdcard/log.trace
<do stuff with the app, click on the GUI etc.>
adb shell am profile stop

adb pull ./mnt/sdcard/log.trace
Run Code Online (Sandbox Code Playgroud)

似乎有一个活动管理器选项--start-profiler,但它不起作用.我尝试使用它如下:

adb shell am start com.example.App/com.example.App.MainActivity --start-profiler ./mnt/sdcard/log.trace
Run Code Online (Sandbox Code Playgroud)

但是没有创建跟踪文件,并且应用程序根本没有减速.分析激活后,运行速度会慢得多.

我试用了Android API 17,Intel x86仿真器,Mac Book Pro上的Windows 7 x64(通过Bootcamp).

android profiling

5
推荐指数
1
解决办法
3836
查看次数

有没有在Kotlin中使用Groovy扩展方法的干净方法?

例如,Groovy允许获取由表示的文件的文本,java.nio.file.Path如下所示:

// Groovy code
import java.nio.file.Path
import java.nio.file.Paths

Path p = Paths.get("data.txt")
String text = p.text
Run Code Online (Sandbox Code Playgroud)

我希望能够text在Kotlin中重用Groovy的扩展方法。

请注意:我知道Kotlin对于这种特殊情况有相关的方法。不过,可能仍有Groovy方法对Kotlin用户有用。

groovy extension-methods jvm-languages kotlin

5
推荐指数
1
解决办法
532
查看次数

如何使 .NET 6.0 热重载在最简单的“Hello, World”控制台应用程序上工作?

考虑这个 C# 10 / .NET 6.0 / Visual Studio 2022“Hello, World”控制台应用程序:

// See https://aka.ms/new-console-template for more information

foreach (int _ in Enumerable.Range(0, 100))
{
    Console.WriteLine("Hello, World!");
    Task.Delay(1000).Wait();
}
Run Code Online (Sandbox Code Playgroud)

如果我通过调试或不进行调试来运行此程序,则将 更改WorldEarth然后保存文件并单击“热重载”(应用代码更改)按钮不会执行任何操作。程序继续写入控制台Hello, World!

我可以强制应用程序在不重新启动的情况下更改字符串,而不使用热重载,而是使用“编辑并继续”,即在应用程序处于中断模式时进行更改。

我确实启用了热重载的所有选项:

在此输入图像描述

为什么热重载不起作用?难道我做错了什么?这篇博客文章指出它也应该适用于控制台应用程序。

.net c# hot-reload visual-studio-2022

5
推荐指数
1
解决办法
841
查看次数