Я использую Android Studio 2.2.3 с opencv sdk. Я начал с приложения по умолчанию Hello World ( c ++ выбрана опция). Проект был настроен (по умолчанию) для использования cmake .
opencv SDK использует систему сборки .mk -основанная на основе. Я изменил build.gradle для моего приложения следующим образом (прокомментировано 3 строки, добавлены 3 строки для NDK-build ):
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "in.ac.iitb.sc.arms.sample"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags "-frtti -fexceptions"
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
// cmake {
// path "CMakeLists.txt"
// }
ndkBuild{
path 'src/main/cpp/Android.mk'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.1'
testCompile 'junit:junit:4.12'
}
< /code>
Мое текущее дерево каталогов выглядит как: < /p>
APP
├── app.iml
├── build.gradle
├── CMakeLists.txt
├── libs
├── proguard-rules.pro
└── src
├── androidTest
│ └── java
│ └── test
│ └── ...
├── main
│ ├── AndroidManifest.xml
│ ├── cpp
│ │ ├── Android.mk
│ │ ├── Application.mk
│ │ └── native-lib.cpp
│ ├── java
│ │ └── test
│ │ └── sc
│ │ └── arms
│ │ └── sample
│ │ └── MainActivity.java
< /code>
где android.mk < /code> выглядит как < /p>
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#opencv
OPENCVROOT:= /home/homer/Desktop/OpenCV-android-sdk
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=SHARED
include $(OPENCVROOT)/sdk/native/jni/OpenCV.mk
LOCAL_SRC_FILES := native-lib.cpp
LOCAL_LDLIBS += -llog -ldl
LOCAL_MODULE:=MyLibs
include $(BUILD_SHARED_LIBRARY)
< /code>
Также я разместил файл Application.mk < /code> со следующим контентом в каталоге CPP < /code> < /p>
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-8
, а также android не способна разрешить функцию StringFromJni () , как показано
Подробнее здесь: https://stackoverflow.com/questions/451 ... d-mk-files
Basic Hello World App не строит с NDK-Build (.mk файлы) ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1745015187
Anonymous
Я использую Android Studio 2.2.3 с opencv sdk. Я начал с приложения по умолчанию Hello World ( c ++ выбрана опция). Проект был настроен (по умолчанию) для использования cmake .
opencv SDK использует систему сборки .mk -основанная на основе. Я изменил build.gradle для моего приложения следующим образом (прокомментировано 3 строки, добавлены 3 строки для NDK-build ):
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
defaultConfig {
applicationId "in.ac.iitb.sc.arms.sample"
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags "-frtti -fexceptions"
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
// cmake {
// path "CMakeLists.txt"
// }
ndkBuild{
path 'src/main/cpp/Android.mk'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.1'
testCompile 'junit:junit:4.12'
}
< /code>
Мое текущее дерево каталогов выглядит как: < /p>
APP
├── app.iml
├── build.gradle
├── CMakeLists.txt
├── libs
├── proguard-rules.pro
└── src
├── androidTest
│ └── java
│ └── test
│ └── ...
├── main
│ ├── AndroidManifest.xml
│ ├── cpp
│ │ ├── Android.mk
│ │ ├── Application.mk
│ │ └── native-lib.cpp
│ ├── java
│ │ └── test
│ │ └── sc
│ │ └── arms
│ │ └── sample
│ │ └── MainActivity.java
< /code>
где android.mk < /code> выглядит как < /p>
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
#opencv
OPENCVROOT:= /home/homer/Desktop/OpenCV-android-sdk
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=SHARED
include $(OPENCVROOT)/sdk/native/jni/OpenCV.mk
LOCAL_SRC_FILES := native-lib.cpp
LOCAL_LDLIBS += -llog -ldl
LOCAL_MODULE:=MyLibs
include $(BUILD_SHARED_LIBRARY)
< /code>
Также я разместил файл Application.mk < /code> со следующим контентом в каталоге CPP < /code> < /p>
APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -fexceptions
APP_ABI := armeabi-v7a
APP_PLATFORM := android-8
, а также android не способна разрешить функцию StringFromJni () , как показано
Подробнее здесь: [url]https://stackoverflow.com/questions/45140303/basic-hello-world-app-isnt-building-with-ndk-build-mk-files[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия