Quantcast
Channel: Статьи Intel Developer Zone
Viewing all articles
Browse latest Browse all 133

Сборка собственных приложений Android* с помощью компилятора Intel(R) C++ в Android Studio*

$
0
0

Содержание:

Введение

Текущей версией Android Studio* на момент написания этой статьи являлась версия 0.5.2. Она выпускается как «ранняя предварительная версия». Поэтому поддержка Android Studio* компилятором Intel(R) C++ 14.0 для Android также реализована на уровне предварительной версии. Никаких дополнительных изменений и действий не требуется, чтобы собирать собственные приложения в Android Studio.

Компилятор Intel(R) C++ для Android (ICC) настраивается как компилятор по умолчанию для платформ назначения x86 в системе сборки NDK при установке. Android Studio использует Gradle в качестве системы сборки. На момент написания этой статьи среда Gradle вызывала систему сборки NDK в ходе процесса сборки. Поэтому ICC также является компилятором по умолчанию для платформ назначения x86 в Android Studio. Никакой дополнительной настройки Android Studio не нужно.

Приведенные ниже действия описывают создание нового собственного приложения в Android Studio, его сборку и запуск.

Требуемые программные компоненты

Для разработки собственных приложений в Android Studio требуются следующие программные компоненты:

  1. Oracle* JDK 6 6 или более поздней версии (Intel-64 JDK для систем Windows x64):
    1. Установите переменную среды JAVA_HOME, чтобы она указывала на корневую папку JDK6, например, JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45
    2. Обновите переменную среды PATH, чтобы она указывала на папку JAVA_HOME/bin, при этом javah будет доступна из окна командной строки.
  2. Android Studio:
    1. Установите Android Studio и последние обновления. Для получения обновлений откройте Android Studio, выберите меню [Help] и [Check for Update...], затем установите обновления.
    2. Android SDK
      1. Установите Android SDK из Android Studio, щелкнув приведенный ниже значок. Обязательно установите Intel x86 Atom System Image для Android x.x.x:
    3. Создайте новое виртуальное устройство Android Virtual Device для ЦП Intel ATOM/ABI, щелкнув указанный ниже значок:
      1. Установите свойства AVD, как показано ниже:
  3. Android NDK r9d: исходите из того, что этот компонент установлен в папку [ndk-dir]
  4. Intel C++ Compiler 14.0 для Android, обновление 2: выберите папку [ndk-dir] для Android NDK r9d.
    1. При наличии нескольких установленных пакетов Android NDK см. инструкции в статье Интеграция компилятора Intel(R) C++ для Android* с несколькими Android NDK.

Использование компилятора Intel(R) C++ в Android Studio**

После установки компилятора Intel C++ Compiler 14.0 для Android, обновление 2, следующие цепочки инструментов устанавливаются в папку инструментов NDK r9d (C:\android-ndk-r9d\toolchains):

  • x86-icc
  • x86-icc14.0.n.mmm

После установки компилятором C/C++ по умолчанию будет компилятор Intel C++. Для использования компилятора Intel C++ в Android Studio дополнительных действий не требуется.

Поскольку среда Android Studio находится на этапе предварительной версии, при прямом импорте образцов из NDK могут возникнуть определенные затруднения. Мы создадим новый проект Android с вызовом собственной функции для демонстрации использования компилятора Intel C++.

  1. Создайте новый проект Android с собственным интерфейсом:

    1. Откройте Android Studio, создайте новый проект Android с параметрами по умолчанию, например
    2. Откройте app\src\main\java\MainActivity.java и добавьте нативную функцию, как показано ниже, в конце класса MainActivity:
      1. public native String getStringFromNative();
    3. Сборка проекта nativeDemo: выберите меню Build > Make Project чтобы приготовиться использовать javah.
    4. Откройте окно терминала с помощью меню View > Other Windows > Terminal, затем выполните команду javah для создания заголовка jni:
      1. В окне терминала перейдите во вложенную папку src\main:
        1. cd src\main
      2. ii. Запустите следующую команду javah (она создает файл заголовка com_example_nativedemo_app_MainActivit.h в папке src\main\jni):
        1. javah -d jni classpath C:\Android\android-studio\sdk\platforms\android-19\android.jar;..\..\build\classes\debug com.example.nativedemo.app.MainActivity
      3. Пример
    5. Щелкните правой кнопкой мыши на папке src, выберите Sycnhronize 'src'. Теперь файл заголовка com_example_nativedemo_app_MainActivit.h находится в папке src\main\jni.
  2. Добавьте нативный исходный код: main.c, dummy.c.

    1. Создайте main.c: выберите файл com_example_nativedemo_app_MainActivit.h, используйте копирование в буфер и вставку из буфера для создания нового файла main.c со следующим кодом:
      1. #include "com_example_nativedemo_app_MainActivity.h"
        
        JNIEXPORT jstring JNICALL Java_com_example_nativedemo_app_MainActivity_getStringTextFromNative
          (JNIEnv * env, jobject obj)
        {
          #ifdef __INTEL_COMPILER_UPDATE
            return (*env)->NewStringUTF(env, "Hello from Intel C++ !");
          #else
            return (*env)->NewStringUTF(env, "Hello from default C++ !");
          #endif
        }
    2. Создайте файл dummy.c: выберите файл main.c и при помощи копирования в буфер и вставки из буфера создайте еще один пустой файл dummy.c. Этот файл требуется только в Windows и, по-видимому, не будет нужен в финальной версии Android Studio.
    3. c. Теперь у нас в папке jni находится три файла: com_example_nativedemo_app_MainActivity.h, main.c, dummy.c:
  3. Задайте папку NDK в проекте.

    1. Откройте файл проекта local.properties и добавьте ndk.dir:
      1. sdk.dir=C\:/Android/android-studio/sdk
        ndk.dir=C\:/android-ndk-r9d
  4. Измените выходную библиотеку: измените используемую по умолчанию "libapp.so"на "myNativeTest.lib"

    1. Откройте build.gradle: добавьте следующий раздел ndk в defaultConfig, как показано ниже.
    2.     defaultConfig {
              minSdkVersion 18
              targetSdkVersion 19
              versionCode 1
              versionName "1.0"
              ndk {
                  moduleName "myNativeTest"
              }
          }
    3. Теперь соберите проект: выберите [Build > Make Project].Вы увидите выходные папки и файлы libmyNativeTest.so в папках app\build\ndk\debug\lib и app\build\ndk\debug\obj\local.
  5. Добавьте идентификатор "hello_testview"в виджет textview
    1. Откройте res\layout\activity_main.xml и добавьте:
    2. <TextView
              android:text="@string/hello_world"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:id="@+id/hello_textview" />
  6. ​Обновите MainActivity.java для подключения вызова нативной библиотеки к виджету textview пользовательского интерфейса.

    1. public class MainActivity extends Activity {
          static { // load the native library "myNativeTest"
          System.loadLibrary("myNativeTest");
          }
          @Override
          protected void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);
      
                  // get the text string from native API, and display on the UI
              TextView tv = (TextView)findViewById(R.id.hello_textview);
              tv.setText(this.getStringTextFromNative());
          }
  7. Запустите виртуальную машину Android — Intel-Nexus4

  8. Запустите приложение, нажав кнопку Run.

    1. Это означает, что был использован компилятор Intel C++ для Android*.

Заключение

Теперь вы знаете, как собрать простое нативное приложение Android с помощью компилятора Intel C++ в Android Studio. Попробуйте проделать это с вашим приложением и сообщите нам, получится ли.




 


Viewing all articles
Browse latest Browse all 133

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>