小编Siu*_*ji-的帖子

无法使用Java 9运行sdkmanager --list(Android SDK)

我下载并安装了:

  • JDK(jdk-9.0.1_osx-x64_bin.dmg从Oracle)在这里
  • Android的SDK( sdk-tools-darwin-3859397.zip)从谷歌在这里.

配置PATH变量后,我尝试运行sdkmanager,它取代了android管理SDK组件的命令.但是,它失败了,如下所示:

$ sdkmanager --list
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)
    at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    ... 5 more
Run Code Online (Sandbox Code Playgroud)

这是Java版本:

$ java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何修复它而不回到Java 8?

相关问题

  • 无法安装android-sdk
    • 这篇文章提出了类似的问题.但是,帖子已经关闭,唯一的答案就是回到Java 8.

java android android-sdk-tools android-sdk-manager java-9

79
推荐指数
12
解决办法
6万
查看次数

最好的跨平台(便携式)任意精度数学库

我在C或C++中寻找一个好的任意精度数学库.你能给我一些意见/建议吗?

主要要求:

  1. 必须处理任意大整数(我的主要兴趣是整数).如果你不知道这个词是什么意思大,意味着像100000这样的东西!(阶乘为100000).
  2. 在库初始化/对象创建期间,不必指定精度.精度应该受系统可用资源的限制.
  3. 应该利用平台的全部功能,并且应该本地处理"小"数字.这意味着在64位平台上,计算2 ^ 33 + 2 ^ 32应该使用可用的64位CPU指令.库不应该像在同一平台上使用2 ^ 66 + 2 ^ 65那样计算它.
  4. 必须处理加法(+),减法( - ),乘法(*),整数除法(/),余数(%),幂(**),增量(++),减量( - ),gcd() ,factorial()和其他常见的整数算术计算有效.能够处理不产生整数结果的sqrt()(平方根),log()(对数)等函数是一个优点.处理符号计算的能力甚至更好.

这是我到目前为止发现的:

  1. JavaBigIntegerBigDecimal类:到目前为止我一直在使用它们.我已经阅读了源代码,但我不了解下面的数学.它可能基于我从未学过的理论/算法.
  2. 内置的整数类型或bc/Python/Ruby/Haskell/Lisp/Erlang/OCaml/PHP /其他一些语言的核心库:我曾经使用过其中的一些,但我不知道他们使用的是哪个库,或者他们正在使用哪种实现方式.

我所知道的:

  1. 使用char作为十进制数字,使用char*作为十进制字符串,并使用for循环对数字进行计算.
  2. 使用int(或long intlong long)作为基本"单元"并将其数组作为任意长整数,并使用for循环对元素进行计算.
  3. 使用整数类型将十进制数字(或几位数)存储为BCD(二进制编码的十进制).
  4. Booth的乘法算法 …

c c++ biginteger gmp bigdecimal

77
推荐指数
5
解决办法
2万
查看次数

使用反射获取struct字段的名称

在这里打印"Foo"的方式是什么?在这个例子中,打印的是"字符串".

http://play.golang.org/p/ZnK6PRwEPp

type A struct {
    Foo string
}

func (a *A) PrintFoo() {
    fmt.Println("Foo value is " + a.Foo)
}

func main() {
    a := &A{Foo: "afoo"}
    val := reflect.Indirect(reflect.ValueOf(a))
    fmt.Println(val.Field(0).Type().Name())
}
Run Code Online (Sandbox Code Playgroud)

go

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

游览练习:等效二叉树

我正试图在旅行中解决等效的二叉树运动.这就是我所做的;

package main

import "tour/tree"
import "fmt"

// Walk walks the tree t sending all values
// from the tree to the channel ch.
func Walk(t *tree.Tree, ch chan int) {
    if t.Left != nil {
        Walk(t.Left, ch)
    }
    ch <- t.Value
    if t.Right != nil {
        Walk(t.Right, ch)
    }

}

// Same determines whether the trees
// t1 and t2 contain the same values.
func Same(t1, t2 *tree.Tree) bool {
    ch1 := make(chan int)
    ch2 := make(chan …
Run Code Online (Sandbox Code Playgroud)

go

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

如何在反引号字符串中放置反引号?

是否可以使用后引号在Go中打印引号:如下所示:

package main

import "fmt"

func main() {
    fmt.Println(```) // for example I can do it with double quotes "\""
}
Run Code Online (Sandbox Code Playgroud)

go

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

用于智能指针的抽象基类(intrusive_ptr) - 处理继承,多态,可克隆性和从工厂方法返回

要求

  1. 我正在写一个名为RCObject"引用计数对象"的类;
  2. 该类RCObject应该是抽象的,作为框架的基类(EC++ 3 Item 7);
  3. RCObject应禁止在堆栈上创建子类的实例(MEC++ 1 Item 27);

    [ 增加: ]

    [假设BearRCObject] 的具体子类

    [ C.E.这里表示编译错误]

    Bear b1;                        // Triggers C.E. (by using MEC++1 Item 27)
    Bear* b2;                       // Not allowed but no way to trigger C.E.
    intrusive_ptr<Bear> b3;         // Recommended
    
    Bear* bs1 = new Bear[8];                   // Triggers C.E.
    container< intrusive_ptr<RCObject> > bs2;  // Recommended
    intrusive_ptr_container<RCObject> bs3;     // Recommended
    
    class SomeClass {
    private:
        Bear m_b1;                 // Triggers …
    Run Code Online (Sandbox Code Playgroud)

c++ polymorphism inheritance boost reference-counting

19
推荐指数
1
解决办法
3038
查看次数

在Golang中为递归函数实现生成器(yield)的惯用方法

[注意:我在Go中阅读了Python风格的生成器,这不是它的重复.]

在Python/Ruby/JavaScript/ECMAScript 6中,可以使用yield语言提供的关键字编写生成器函数.在Go中,可以使用goroutine和channel模拟它.

代码

以下代码显示了如何实现置换函数(abcd,abdc,acbd,acdb,...,dcba):

// $src/lib/lib.go

package lib

// private, starts with lowercase "p"
func permutateWithChannel(channel chan<- []string, strings, prefix []string) {
    length := len(strings)
    if length == 0 {
        // Base case
        channel <- prefix
        return
    }
    // Recursive case
    newStrings := make([]string, 0, length-1)
    for i, s := range strings {
        // Remove strings[i] and assign the result to newStringI
        // Append strings[i] to newPrefixI
        // Call the recursive case
        newStringsI …
Run Code Online (Sandbox Code Playgroud)

recursion yield generator go

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

以编程方式连接和断开Android设备

我需要找到一种方法(使用Android应用程序)以编程方式连接和断开Android设备与主机的连接.

我正在使用Galaxy Nexus.我的目标是尽可能保持一切尽可能接近库存,尽管我已经在内核中启用了详细的调试消息,并且为了查看它们已经启用了手机上的root访问权限/proc/kmsg(以及shell命令dmesg).

我确信有一种方法可以利用root访问来完成我需要做的事情,但是我所有的尝试都导致了nix.

  • 混乱 /proc/bus/usb
  • 混乱 /dev/bus/usb
  • 在MTP/PTP之间切换(无法以编程方式进行)
  • 将Android USB小工具驱动程序转换为模块< - ???

我将尝试弄清楚如何在列表中执行最后一个对象,因为我将能够rmmod和我的应用程序中insmod的结果*.ko,并将连接和断开手机.我不确定这个选项的可行性.

usb android disconnect

17
推荐指数
1
解决办法
5133
查看次数

人人,微博和百度喜欢只使用HTML的按钮(没有Javascript)

我正在一个将在中国销售的网站上工作,我想知道是否有一种方法可以为人人网(类似于Facebook),微博(类似于Twitter)和百度喜欢(类似于谷歌)创建"共享"按钮+1)仅使用HTML.

例如,对于Facebook,Twitter和Google的+1,您将使用以下内容:

我知道人人使用以下内容:

但是,我很想知道微博和百度的HTML唯一网址是什么.

以下是共享按钮的Javascript版本的文档,如果有帮助:

html url social-networking weibo sinaweibo

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

使用匿名结构作为参数导出函数[不能使用值(类型struct {...})作为package.Func]的参数中的类型struct {...}

这是一段play.google.org没有任何问题的代码:

package main

import (
    "fmt"
)

func PrintAnonymous(v struct {
    i int
    s string
}) {
    fmt.Printf("%d: %s\n", v.i, v.s)
}

func PrintAnonymous2(v struct{}) {
    fmt.Println("Whatever")
}

func main() {
    value := struct {
        i int
        s string
    }{
        0, "Hello, world!",
    }
    PrintAnonymous(value)
    PrintAnonymous2(struct{}{})
}
Run Code Online (Sandbox Code Playgroud)

但是,如果该PrintAnonymous()函数存在于另一个包中(比方说temp),代码将不起作用:

cannot use value (type struct { i int; s string })
as type struct { i int; s string } in argument to temp.PrintAnonymous
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • 有没有办法用匿名结构作为参数调用(公共)函数(又名 …

struct anonymous-types go

16
推荐指数
2
解决办法
3783
查看次数