Android SDK / NDK установка на Android - PullRequest
1 голос
/ 21 марта 2019

Я эмулирую Ubuntu на устройстве Android с помощью приложения UserLAnd . Я хочу установить android-rs-glue , чтобы упаковать мои приложения Rust как APK, но мне нужно, чтобы Android SDK / NDK был правильно установлен. Вот проблема:

Установите некоторые компоненты в SDK:

$ ./android-sdk/tools/bin/sdkmanager "platform-tools" "platforms;android-18" "build-tools;26.0.1"

Результат:

$ sudo . "$ANDROID_HOME/bin/sdkmanager" \
        "platform-tools" \
        "platforms;android-18" \
        "build-tools;26.0.1"

# Error: Could not find or load main class 
#   com.android.sdklib.tool.sdkmanager.SdkManagerCli

Я сделал:

$ export CLASSPATH=$CLASSPATH:$ANDROID_HOME/lib

После просмотра sdk/bin/sdkmanager я вычел, также требуется копия sdk/lib как ~/lib; тогда я получаю это:

Loading package information...                                                  
Loading local repository...                                                     
n% Loading local repository...        
n% Fetch remote repository...
6% Computing updates...               
8% Computing updates...               
8% Computing updates...               
10% Computing updates...              
10% Computing updates...

Warning: File /root/.android/repositories.cfg could not be loaded.
Warning: Failed to find package platforms

Собираюсь проверить это дальше.

1 Ответ

0 голосов
/ 22 марта 2019
  • ANDROID_HOME должен быть каталогом sdk, а не каталогом sdk / tools.
  • Вы должны указать имя банки при добавлении банок в classpath.

Основной класс com.android.sdklib.tool.sdkmanager.SdkManagerCli находится в tools / lib / sdklib-26.0.0-dev.jar. Но вам не нужно явно добавлять его в classpath, поскольку он будет добавлен самим скриптом sdkmanager. Вы можете увидеть jar-файлы в каталоге tools / lib, добавленном к classpath этой строкой в ​​sdkmanager file

CLASSPATH=$APP_HOME/lib/dvlib-26.0.0-dev.jar:$APP_HOME/lib/jimfs-1.1.jar:$APP_HOME/lib/jsr305-1.3.9.jar:$APP_HOME/lib/repository-26.0.0-dev.jar:$APP_HOME/lib/j2objc-annotations-1.1.jar:$APP_HOME/lib/layoutlib-api-26.0.0-dev.jar:$APP_HOME/lib/gson-2.3.jar:$APP_HOME/lib/httpcore-4.2.5.jar:$APP_HOME/lib/commons-logging-1.1.1.jar:$APP_HOME/lib/commons-compress-1.12.jar:$APP_HOME/lib/annotations-26.0.0-dev.jar:$APP_HOME/lib/error_prone_annotations-2.0.18.jar:$APP_HOME/lib/animal-sniffer-annotations-1.14.jar:$APP_HOME/lib/httpclient-4.2.6.jar:$APP_HOME/lib/commons-codec-1.6.jar:$APP_HOME/lib/common-26.0.0-dev.jar:$APP_HOME/lib/kxml2-2.3.0.jar:$APP_HOME/lib/httpmime-4.1.jar:$APP_HOME/lib/annotations-12.0.jar:$APP_HOME/lib/sdklib-26.0.0-dev.jar:$APP_HOME/lib/guava-22.0.jar

где APP_HOME - это каталог инструментов (android-sdk / tools / bin / .., который разрешается в / android-sdk / tools /)

Так что, пожалуйста, убедитесь, что sdklib-26.0.0-dev.jar существует в каталоге tools / lib и содержит класс SdkManagerCli

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...