uiautomatorviewer,Ubuntu的 - java.lang.NoSuchMethodError:com.ibm.icu.util.ULocale $ Builder.build()LCOM/IBM/ICU/UTIL/ULocale
问题描述:
我对Ubuntu 16.04.3 LTS
安装uiautomatorviewer
通过命令:
sudo apt-get install androidsdk-uiautomatorviewer
然后我输入:
uiautomatorviewer
我看见错误:
Exception in thread "main" java.lang.NoSuchMethodError: com.ibm.icu.util.ULocale$Builder.build()Lcom/ibm/icu/util/ULocale;
at com.ibm.icu.impl.javaspi.ICULocaleServiceProvider.addULocale(ICULocaleServiceProvider.java:206)
at com.ibm.icu.impl.javaspi.ICULocaleServiceProvider.getLocales(ICULocaleServiceProvider.java:140)
at com.ibm.icu.impl.javaspi.ICULocaleServiceProvider.getAvailableLocales(ICULocaleServiceProvider.java:53)
at com.ibm.icu.impl.javaspi.util.CurrencyNameProviderICU.getAvailableLocales(CurrencyNameProviderICU.java:39)
at sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.addImpl(SPILocaleProviderAdapter.java:485)
at sun.util.locale.provider.SPILocaleProviderAdapter$CurrencyNameProviderDelegate.addImpl(SPILocaleProviderAdapter.java:479)
at sun.util.locale.provider.SPILocaleProviderAdapter$1.run(SPILocaleProviderAdapter.java:97)
at sun.util.locale.provider.SPILocaleProviderAdapter$1.run(SPILocaleProviderAdapter.java:74)
at java.security.AccessController.doPrivileged(Native Method)
at sun.util.locale.provider.SPILocaleProviderAdapter.findInstalledProvider(SPILocaleProviderAdapter.java:74)
at sun.util.locale.provider.AuxLocaleProviderAdapter.getLocaleServiceProvider(AuxLocaleProviderAdapter.java:70)
at sun.util.locale.provider.LocaleServiceProviderPool.<init>(LocaleServiceProviderPool.java:133)
at sun.util.locale.provider.LocaleServiceProviderPool.getPool(LocaleServiceProviderPool.java:111)
at java.util.Currency.getSymbol(Currency.java:506)
at java.text.DecimalFormatSymbols.initialize(DecimalFormatSymbols.java:648)
at java.text.DecimalFormatSymbols.<init>(DecimalFormatSymbols.java:113)
at sun.util.locale.provider.DecimalFormatSymbolsProviderImpl.getInstance(DecimalFormatSymbolsProviderImpl.java:85)
at java.text.DecimalFormatSymbols.getInstance(DecimalFormatSymbols.java:180)
at java.util.Formatter.getZero(Formatter.java:2283)
at java.util.Formatter.<init>(Formatter.java:1892)
at java.util.Formatter.<init>(Formatter.java:1914)
at java.lang.String.format(String.java:2940)
at com.android.ddmlib.AndroidDebugBridge.checkAdbVersion(AndroidDebugBridge.java:583)
at com.android.ddmlib.AndroidDebugBridge.<init>(AndroidDebugBridge.java:559)
at com.android.ddmlib.AndroidDebugBridge.createBridge(AndroidDebugBridge.java:319)
at com.android.uiautomator.DebugBridge.init(DebugBridge.java:68)
at com.android.uiautomator.UiAutomatorViewer.main(UiAutomatorViewer.java:71)
如何解决这个异常?
答
我固定的:
sudo rm -rf /usr/bin/uiautomatorviewer
,并在文件中的/ usr/bin中粘贴/ uiautomatorviewer下面的脚本:
#!/bin/bash
cd ~/AndroidSDK/tools/bin
bash ./uiautomatorviewer
哪里是我的道路,其中由Android SDK安装uiautomatorviewer放置(我的$ANDROID_HOME
的值为~/AndroidSDK
)。
最后我使脚本可执行:
sudo chmod +x /usr/bin/uiautomatorviewer