Как собрать Android SDK, чтобы иметь возможность использовать библиотеки, расположенные в sdk/add-ons
В настоящее время я пытаюсь использовать OpenMobile API, встроенный в библиотеку Android. (и не доступно для каждого устройства).
Я следую этому руководству, чтобы добавить библиотеку в мой Android SDK: https://github.com/seek-for-android/pool/wiki/UsingSmartCardAPI
Я добавил OpenMobile API через SDK Manager, и теперь у меня есть папки в пути к надстройкам sdk / sdk /. В настоящее время я использую последнюю версию android (25) в Android Studio, и файлы OpenMobileAPI, расположенные в sdk / add-ons, доступны для версии 21. Нет доступных библиотек выше 21 (см. http://seek-for-android.github.io/repository/21/addon.xml).
Манифест:
<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>
Основная деятельность
import org.simalliance.openmobileapi.*;
public class MainActivity extends Activity implements SEService.CallBack {
...
public void serviceConnected(SEService service) {
Log.i(LOG_TAG, "seviceConnected()");
}
}
Это написано:
Build SDK: открытый мобильный API (Giesecke & Devrient GmbH) (API 21)
Android Studio не распознает org.simalliance, поэтому я не могу его использовать.
Как собрать SDK, чтобы класс библиотеки был доступен в Android Studio?
2 ответа
Внутри приложения для Android:
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 во время сборки.
Используя Android Studio, это решение работало для меня. Сначала в "Файл> Структура проекта>SDK" щелкните значок "+" и добавьте новый Android SDK, выбрав "Android 5.0 Open Mobile API ...". Затем перейдите в "Файл> Структура проекта> Модули", выберите модуль приложения, на вкладке "Зависимости" выберите "Android 5.0 Open Mobile API..." для параметра "Модуль SDK". Нажмите OK, и Android Studio разрешит классы.
Для работы gradle мне нужно скопировать "org.simalliance.openmobileapi.jar" из надстроек android sdk в каталог "libs" моего модуля приложения, а затем использовать ответ Kel H. выше, заменив "предоставленный" на "compile". "построить проект. Надеюсь, поможет.