2016-12-15 6 views
2

В настоящее время я пытаюсь использовать OpenMobile API, который является библиотекой, встроенной в android. (и не доступно для каждого устройства).Как построить Android SDK, чтобы иметь возможность использовать библиотеки, расположенные в sdk/add-ons

Я следую за этот учебник, чтобы добавить библиотеку к моей Android SDK: https://github.com/seek-for-android/pool/wiki/UsingSmartCardAPI

Я добавил API OpenMobile через SDK Manager, и теперь у меня есть папки в SDK путь-к-/ SDK/добавить -ons. В настоящее время я использую последнюю версию android (25) в Android Studio, а файлы OpenMobileAPI, расположенные в sdk/add-on, доступны для версии 21. Там нет библиотеки, доступной выше 21 (см. http://seek-for-android.github.io/repository/21/addon.xml).

Manifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    <application android:label="@string/app_name"> 

    <uses-library android:name="org.simalliance.openmobileapi" android:required="true" /> 

    <activity android:name=".MainActivity"> 
     ... 
    </activity> 
    </application> 
</manifest> 

MainActivity

import org.simalliance.openmobileapi.*; 

public class MainActivity extends Activity implements SEService.CallBack { 
    ... 
    public void serviceConnected(SEService service) { 
    Log.i(LOG_TAG, "seviceConnected()"); 
    } 
} 

Написано:

Сложение SDK: Open Mobile API (Giesecke & Devrient GmbH) (API 21)

org.simalliance не распознается Android Studio, поэтому я не могу его использовать.

Как создать SDK, чтобы класс библиотеки был доступен в Android Studio?

ответ

3

Внутри Android приложения Gradle:

compile fileTree(include: ['*.jar'], dir: 'libs', 'exclude': ['org.simalliance.openmobileapi.jar']) 

provided files('libs/org.simalliance.openmobileapi.jar') 

манифеста: В приложение тега добавить:

<uses-library android:name="org.simalliance.openmobileapi" android:required="false" /> 

Предоставленный вместо компиляции позволяют библиотеки должны быть признаны и используются в коде, но является не компилируется в apk во время сборки.

0

Используя Android Studio, это решение сработало для меня. Во-первых, в «Файл> Структура проекта> SDK» нажмите на значок «+» и добавьте новый Android SDK, выбрав «Android 5.0 Open Mobile API ...». Затем перейдите в «Файл> Структура проекта> Модули», выберите свой модуль приложения, на вкладке «зависимости» выберите «Android 5.0 Open Mobile API ...» для опции «Модуль SDK». Нажмите «ОК», и «Студия Android» разрешит классы.

Для работы с градиентом я должен скопировать «org.simalliance.openmobileapi.jar» из надстроек android sdk в каталог «libs» моего модуля приложения, а затем использовать Kel H. ответ выше, заменив «предоставленный «для компиляции» для создания проекта. Надеюсь, поможет.