- Ошибка в создании проекта в Android Studio
- Сообщение об ошибке
- Решение
- Не работает ли это?
- ПАНИКА: Сломанный путь системы AVD. Проверьте значение ANDROID_SDK_ROOT
- Неполная / поврежденная структура SDK
- Обязательные пакеты и HAXM не установлены
- Qcow2-файлы ссылаются на неправильные / несуществующие базовые образы
- Устранение ошибки при использовании Android SDK от Homebrew в качестве SDK по умолчанию
- Настройка Android Studio для использования Android SDK Homebrew
- Поиск местоположения Android SDK от Homebrew
- Установка переменных среды Android SDK для указания на Android SDK от Homebrew
- Can not find jni.h file android ndk #171
- Comments
- mohdirfan87 commented Apr 19, 2016
- ggfan commented Apr 19, 2016
- ph0b commented Apr 19, 2016
- ggfan commented May 5, 2016
- mohdirfan87 commented May 6, 2016
- ggfan commented May 6, 2016
- ggfan commented May 6, 2016
- mohdirfan87 commented May 6, 2016
- mohdirfan87 commented May 6, 2016
- ggfan commented May 6, 2016 •
- ggfan commented May 6, 2016
- mohdirfan87 commented May 6, 2016
- mohdirfan87 commented May 6, 2016
- ggfan commented May 6, 2016 •
- mohdirfan87 commented May 7, 2016
- ggfan commented May 7, 2016 •
- mohdirfan87 commented May 9, 2016
- ggfan commented May 9, 2016
Ошибка в создании проекта в Android Studio
Недавно установленная Android Studio и новый проект для Android. Когда пытались запустить его. Получил эту ошибку от Gradle
Я попытался перестроить проект, а также попытался удалить папку .gradle но ничего не .gradle .
У меня такая же проблема, и удалить только cache.properties.lock недостаточно.
Решение, как указано выше, удаляет файл cache.properties.lock, но не только в папке, указанной Android Studio. Мне нужно было удалить каждый файл блокировки внутри .gradle \ caches \ VERSION.
Итак, я создал небольшой .bat-файл с этим:
Добавьте этот файл в .gradle \ caches \ VERSION \ и запустите его. После этого моя Android-студия перестала жаловаться.
Сообщение об ошибке
Наиболее важными частями этого сообщения об ошибке являются:
- Пусть _XXX_ = asLocalRepo10_d10e66d3o7exs19wwq4uj2zhv
- Пусть _USER_ = Dexter
- Пусть _GRADLE_ = 2.2.1
Решение
Удалить C:\Users\_USER_\.gradle\caches\_GRADLE_\scripts\_XXX_\InitScript\initscript\cache.properties.lock
Не работает ли это?
Затем вам нужно выяснить корень решения. Вероятно, это связано с поврежденной IDE. Попробуйте установить еще одну копию Android Studio в вашей системе.
Примечание. Вы можете иметь несколько копий Android Studio в своей системе. Вот последний превью . Если вы отметите заметки на странице, вы можете увидеть, что вам нужно сделать, чтобы установить новую версию на AS.
Сообщите нам, если это сработает … если нет, мы можем попытаться выявить другие возможные проблемы
Перейти в местоположение
Удалить файл cache.properties.lock
Я также получаю ту же ошибку.
Так что я сделал это, что я очистил папку Temp (Если вы не знаете, где это, тогда просто нажмите Window + R и введите % temp% ИЛИ вы можете набрать% temp% в адресной строке тоже в Проводнике).
Теперь снова запустите проект, он должен работать нормально.
Я не знаю постоянного решения, но то, что я говорю, работает для меня. Если кто-то знает постоянное исправление, пожалуйста, поделитесь этим.
В моем случае это был вопрос о роуминге. Gradle Sync терпела неудачу каждый раз, когда я переключал сети с работы на дом. Хотя я смог получить доступ к сетевым дискам, подключившись к VPN, все же он использовал эту ошибку. Мне пришлось перенести путь каталога службы коляски в другое место, которое не зависело от сети.
Вы можете сделать это в AS 1.4, выбрав File> Settings> Build, Execution, Deployment> Build Tools> Gradle> Service Directory Path. Снимок экрана ниже:
Вы также можете добавить переменную среды GRADLE_USER_HOME с тем же значением местоположения, чтобы сделать ее по умолчанию для каждого проекта ( http://blog.james-carr.org/2011/05/04/setting-gradle-cache-to-a – общее местоположение / ). Вы можете обратиться к следующей странице для получения дополнительной информации о перемещении материалов, связанных с Android, в разные местоположения: http://www.littlecpu.com/android-studio-c-drive
Файл -> Invalidate Cache / Restart работал для меня.
В моем случае я удалил папку .gradle и очистил проект при повторном запуске, проект работал нормально.
У меня были подобные проблемы. Для меня решение было просто удалить все файлы внутри папки C: \ Users \ Dexter.gradle \ caches \ 2.2.1 \ scripts \ Также я удалил конфигурацию VCS из студии android. Не нужно устанавливать новую студию Android для исправления проблемы.
У меня такая же проблема. Просто перезапустите Gradle, а затем очистите свой проект. Я надеюсь, что эта помощь
Источник
ПАНИКА: Сломанный путь системы AVD. Проверьте значение ANDROID_SDK_ROOT
После ввода cordova run android в терминале я получаю эту ошибку:
Это происходит после экспорта:
Перед экспортом я получил:
Есть идеи, где я иду не так? Я уверен, что это корень SDK, так почему я получаю сломанный системный путь AVD?
При перемещении AVD или SDK в другой каталог или при замене старого SDK новым или при повреждении SDK может возникнуть несколько разных проблем.
Ниже я опишу все возможные проблемы, которые я знаю, и дам несколько способов их решения.
Конечно, я предполагаю, что у вас есть созданный AVD, и он находится в C:\Users\ \.android\avd (Windows) или
/.android/avd (Linux / MacOS).
Если вы переехали .android в другое место, установите для ANDROID_SDK_HOME переменной среды путь родительского каталога, в котором находится ваш файл, .android и убедитесь, что AVD Manager успешно обнаружил ваше виртуальное устройство.
Также проверьте пути в /.android/avd/.ini
Неполная / поврежденная структура SDK
Эти 2 ошибки происходят, если эмулятор не может найти SDK или SDK поврежден.
Итак, прежде всего, я рекомендую удалить ANDROID_SDK_ROOT переменную вообще. Это нужно только тогда, когда эмулятор находится за пределами каталога SDK. Но в целом, ваш эмулятор остается внутри директории SDK. И в этом случае он должен автоматически определять местоположение SDK . Если это не так, то ваш SDK, вероятно, имеет неправильное файловое дерево. Пожалуйста, сделайте следующее:
Убедитесь , что каталог SDK имеет , по крайней мере , эти 4 директории: emulator , platforms , platform-tools , system-images . Это очень важно! Эти каталоги должны присутствовать. Если некоторых из них не существует, просто создайте пустые каталоги.
Если все настроено правильно, когда эти ошибки о ANDROID_SDK_ROOT должны исчезнуть. Если это не так, то теперь вы можете попытаться установить ANDROID_SDK_ROOT переменную.
Обязательные пакеты и HAXM не установлены
Следующая проблема, с которой вы можете столкнуться, заключается в том, что эмулятор начинает запускаться, но зависает или сразу же завершает работу. Это, вероятно, означает, что у вас не установлены все необходимые пакеты.
Другая возможная ошибка:
Не удалось автоматически обнаружить двоичный файл ADB. Некоторые функции эмулятора не будут работать, пока на странице расширенных настроек не будет добавлен пользовательский путь к ADB.
Итак, чтобы успешно запустить любой AVD, вы должны быть уверены, что установлены хотя бы следующие пакеты:
И, как я упоминал ранее, вы должны установить образы системы, которые использует ваш AVD, например system-images;android-25;google_apis;x86
Обратите внимание, что самые последние версии SDK не имеют отдельной версии SDK Manager.exe . Вместо этого вы должны либо использовать Android Studio, либо tools\bin\sdkmanager.bat (возможно, в Linux / MacOS есть sh файлы).
Для просмотра всех доступных пакетов используйте sdkmanager —list или sdkmanager —list —verbose
Для установки пакетов используйте sdkmanager
Также я рекомендую установить HAXM на вашу систему вручную.
Qcow2-файлы ссылаются на неправильные / несуществующие базовые образы
Последняя проблема, о которой я упомяну, возникает, когда вы пытаетесь переместить AVD или SDK с одного компьютера или каталога на другой. В этом случае вы можете получить такую ошибку:
qemu-system-i386.exe: -drive if = none, overlap-check = none, cache = unsafe, index = 0, file = C:\Users\
\.android\avd\ .
avd \ system.img.qcow2, только для чтения: не удалось открыть файл поддержки: не удалось открыть ‘
- \system-images\android-22\google_apis\x86\system.img ‘: неверный аргумент
Есть 2 способа это исправить:
Если вас не волнуют данные, которые содержит AVD, просто удалите все qcow2 файлы из каталога AVD (например, из /.android/avd/ ). В этом случае вы получите чистую версию Android, как после полной перезагрузки.
Если для вас важны данные на эмуляторе, откройте все qcow2 файлы по одному с помощью любого редактора HEX (я предпочитаю HxD ), найдите путь к базовому img файлу и измените его на правильный в Overwrite режиме (чтобы сохранить размер файла). Затем выберите путь и получите его длину в шестнадцатеричном формате (например 2F ). 2F представляет косую черту ASCII / . Поместите это в положение 13 :
PS: Не уверен, но, вероятно, есть некоторые утилиты, такие как qemu-img, позволяющие установить другое базовое изображение. Ну, мне проще редактировать бинарный файл вручную.
Теперь вы, вероятно, сможете успешно запустить виртуальное устройство Android. Я надеюсь, что это так 🙂
На Mac: я установил android-sdk с использованием, brew а также Android Studio. Каким-то образом наличие 2 установок было причиной этой проблемы. Когда я удалил мою установку brew sdk, используя brew cask uninstall android-sdk и добавил следующие переменные в мою среду. Это сработало.
Это решит вашу проблему в macOS:
Устранение ошибки при использовании Android SDK от Homebrew в качестве SDK по умолчанию
Как и @EFreak, я установил android-sdk с помощью homebrew (менеджер пакетов для Mac). Мне нужно было сделать следующее, чтобы исправить ошибку, потому что я следовал инструкциям по nativescript и столкнулся с ошибкой. Если вы мне нравитесь, намеревайтесь использовать версию brew вместо версии android-sdk, используйте этот ответ (это позволит вам использовать tns run android api nativescripts ), и если вы хотите, чтобы android studio по умолчанию android-sdk следовал ответу @ EFreak.
Настройка Android Studio для использования Android SDK Homebrew
В основном вам просто нужно изменить расположение Android SDK в Android Studio. Сначала откройте проект в андроид студии. Затем откройте SDK Manager, нажав эту кнопку.
Затем, когда появятся настройки по умолчанию для менеджера Android SDK, вам нужно нажать «Изменить» рядом с расположением Android SDK.
Поиск местоположения Android SDK от Homebrew
Затем вам нужно обновить местоположение SDK на экране установки компонентов SDK, мой brew Android-SDK был расположен здесь /usr/local/share/android-sdk . Вы можете найти, где у вас установлен, запустив brew cask info android-sdk в нижней части вывода, он должен сказать:
Значение переменной export ed ANDROID_SDK_ROOT (которая здесь есть /usr/local/share/android-sdk ) является местоположением доморощенного андроида SDK.
Затем вам нужно нажать кнопку «Расположение Android SDK» (обозначенную на рисунке как «1») и вставить в Android SDK Homebrew.
Затем просто завершите работу мастера, установив все пакеты. На этом этапе мне нужно было удалить и воссоздать эмуляторы моего устройства, но после этого все работало отлично.
Установка переменных среды Android SDK для указания на Android SDK от Homebrew
Также вы можете убедиться, что вы идете по маршруту Homebrew, что в вашем скрипте настроек профиля переменные ANDROID_HOME и ANDROID_SDK_ROOT окружения установлены на ваше местоположение Homebrew для android sdk, в противном случае вышеприведенное пока не будет работать. Это может переодеться с места Homebrew , если вы установили Homebrew перед установкой Android Studio , как указывалось в этом ответе по @Jamie броне . Вы можете проверить переменные среды для Android SDK установлены правильно, запустив echo $ANDROID_HOME и echo $ANDROID_SDK_ROOT и проверки того, что они оба показывают Homebrew расположение Android SDK.
Если вам нужно изменить значения ANDROID_HOME и ANDROID_SDK_ROOT, вы можете сделать это в настройках своего профиля на вашем Mac, которые, вероятно, будут выглядеть примерно как
/ .profile» и определены следующим образом:
Вам нужно изменить значения обоих экспортов на правильные значения местоположения Android SDK Homebrew, а затем сохранить файл. Чтобы убедиться, что правильные значения были записаны, вы должны сначала либо закрыть и открыть свой терминал, который должен перезапустить файл и сбросить переменные среды, либо вы можете получить файл, запустив source
файл профиля, который вы отредактировали и сохранили. Затем вы можете перезапустить echo $ANDROID_HOME и echo $ANDROID_SDK_ROOT убедиться, что у них есть доморощенный Android SDK местоположение.
Источник
Can not find jni.h file android ndk #171
Comments
mohdirfan87 commented Apr 19, 2016
Hi All I am getting error in c file and can not find jni.h file
The text was updated successfully, but these errors were encountered:
ggfan commented Apr 19, 2016
the file is part of NDK, in
your-ndk-path/platforms/$your-android-version/$arch-type/usr/include/jni.h
one for each ABI and each android version, so you should see a lot of this file inside your ndk
by guessing, I would:
- check you have the file in your ndk
- your gradle/android studio is configured to the right ndk
you may uses android studio’s import sample option to import hello-jni into your android studio, and check the thing out there. ndk path is set inside IDE and finally saved into local.properties.
it is a guess. if still have problem, maybe load more info? thanks
ph0b commented Apr 19, 2016
If you’re using AS 2.0 or 2.1 on Windows, there are good chances you’re hit by this issue: https://code.google.com/p/android/issues/detail?id=195483
ggfan commented May 5, 2016
may you kindly remind us whether there is any change on your end? thanks
mohdirfan87 commented May 6, 2016
Hi,
resolved the errors in JNI files but did not get generated the .so file
Regards,
Irfan
On Fri, May 6, 2016 at 3:33 AM, Gerry notifications@github.com wrote:
may you kindly remind us whether there is any change on your end? thanks
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#171 (comment)
ggfan commented May 6, 2016
Oh, no errors? moduleName is there in your build.gradle, I believe
ggfan commented May 6, 2016
maybe share your 2 build.gradle files:
$project/build.gradle
$project/app/build.gradle
we could sync-up with that? thanks
mohdirfan87 commented May 6, 2016
// Top-level build file where you can add configuration options common
to all sub-projects/modules.
buildscript <
repositories <
jcenter()
>
dependencies <
classpath ‘com.android.tools.build:gradle-experimental:0.7.0-alpha1’
>
allprojects <
repositories <
jcenter()
>
>
$project/app/build.gradle
apply plugin: ‘com.android.model.application’
model <
android <
compileSdkVersion = 23
buildToolsVersion = «23.0.2»
On Fri, May 6, 2016 at 10:13 AM, Gerry notifications@github.com wrote:
maybe share your 2 build.gradle files:
$project/build.gradle
$project/app/build.gradle
we could sync-up with that? thanks
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#171 (comment)
mohdirfan87 commented May 6, 2016
also getting error is
Error:error: argument to ‘-x’ is missing (expected 1 value)
On Fri, May 6, 2016 at 10:32 AM, Mohd Irfan mohdirfan87@gmail.com wrote:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript <
repositories <
jcenter()
>
dependencies <
classpath ‘com.android.tools.build:gradle-experimental:0.7.0-alpha1’
>
allprojects <
repositories <
jcenter()
>
>
$project/app/build.gradle
apply plugin: ‘com.android.model.application’
model <
android <
compileSdkVersion = 23
buildToolsVersion = «23.0.2»
On Fri, May 6, 2016 at 10:13 AM, Gerry notifications@github.com wrote:
maybe share your 2 build.gradle files:
$project/build.gradle
$project/app/build.gradle
we could sync-up with that? thanks
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#171 (comment)
ggfan commented May 6, 2016 •
- Error:error: argument to ‘-x’ is missing (expected 1 value)
is because an earlier bug in plugin, change, inside $project/build.gradle
0.7.0-alpha1 to 0.7.0
it should be fixed. please try it out, thank you
ggfan commented May 6, 2016
also change stl = «stlport_shared» to
stl = «gnustl_static»
it should not matter now, but I was told gnustl_static/shared is the most stable ones right now
mohdirfan87 commented May 6, 2016
Thank you very much Gerry.
Problem gets resolved and gets .so file.
One more thing is that, Is it possible to debug ndk c\c++ file. in android
studio.
Thanks & Regards,
Irfan
On Fri, May 6, 2016 at 12:11 PM, Gerry notifications@github.com wrote:
also change stl = «stlport_shared» to
it should not matter now, but I was told gnustl_static/shared is the most
stable ones right now
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#171 (comment)
mohdirfan87 commented May 6, 2016
Hi Gerry,
Thank you
I have done both switch from GDB to LLDB and vice-versa
On Fri, May 6, 2016 at 12:49 PM, Mohd Irfan mohdirfan87@gmail.com wrote:
Thank you very much Gerry.
Problem gets resolved and gets .so file.
One more thing is that, Is it possible to debug ndk c\c++ file. in android
studio.
Thanks & Regards,
Irfan
On Fri, May 6, 2016 at 12:11 PM, Gerry notifications@github.com wrote:
also change stl = «stlport_shared» to
it should not matter now, but I was told gnustl_static/shared is the most
stable ones right now
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#171 (comment)
ggfan commented May 6, 2016 •
Great! debugging portion still works: you could trace code inside JNI — it is one of the major benefits to use android studio for native code development. In this codelab:
https://codelabs.developers.google.com/codelabs/android-studio-jni/index.html?index=..%2F..%2Findex#0
step 5, you could see how to trace code. The tracing from JAVA into jni code [step into a jni function from Java side ] should still work too.
mohdirfan87 commented May 7, 2016
Thank You Gerry, I really appreciate your kind help
On 6 May 2016 19:54, «Gerry» notifications@github.com wrote:
Great! debugging portion still works: you could trace code inside JNI: it
is one of the major benefits to use android studio for native code
development. In this codelab:
step 5, you could see how to trace code. The tracing from JAVA into jni
code [step into a jni function from Java side ] should still work too.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#171 (comment)
ggfan commented May 7, 2016 •
glad info here is useful to you :-). Come back to make it more useful when you have some free cycles too :-)! I will close this one for now, thanks!
mohdirfan87 commented May 9, 2016
Hi Gerry,
I want to link the c++ ‘s static library «libcurl.a» in android gradle. I
dont know the process .please help me .
On Sat, May 7, 2016 at 7:06 AM, Gerry notifications@github.com wrote:
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#171 (comment)
ggfan commented May 9, 2016
The lib was built by someone for android platform already? if that is the case, you will have one ( or more ) header files, and one libcurl.a file. Please look at the hello-libs sample, it is for this purpose. Basically 3 steps:
- you copy the libs & headers to somewhere on your local system
- In your application, tell gradle where your lib and header are with «PrebuiltLibraries»
- in your application, tell gradle that your jni code depends on the prebuiltLibraries with jni.dependencies<>
the sample is for shared lib, but you could follow gperf’s comment to get a working static lib case. One more thing, do not put your lib under main.jniLibs<> anymore since it is static lib, no need to pack into apk.
That should get it going. The other sample is inside branch «static-lib-showcase»: look at the «endless-tunnel» in that branch, the nativeactivity is used as a static lib in that sample.
please try it out and let us know how it goes: Lib management is important for any native proj development, hope it could work for you. thanks
Источник