为什么我的命令行android列表目标没有显示任何内容?

时间:2015-08-22 17:19:07

标签: android sdk android-ndk

我正在运行安装了Android Studios的Windows 10但我从命令行执行了所有这些操作。我下载了最新的android sdk。然后我从github下载了项目文件。

我运行了一个构建ndk-build。我认为它是成功的,因为它花了大约20分钟左右。在生成文件的子文件夹libs/mips中:liblept.solibpng.solibtess.so

然后我尝试运行这样的android更新项目命令:

C:\Program Files (x86)\Android\android-sdk\tools>android update project -p c:\tess\tess-two

我确保在tess-two文件夹中有AndroidManifest.xml

我收到此错误消息:

Error: The project either has no target set or the target is invalid.
Please provide a --target to the 'android.bat update' command.

在研究Android Development页面后,我运行了这个命令:

C:\Program Files (x86)\Android\android-sdk\tools>android list targets

结果只是一行没有列表,如果这样的目标没有错误消息或任何东西:

可用的Android目标:

我如何才能让项目更新为我试图关注here的示例。

我尝试了"android list target" show nothing for AOSP build找到的解决方案......但是在我建立AVD之前我得到了一个错误消息,我需要一个目标ID。

我尝试了一些随机目标ID,但它们无效。我做错了什么?

感谢您的帮助。

编辑:新信息 感谢您的帮助,我使用以下内容获得了列表:" android list"而不是" android目标列表"。必须是Windows版本;我刚升级到Windows 10.

所以这就是我得到的。问题是我如何知道使用哪个目标ID?在我的AndroidManifest.xml文件中,我看到了这个属性:

 <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="20" />

我有三个文件夹:&#34; armeabi-v7a&#34;,&#34; mips&#34;,&#34; x860&#34;。每个文件夹有三个文件:&#34; liblept.so&#34;,&#34; libpng.so&#34;,&#34; libtess.so&#34;。我发现的目标列表与targetSdkVersion或三个库文件中的任何一个有关吗?

我不确定哪个用于android更新项目--path。 --target。

这是找到的列表:

C:\ android-sdk \ android-sdk-windows \ platforms&gt; android列表 可用的Android目标: 可用的Android虚拟设备:

无法加载以下Android虚拟设备:     名称:Nexus_5_API_22_x86     路径:C:\ Users .... android \ avd \ Nexus_5_API_22_x86.avd    错误:未知目标&#39; Google Inc.:Google API:22&#39;在C:\ Users .... android \ AVD \ Nexus_5_API_22_x86.ini 可用设备定义: id:0或&#34; tv_1080p&#34;     名称:Android TV(1080p)     OEM:谷歌

标签:android-tv

id:1或&#34; tv_720p&#34;     名称:Android TV(720p)     OEM:谷歌

标签:android-tv

id:2或&#34; wear_round&#34;     名称:Android Wear Round     OEM:谷歌

标签:android-wear

id:3或&#34; wear_square&#34;     名称:Android Wear Square     OEM:谷歌

标签:android-wear

id:4或&#34; Galaxy Nexus&#34;     名称:Galaxy Nexus

OEM:Google

id:5或&#34; Nexus 10&#34;     姓名:Nexus 10

OEM:Google

id:6或&#34; Nexus 4&#34;     姓名:Nexus 4

OEM:Google

id:7或&#34; Nexus 5&#34;     姓名:Nexus 5

OEM:Google

id:8或&#34; Nexus 6&#34;     姓名:Nexus 6

OEM:Google

id:9或&#34; Nexus 7 2013&#34;     姓名:Nexus 7

OEM:Google

id:10或&#34; Nexus 7&#34;     名称:Nexus 7(2012)

OEM:Google

id:11或&#34; Nexus 9&#34;     姓名:Nexus 9

OEM:Google

id:12或&#34; Nexus One&#34;     名称:Nexus One

OEM:Google

id:13或&#34; Nexus S&#34;     姓名:Nexus S

OEM:Google

id:14或&#34; 2.7在QVGA&#34;     名称:2.7&#34; QVGA

OEM:Generic

id:15或&#34; 2.7在QVGA滑块&#34;     名称:2.7&#34; QVGA滑块

OEM:Generic

id:16或&#34; 3.2 in HVGA滑块(ADP1)&#34;     名称:3.2&#34; HVGA滑块(ADP1)

OEM:Generic

id:17或&#34; 3.2在QVGA(ADP2)&#34;     名称:3.2&#34; QVGA(ADP2)

OEM:Generic

id:18或&#34; 3.3在WQVGA&#34;     姓名:3.3&#34; WQVGA

OEM:Generic

id:19或&#34; 3.4在WQVGA&#34;     名称:3.4&#34; WQVGA

OEM:Generic

id:20或&#34; 3.7 FWVGA滑块&#34;     姓名:3.7&#34; FWVGA滑块

OEM:Generic

id:21或&#34; 3.7在WVGA(Nexus One)&#34;     姓名:3.7&#34; WVGA(Nexus One)

OEM:Generic

id:22或&#34; 4在WVGA(Nexus S)&#34;     姓名:4&#34; WVGA(Nexus S)

OEM:Generic

id:23或&#34; 4.65in 720p(Galaxy Nexus)&#34;     姓名:4.65&#34; 720p(Galaxy Nexus)

OEM:Generic

id:24或&#34; 4.7在WXGA&#34;     名称:4.7&#34; WXGA

OEM:Generic

id:25或&#34; 5.1在WVGA&#34;     名称:5.1&#34; WVGA

OEM:Generic

id:26或&#34; 5.4在FWVGA&#34;     姓名:5.4&#34; FWVGA

OEM:Generic

id:27或&#34; 7在WSVGA(平板电脑)&#34;     姓名:7&#34; WSVGA(平板电脑)

OEM:Generic

id:28或&#34; 10.1在WXGA(平板电脑)&#34;     名称:10.1&#34; WXGA(平板电脑)     OEM:通用

2 个答案:

答案 0 :(得分:1)

为确保您至少有一个可供使用的目标,请导航至sdk/installation/path/platforms并查看是否有任何版本的Android。

这是我使用android list targets获得的输出:

Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar 
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar 
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar 
Available Android targets:
----------
id: 1 or "android-19"
     Name: Android 4.4.2
     Type: Platform
     API level: 19
     Revision: 4
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 Tag/ABIs : default/armeabi-v7a
----------
id: 2 or "android-22"
     Name: Android 5.1.1
     Type: Platform
     API level: 22
     Revision: 2
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 Tag/ABIs : android-tv/armeabi-v7a, android-tv/x86, default/armeabi-v7a, default/x86, default/x86_64
----------
id: 3 or "android-23"
     Name: Android 6.0
     Type: Platform
     API level: 23
     Revision: 1
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 Tag/ABIs : default/armeabi-v7a, default/x86, default/x86_64
----------
id: 4 or "Google Inc.:Google APIs (x86 System Image):19"
     Name: Google APIs (x86 System Image)
     Type: Add-On
     Vendor: Google Inc.
     Revision: 15
     Description: Android x86 + Google APIs
     Based on Android 4.4.2 (API level 19)
     Libraries:
      * com.android.future.usb.accessory (usb.jar)
          API for USB Accessories
      * com.google.android.media.effects (effects.jar)
          Collection of video effects
      * com.google.android.maps (maps.jar)
          API for Google Maps
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 Tag/ABIs : default/x86
----------
id: 5 or "Google Inc.:Google APIs:22"
     Name: Google APIs
     Type: Add-On
     Vendor: Google Inc.
     Revision: 1
     Description: Android + Google APIs
     Based on Android 5.1.1 (API level 22)
     Libraries:
      * com.android.future.usb.accessory (usb.jar)
          API for USB Accessories
      * com.google.android.media.effects (effects.jar)
          Collection of video effects
      * com.google.android.maps (maps.jar)
          API for Google Maps
     Skins: HVGA, QVGA, WQVGA400, WQVGA432, WSVGA, WVGA800 (default), WVGA854, WXGA720, WXGA800, WXGA800-7in
 Tag/ABIs : google_apis/armeabi-v7a, google_apis/x86, google_apis/x86_64

我看到你正在构建tess-two,所以这是我到达那个部分时使用的命令:

android update project --path . --target 3

注意我使用.作为路径,因为我已经在tess-two文件夹中,而linux中的.代表当前文件夹。

答案 1 :(得分:0)

我需要运行SDK Manager并更新并安装所有默认包: C:\Program Files (x86)\Android\android-sdk\SDK Manager.exe