Jak korzystać z biblioteki obsługi Renderscript w Gradle
Czy jest możliwe użycie Wsparcie Biblioteki Renderscript z Gradle? Jeśli tak, to w jaki sposób uwzględniasz go w swoim projekcie?
6 answers
Gradle dla Androida obsługuje teraz Renderscript v8 z tylko 2 liniami w skrypcie budowania. Zobacz odpowiedź Austyn Mahoney . Zachowanie oryginalnej odpowiedzi dla celów historycznych.
Stara Odpowiedź:
Gradle obsługuje natywną kompilację RS, ale nie bibliotekę obsługi RS. Powodem jest to, że biblioteka obsługi RS jest ogromnie skomplikowana w porównaniu do jakiejkolwiek innej biblioteki wsparcia. Biblioteka obsługi RS jest właściwie biblioteką obsługi Javy, a zestaw natywnych bibliotek wspierających bibliotekę Java lib, dodatkowe natywne biblioteki dla każdego kompilowanego skryptu oraz alternatywny łańcuch narzędzi do generowania zarówno standardowego kodu bitowego LLVM, jak i natywnych bibliotek dla skryptów. W tej chwili tylko ADT i Ant to wspierają; Gradle jeszcze nie ma.
Możliwe jest jednak korzystanie z niektórych części biblioteki obsługującej RS od Gradle. Jeśli chcesz użyć RS intrinsics, możesz połączyć część Java z biblioteką wsparcia (sdk/build-tools/android-4.3/lib/renderscript / renderscript-v8.jar) i natywne komponenty (sdk / build-tools / android-4.3 / lib / renderscript/ packaged //*. so), a następnie zostanie ustawiony.
Wiem, że wsparcie Gradle dla biblioteki wsparcia pojawi się w pewnym momencie w niezbyt odległej przyszłości, ale nie mam mocnej ETA, którą mogę podzielić.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:17:42
Korzystanie Z Android Studio:
Dodaj następujące wartości do build.gradle
dla android Gradle plugin v0.14+
android {
...
defaultConfig {
...
renderscriptTargetApi 19
renderscriptSupportModeEnabled true
}
...
}
Dla starszych wersji wtyczki android gradle v0.13.3 i poniżej
android {
...
defaultConfig {
...
renderscriptTargetApi 19
renderscriptSupportMode true
}
...
}
Gdy to zrobisz, użyj android.support.v8.renderscript.
w dowolnym miejscu w aplikacji. Biblioteka jar i pliki binarne są dołączane automatycznie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-17 14:29:53
Podążając za wskazówką Tima, udało mi się uzyskać wsparcie dla V8 pracując z Gradle, oto mój layout projektu:
Utworzyłem folder libs i skopiowałem pliki wymienione w folderze SDK. A oto Moja budowa.zmiany w gradle:
dependencies {
compile files('libs/renderscript-v8.jar')
}
android {
tasks.withType(com.android.build.gradle.tasks.PackageApplication) {
pkgTask -> pkgTask.jniFolders = new HashSet<File>();
pkgTask.jniFolders.add(new File(projectDir, 'libs'));
}
}
Potem mogę zaimportować Androida.wsparcie.v8.renderscript.* i korzystać z wewnętrznych.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-18 04:30:24
Wiem, że już na to odpowiedziałam, ale pomyślałem, że podzielę się moim doświadczeniem z obsługą Android-Studio i Renderscript z Build-tools 21.1.0. To jest to, co znalazłem w build-system changelog linie 26-32:
- zmieniono nazwę kilku właściwości, aby rzeczy stały się bardziej spójne.
- BuildType.runProguard - > minifyEnabled
- BuildType.zipAlign - > zipAlignEnabled
- BuildType.jniDebugBuild -> jniDebuggable
- BuildType.renderscriptDebug - > renderscriptdebug
- ProductFlavor.renderscriptSupportMode - > renderscriptSupportModeEnabled
- ProductFlavor.renderscriptNdkMode - > renderscriptNdkModeEnabled
Więc widzisz, oni zmienili nazwę właściwości. Właśnie zaktualizowałem build.gradle do użycia:
RenderscriptSupportModeEnabled true
Teraz biblioteki są dodawane do projektu i nie trzeba ręcznie dodawać ich do folderu lib.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-16 13:54:49
Istnieje eksperymentalne wsparcie w plugin Gradle Android w momencie pisania tego tekstu. Zobacz ten projekt testowy aby uzyskać więcej informacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-07 01:35:45
Jeśli ktoś jest zainteresowany Jak spakować to jako dystrybuowalny plik binarny .jar (np. do wdrożenia do Maven repo) możesz użyć tej struktury plików dla swojego .słoik.
Pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>android</groupId>
<artifactId>renderscript</artifactId>
<version>19.0.3</version>
<description>Artifactory auto generated POM</description>
</project>
Do budowy.gradle, dodaj: compile 'android:renderscript:19.0.3'
do swoich zależności clojure.
PS: biblioteka renderscript nie będzie działać na armv6( armeabi), więc upewnij się, że Build.CPU_ABI
jest albo armeabi-v7a, mips lub x86.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-04-09 15:29:37