Customized capability xml что это в телефоне
И customized-capability.xml, знаю что можно удалить и он воскреснет. Просто понадеялся, -Вдруг, кто смог.
P.s. Есть еще «галактика» от самсунг, там без этих xml.
Всего сообщений: 43
off Stiven King, М
ts 14 июл 2012 в 17:57
Замена бот анимации,шрифтов,звуков и прочей графики тут.
ДЛЯ ДЕЙСТВИЙ,ОПИСАННЫХ ТУТ НУЖЕН РУТ!
ВСЕ ДЕЙСТВИЯ ВЫ ПРОИЗВОДИТЕ НА СВОЙ СТРАХ И
РИСК И НИКТО КРОМЕ ВАС НЕ НЕСЕТ
ОТВЕТСТВЕННОСТЬ ЗА ПОРЧУ АППАРАТА
14 июл 2012 в 20:14 / Stiven King (5)

off Stiven King, М
ts 14 июл 2012 в 17:59
Карта файловой системы Андроид(х8)
«system/app» — хранятся все наши приложения телефона, можно удалить лишние,например :
backupandrestore.apk ( Резервное сохранение данных) 2 748kb
crazypenguin.apk (Игра) 580kb
datatrafficswitch.apk (Трафик данных) 65kb
facebook.apk (Клиент facebook) 2 016kb
geotag.apk (Геометки) 115kb
LearningClient.apk 15kb
Maps.apk (Карты) 4 651kb
Notes.apk (Заметки) 332kb
officelauncher.apk (Приложение офис) 16kb
officeupdateservice.apk (Тоже относится к офису) 129kb
OMAClientProvisioning.apk 160kb
OmaDatasyncService.apk 700kb
playnowappinstaller.apk (Плейнау)15kb
playnowclient.apk (Тоже относится к плейнау) 2 401kb
ReadyToRun.apk 218kb
roadsync.apk (Синхронизация) 3 210kb
SemcBrowser.apk (Родной браузер, заменяем на оперу) 1 357kb
SemcEmailSmall.apk 985kb
SemcMusic.apk (Родной плейер, заменяем на любой мультимедийный плеер) 975kb
SEMCSetupWizard(мастер настройки)apk 2 406kb
Stk.apk (инструменты simкарты) 82kb
Stopwatch.apk 43kb
Street.apk 199kb
Sync.apk 583kb
SyncWizard.apk 178kb
Timer.apk ( Секундомер) 116kb
TimescapePluginManager.apk (Клиент таймскайп) 112kb
TimeScapeProvider.apk (Тоже относится к таймскайп) 141kb
Timescape-smallui.apk (Тоже относится к таймскайп) 651kb
touchnote.apk (Приложение PostCard) 568kb
towerbloxx.apk (Игра) 1 486kb
trackid.apk (Трек ай ди) 2 450kb
usersupport.apk (Поддержка пользователя) 2 130kb
uWlopProvider.apk 307kb
Vending.apk (маркет) 1 708kb
wisepilot.apk (Навигатор) 6 457kb
YouTube.apk (Ютаб) 854kb
Перед удалением программ рекомендую сделать резервную копию данной папки system/app через My Phone Explorer или же через Root Explorer непосредственно на самом телефоне, но первый вариант проще. Для восстановления приложений копируем их через Root Explorer обратно и выставляем в разрешениях (Permissions) все галочки.
Удалив данные приложения вы увеличите память телефона, не намного, но увеличите.
После удаления так же рекомендуется очистить папку data/dalvik-cache и перезапустить телефон. Телефон будет загружаться долго, пока не создаст заново кэш установленных в телефон программ.
Никогда не удаляйте сервисы гугла типа гугл талк и прочие — не работает маркет!
Список приложений которые можно удалить, для каждого телефона свой
Если хотите заменить системную программу, например, вместо стандартного плеера или рабочего стола поставить свои,
Надо поставить разрешения(пермиссионс) такие же как для стандартных системных программ, иначе программа не запустится
14 июл 2012 в 19:59 / Scud B (9)

off Stiven King, М
ts 14 июл 2012 в 17:59
Например , удаляя стандартный рабочий стол SEhome на голаунчер, переименовываем апк голаунчера в имя стандартного рабочего стола, и заменяем стандартный. НЕ ЗАБУДЬТЕ ВЫСТАВИТЬ права иначе он не запустится и будете вы обозревать пустой рабочий стол без возможности куда-либо зайти,
и именно поэтому лучше перестраховаться и заранее скачать и установить альтернативный запасной стол, в случаях когда когда что-то не вышло, система автоматом запустит его
‘system/bin» — системные файлы телефона, сюда устанавливается xRecovery (разрешения все),
‘system/drm/DxDrm» — системные конфиги (тут нам делать нечего),
>’system/etc» — так же систмемные конфиги и настройки, (hw_config.sh отвечает за датчик освященности, галочки все),
‘system/fonts» — шрифты телефона, рабочими и подлежащими к замене DroidSans.ttf и DroidSans-Bold.ttf (разрешения rw-r-r—, можно выставить по примеру других шрифтов) остальные шрифты менять не советую, слетает система. Во время замены шрифта, точнее сразу же после неё, телефон может неожиданнно уйти в ребут, ничего страшного в этом нет. Если система все же не запустилась, перепрошейте ),
‘system/framework» — системные файлы, из них framework-res.apk тема телефона, замена в зависимости от версии ПО, на 0.47 и 0.24 аналогично, на 2.1.1.A.0.6 только через рекавери архивом update.zip.
‘system/lib» — системные файлы, тут так же ничего интересного,
‘system/media/audio» — стандартные рингтоны телефона, звонки, смс, будильник, хотите удалите, заметил лаг что после удаления свой никак не поставить, хотя быть может ошибка в другом,
‘system/media» — файл bootanimation.zip, изображение при запуске телефона после надписи Sony Ericsson, (разрешения можно не выставлять работает и так),
‘system/usr» — системный файлы и конфиги, в основном клавиатура, языки, t9, расположения кнопок и их действия,(system\usr\keylayout\shakira_keypad.kl отвечает за функционал кнопок, на 4pda имеется правленный с назначением отбоя на кнопку выключения, теперь сбросить вызов достаточно нажав кратко на кнопку выключения, так же и можно на сенсоре, там же присутствует программа для изменения действия кнопок),
‘system/xbin» — системный файл (тут делать нам нечего).
Все остальные папки, включая папки до system (кроме ‘data/dalvik-cache» о ней в самом верху) нам не интересны и в них нам делать совершенно нечего и нежелательно.
14 июл 2012 в 20:05 / Scud B (5)

off Stiven King, М
ts 14 июл 2012 в 18:07
Да,кстати,с другими системными программами типа стандартного плеера или навигатора не все так фатально, как с рабочим столом, вы можете спокойно запустить файломенеджер и переделать все заново
Также,в освобожденное место в системной папке для стандартных программ можно впихнуть свое ибо просто так это пустое место в общей памяти свободной для установки прог не появится
Зато туда вполне поместится навител,голаунчер,морт плеер и тд,смотрите не переборщите -занимать больше места чем есть не нужно(программы при установке туда могут и увеличистя немного)
14 июл 2012 в 20:28 / Stiven King (7)

off qiaf, М
22 июл 2012 в 01:17
Stiven King, из гугловских файлов именно гуглталк по моему самый безобидный. Я на НЕО его удалил без проблем. Маркет работает нормально. А вот если удалить стандартный плеер, не возможно будет ставить звонки на отдельные контакты. И с галереей не всё просто. В основном пользуюсь Квикпик. Он и быстрее и функциональнее. Удалил системную галерею. Но заметил что как не пытается Квикпик, без системной галереи не может установить фоновую картинку. Пришлось оставить их хоть ими и не пользуюсь на прямую.

off qiaf, М
22 июл 2012 в 01:31
И наверно (помоему) лучше всего всё это проделать с помощью »титана» В нём есть пункт » преобразовать в системный файл» и обратно. Процедура проводится автоматически и так же устанавливаются почти все разрешения. » почти » по тому, что после преобразования, заходя в системную папку я замечал, что не все галочки стоят точно как в системных. Но не смотря на это проги работали нормально. На всякий случай галочки всё таки ставил как на системных файлах, вручную. С помощью »рутэксплорер»

off Ghost, М
22 июл 2012 в 14:33
не всё просто и с титаниумом. преобразовал ГО лончер в системное приложение, через время пришлось сделать обратное преобразование, чтоб обновить его, так вот, вернулся он из системы без настроек, то есть в первозданном голом виде. а с помощью рэ, всё в порядке.

off Shavoro, М
20 авг 2012 в 15:39
Короче прошился на кастомную прошивку, радио не переключает звук на динамик, просто в ушах включается моно. Может кно знает. какой файл за это отвечает, и где он лежит, попробую поправить.

off Андрей, М
17 окт 2012 в 19:55
Нашёл, как избавиться от назойливого значка «передача данных», причём избавиться реально, а не просто сделать его прозрачным.
Подозреваю, что будет работать для всех Xperia, а возможно — и не только для них.
Нужен root!
Перемонтируем /system как RW (Root Explorer это делает).
Открываем файлик
В принципе — настройки самоочевидные. «false» — выключено, «true» — включено (в данном контексте).
Настраивать нужно то, что перед «» (а не где «runtume=»).
Первая настройка отвечает за то, можно ли кнопкой «Очистить» убрать значок трафика данных.

off Stiven King, М
ts 17 окт 2012 в 20:44
Андрей, Круто! В том файле много до чего докопаться можно

off nea, М
10 янв 2013 в 02:55
установил рут, что-то удалил. появились вопросы.
Как избавиться от таких вещей как плейнау, опера, сонихотстар? (Этот софт после хард ресет всеравно появляется. Хотя справедливости ради нужно заметить, что он без рута позволяет себя сразу удалить.)
Можно ли избавиться от Маркет, поиск, голосовой поиск, улицы, навигация (проще говоря ютуб и мепс оставить, остальной гугл софт выпиилить)? Простое удаление как с фейсбуком, твитером не помогает. (тело ругается на что-то).
Как и чем менять стандартный софт на свой? Чтобы после хардресет пользовательские вещи ужу стояли на месте.

off nea, М
10 янв 2013 в 19:03
И еше, я так понял если что-то заменять (из сис/пр на пользовательские), например, квадрапоп.апк меняю на свой ххх.апк (которой может и не игра вовсе), далее хард ресет с полной очисткой. И видем под именем «квадропоп» свои ххх.апк. А есть ли иной способ?
Цель такая после долгого и активного использования решаю «х/р» все поправить. И вуаля, без бекапа, и архивов все что нужно есть, что не нужно нет. Остается только настроить.
Customized capability xml что это в телефоне


Введение:
В файловой системе любого смартфона на Android есть файл build.prop, который лежит по пути /system/build.prop.Само собой для доступа к этому файлу нам нужны root-права!
В данном файле хранятся данные о прошивке и настройки смартфона, которые применяются после включения аппарата.
Ниже я приведу твики, которые позволяют немного улучшить производительность нашего гуглофона, ну или по крайней мере сделать его работу более «комфортной».
Предупреждаю!Все вы делаете на свой страх и риск!За работоспособность твиков не ручаюсь ибо каждый аппарат индивидуален. Я проверял на своем Acer E400(Android 2.1)
Модернизация:
Для начала делаем бекап и другие действия для сохранения нервов в случае неудачного редактирования файла.
Далее открываем файл и начинаем его редактирование.Если описанных ниже строчек нет в вашем файле,то просто пишите их в конец файла.
Поехали(вместо звездочки * пишем нужное нам значение):
1)debug.sf.hw=*. Эта строчка отвечает за Аппаратное ускорение. Оно нужно для ускорения графического интерфейса. Значение 1 его активирует. Значение 0 его выключает.Пробуйте, проверяйте и вам воздастся.Лично у меня возникает рябь в графике,поэтому оффнул его.
2)wifi.supplicant_scan_interval=***. Эта строчка отвечает за интервал поиска Wi-Fi сетей. По умолчанию стоит 20. Значение измеряется в секундах. Это означает, что у нас стоит 20 сек. Советуется для экономии батареи поставить значение 180-200.
3)pm.sleep_mode=1
ro.ril.disable.power.collapse=0 –иностранные коллеги также советуют прописать эти 2 строчки для экономии заряда батареи.
4)dalvik.vm.heapsize=*m. Эта строчка устанавливает значение heapsize. Смысл в том, что в большинстве прошивок установлено малое значение памяти для использования приложением, программа расширяет это значение, тем самым увеличивая производительность и делая устройство более стабильным.
Большое значение лучше не ставить, хотя можно поэкспериментировать.
Лучший вариант — это 32m. Его кстати и рекомендуют.
5)dalvik.vm.execution-mode=int:***. Эта строчка отвечает за JIT. Значение jit включает его, а значение fast выключает.Технология JIT также служит для увеличения производительности аппарата.Еще раз напомню-может работать не у всех.
6)windowsmgr.max_events_per_sec=60. Делает интерфейс более гибким и плавным. Этой строчки изначально нет, нужно дописывать самому.Можете поиграться со значениями и выбрать подходящее.
7)ro.media.enc.jpeg.quality=100-повышаем качество jpg.А если быть более точным,то изменяем степень сжатия фоток.При параметре 100 размер фоток вырастет примерно в 2 раза.
8)ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000 – повышаем качество аудио- и видеозаписи камеры.Опять же-выше заложенных аппаратных возможностей не прыгнешь,но зато достигнешь потолка)
9)debug.sf.nobootanimation=1 – отключаем анимацию при включении.Немного ускоряет включение аппарата.
10)
ro.lge.proximity.delay=25
mot.proximity.delay=25 – отключает появляющееся черное окошко после окончания звонка.Меня реально раздражало и это лично мне помогло)))
11)
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960 – меняем размер буфера TCP-говоря проще, немного улучшаем интернет-соединение.Будет полезным для тех, у кого медленный инет.
12)
ro.ril.hsxpa=2
ro.ril.gprsclass=10
ro.ril.hep=1
ro.ril.enable.dtm=1
ro.ril.hsdpa.category=10
ro.ril.enable.a53=1
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=5 –твики для улучшения приема 3G-сигнала.Сам не проверял-оставляю на вас.
13)Точное предназначение следующих строчек я не знаю,поэтому просто приведу список.Те, кто знает что они делают лучше прошу отписаться мне:
ro.config.hw_menu_unlockscreen=false
persist.sys.use_dithering=0
persist.sys.purgeable_assets=1
dalvik.vm.dexopt-flags=m=y
ro.mot.eri.losalert.delay=1000
ro.kernel.android.checkjni=0
persist.adb.notify=0
ro.HOME_APP_ADJ=1
p.s.Надеюсь кому-то будет полезным, но замечу, что если у вас стоит кастомная прошивка, то скорее всего некоторые твики уже включены в прошивке.

— скачать CWM recovery, CyanogenMod for Gio Beta CyanogenMod for Gio RC2
— копировать все на SD-карту
— загрузиться в рекавери
— выбрать Install zip from sdcard — выбрать файл px-cwm.zip — выбрать Yes
— выключить смартфон, снова загрузиться в рекавери
— сделать backup текущей системы: выбрать backup and restore — Backup. Дождаться создания бэкапа.
— выполнить очистку, выбрав wipe data/factory reset
— выбрать Install zip — выбрать файл px-cm7-KANG.zip — выбрать Yes
— выбрать Install zip — выбрать файл px-cm7-KANG-RC-2.0.zip — выбрать Yes
— Перезагрузить смартфон
Archos 101 G9 FS
Archos 101 G9 HDS
Archos 101 Internet Tablet
Archos 70 Internet Tablet FS
Archos 80 G9 FS
Archos 80 G9 HDS
Barnes & Noble Nook Color
Enspert ESP-E301
GoClever TAB S73
Google Nexus S
Google Nexus S 4G
LG Optimus 3D
LG Optimus Black
LG Optimus Mach
Meizu M9
Motorola BRAVO
Motorola CHARM
Motorola CLIQ 2
Motorola Defy
Motorola DROID
Motorola DROID 2
Motorola DROID 2 Global
Motorola DROID 2 R2-D2
Motorola DROID 3
Motorola DROID BIONIC
Motorola DROID PRO
Motorola DROID X
Motorola Flipout
Motorola FLIPSIDE
Motorola ME811
Motorola Milestone
Motorola Milestone 2
Motorola Milestone XT701
Motorola Milestone XT711
Motorola Milestone XT720
Motorola MOTOROI
Motorola PRO
Motorola XPRT
Motorola XT800
Motorola XT806
Motorola XT860 4G
Motorola XT883
RoverPad Air S70
Samsung Galaxy S Wi-Fi 4.0
Samsung Galaxy S Wi-Fi 5.0
Samsung Galaxy Tab
Samsung Galaxy Tab CDMA
Samsung Galaxy Tab Wi-Fi
Samsung GT-I9000 Galaxy S
Samsung GT-I9003 Galaxy S scLCD
Samsung GT-I9010 Giorgio Armani
Samsung SCH-I500 Galaxy S Fascinate
Samsung SCH-I500 Galaxy S Mesmerize
Samsung SCH-I500 Galaxy S Showcase
Samsung SCH-I520 Droid Charge
Samsung SCH-R910 Galaxy Indulge
Samsung SCH-W899
Samsung SGH-i897 Captivate
Samsung SGH-i997 Infuse 4G
Samsung SGH-T959 Vibrant
Samsung SPH-D700 Epic 4G
T-Mobile Sidekick 4G
Acer beTouch E140
Acer beTouch E210
Acer beTouch E400
Acer ICONIA Smart
Acer Liquid
Acer Liquid e
Acer Liquid E Ferrari SE
Acer Liquid mini
Acer Liquid mt
Acer Stream
Alcatel OT-906
Alcatel OT-908
Alcatel OT-980
Alcatel OT-990
Asus Eee Pad MeMO
Beeline M2
Casio G’zOne Commando
Casio G’zOne IS11CA
Dell Smoke
Dell Streak
Dell Venue
Dopod A6288
Dopod Dragon
Garmin-Asus A10
Garmin-Asus A50
GeeksPhone Zero
Gigabyte GSmart G1305 Codfish
Google Nexus One
HighScreen Cosmo
HighScreen Cosmo DUO
HighScreen PP5420
HTC Aria
HTC ChaCha
HTC Desire
HTC Desire HD
HTC Desire S
HTC Desire Z
HTC Dream
HTC Droid Incredible
HTC EVO 3D
HTC EVO 4G
HTC EVO Shift 4G
HTC EVO View 4G
HTC Flyer
HTC Gratia
HTC Hero
HTC Incredible S
HTC Inspire 4G
HTC Legend
HTC Merge
HTC Panache
HTC Salsa
HTC Sensation
HTC Sensation 4G
HTC Thunderbolt
HTC Wildfire S
Huawei Ideos S7 Slim
Huawei MediaPad
Huawei SmaKit S7
Huawei U8110
Huawei U8220
Huawei U8230
Huawei U8650 Sonic
Huawei U8800 Ideos X5
Huawei U8800H Ideos X5
Huawei U8850 Vision
Huawei U9000 Ideos X6
INQ Cloud Touch
Kyocera Echo M9300
Kyocera Zio M6000
Lenovo LePhone
LG Ally
LG Apex
LG Genesis
LG GT540 Optimus
LG GW620
LG LU2300
LG Optimus Chat
LG Optimus Chic
LG Optimus M
LG Optimus Me
LG Optimus Net
LG Optimus One
LG Optimus Pro
LG Optimus S
LG Revolution
LG SU950
Linx Commtiva N700
Motorola BACKFLIP
Motorola CLIQ
Motorola CLIQ XT
Motorola Devour
Motorola DEXT
Motorola QUENCH
Motorola QUENCH XT3
Motorola QUENCH XT5
Motorola TRIUMPH
Motorola XT316
Motorola XT531
МТС 1055
MTC 916
MTC 945 ГЛОНАСС
MTC 955
NEC Medias WP N-06C
OliveSmart V-S300
Orange Boston
Orange San Francisco
Pantech IM-A600S Sirius
Pantech IM-A760S Vega Racer
Samsung GT-B7510 Galaxy Pro
Samsung GT-I5500 Galaxy 550
Samsung GT-I7500 Galaxy
Samsung GT-I9001 Galaxy S Plus
Samsung GT-S5570 Galaxy Mini
Samsung GT-S5660 Galaxy Gio
Samsung GT-S5670 Galaxy Fit
Samsung GT-S5830 Galaxy Ace
Samsung SGH-T499 Dart
Samsung SGH-T939 Behold II
Samsung SPH-M580 Replenish
Samsung SPH-M820 Galaxy Prevail
Sanyo ZIO M6000
Sharp AQUOS Phone IS11H
Sharp AQUOS Phone SH-12C
Sharp SH7218U
Sony Ericsson W8 Walkman
Sony Ericsson XPERIA acro
Sony Ericsson XPERIA active
Sony Ericsson XPERIA arc
Sony Ericsson XPERIA mini
Sony Ericsson XPERIA mini pro
Sony Ericsson XPERIA neo
Sony Ericsson XPERIA PLAY
Sony Ericsson XPERIA pro
Sony Ericsson XPERIA ray
Sony Ericsson XPERIA X10
Sony Ericsson XPERIA X10 Mini
Sony Ericsson XPERIA X10 Mini Pro
Sony Ericsson XPERIA X10a
Sony Ericsson XPERIA X8
Synrgic Dreambook W7
T-Mobile G1
T-Mobile G2
T-Mobile G2 Touch
T-Mobile Garminfone
T-Mobile Move
T-Mobile myTouch 3G
T-Mobile myTouch 3G Fender LE
T-Mobile myTouch 3G Slide
T-Mobile myTouch 4G
T-Mobile myTouch 4G Slide
T-Mobile Pulse
Toshiba REGZA Phone T-01C
ViewSonic V350
ViewSonic ViewPad 4
ViewSonic ViewPad 7
ZTE Blade
ZTE Libra
ZTE Light
ZTE Light Plus
ZTE Link
ZTE Penguin
ZTE Racer
ZTE Skate
3Q Qoo! Surf TS1003T
3Q Qoo! Surf TS1004T
3Q Qoo! Surf TS9703T
Acer ICONIA TAB A100
Acer ICONIA TAB A101
Acer ICONIA TAB A500
Acer ICONIA TAB A501
Advent Vega
Asus Eee Pad Slider
Asus Eee Pad Transformer
Dell Streak 10 Pro
Dell Streak 7
Dell Streak 7 Wi-Fi
eLocity A10
eLocity A7
Lenovo IdeaPad K1
Lenovo ThinkPad Tablet
LG Optimus 2X
LG Optimus Pad
Malata ZPad T11
Malata ZPad T2
Malata ZPad T8
Motorola ATRIX
Motorola ATRIX 4G
Motorola DROID X2
Motorola MT870
Motorola PHOTON 4G
Motorola XOOM
Motorola XT882
Notion Ink Adam
Olivetti OliPad 100
Onkyo TA117C1
Onkyo TA117C3
Packard Bell Liberty Tab
Point of View Mobii TEGRA Tablet 10.2
Samsung Galaxy Tab 10.1
Samsung Galaxy Tab 10.1 Wi-Fi
Samsung Galaxy Tab 10.1v
Samsung GT-I9103 Galaxy R
Sharp Galapagos A01SH
Starway Mid 10
Starway Mid 7
T-Mobile G2x
Toshiba Folio 100
Toshiba THRiVE
ViewSonic G Tablet
ViewSonic ViewPad 10s
ViewSonic ViewPad 7x
Что бы сделать hard reset на SamsungGalaxyNexusнеобходимо сделать следующее:
1. Выключаем телефон и входим в режим bootloader (зажимаем VolumeUp + VolupeDown + Power);
2. В bootloader кнопками громкости выбираем пункт recovery и подтверждаем свой выбор клавишей питания;
3. После появления зелёного робота с восклицательным знаком зажимаем Volume Up + Power, тем самым попадаем в стоковый recovery;
4. В recovery клавишами громкости выбираем «wipe data (factory reset)». Подтверждаем свои действия кнопкой Power.
При процедуре сброса настроек все пользовательские данные будут удалены!
В данном файле указана абсолютно вся информация об устройстве.
Поэтому, этот файл предназначен для идентификации телефона при подключении его к другим устройствам, например, к таким как ПК и др., определения совместимости файлов по значениям указанным в нем и т.д. Редактирование и даже удаление файла default-capability.xml, расположенного на карте памяти ни к чему ни привело, т.к. он автоматически генерируется системой и тут же восстанавливается. Файл default-capability.xml расположенный в памяти устройства редактировать невозможно, да и не стоит, наверное.
Это действие может помочь при частых зависаниях смартфона, некорректной работе приложений и т.д.
Выключаем устройство. Вынимаем аккумулятор на 10 секунд и вставляем обратно.
Далее нажимаем и удерживаем кнопку уменьшения звука и кнопку питания, удерживая их до включения устройства.
Появится меню с разделами: Fastboot, Recovery, Clear Storage и Simlock. Выбираем Clear Storage, нажимая кнопку уменьшения звука. Подтверждаем выбор нажатием на кнопку питания. Нажимаем кнопку увеличения звука, чтобы продолжить или уменьшения звука — для отмены. Все пользовательские данные будут удалены.
Так же, сбросить установки можно из меню смартфона : Menu>Settings > SD & Phone Storage > Factory Data Reset > Reset Phone.
Помните, что при процедуре полной перезагрузки все пользовательские данные будут утеряны!
Очень часто пользователи смартфонов на ОС Android сталкиваются с проблемой недостатка памяти.
В кастомных прошивках и начиная с версии Android 2.2 есть возможность переноса приложений из памяти телефона на карту памяти. И единственный выход в данной ситуации, это удалить ненужные системные приложения (только аккуратно). Сделать это можно с
правами Root и программой Titanium backup, которая не только делает резервные копии, но и удаляет любое системное приложение. Но удалять системные данные необходимо очень аккуратно, например, если удалить приложение Google Talk, то можно лишиться доступа к Market и своему аккаунту Google.
Все действия Вы выполняете на свой страх и риск!
Для того, чтобы получить права Суперпользователя, нам понадибится Sony Ericsson PC Companion последней версии и
программа SuperOneClick версии 1.5. Скачайте и установите программу Sony Ericsson PC Companion, если программа потребует обновиться-обновите её. Затем установите SuperOneClick и обязательно перезагрузите компьютер. После перезагрузки выключите Sony Ericsson PC Companion (чтобы не было значка в нижнем правом углу экрана), подключите телефон в режиме отладки и запустите SuperOneClick. Если все пойдет нормально, то через пол-минуты Ваш девайс будет рутованным. После завершения операции появится надпись device is rooted. Отключите телефон от компьютера. В подтверждение данной операции в меню смартфона должно появиться приложение «Суперпользователь».
При процедуре жесткой перезагрузки, все данные пользователя, а так же установленные приложения будут удалены
из памяти смартфона. Обязательно сделайте резервную копию данных и файлов, которые вы хотите сохранить, прежде чем сделать сброс настроек.
1. На главном экране нажмите «Приложения» и выберите пункт «Настройка».
2. Нажмите «SD и память телефона».
3. Далее нажмите «Сброс к заводским установкам».
4. Затем нажмите «Сброс телефона».
5. Для подтверждения выбранных действий Нажмите «Стереть все».

Введение:
В файловой системе любого смартфона на Android есть файл build.prop, который лежит по пути /system/build.prop.Само собой для доступа к этому файлу нам нужны root-права!
В данном файле хранятся данные о прошивке и настройки смартфона, которые применяются после включения аппарата.
Ниже я приведу твики, которые позволяют немного улучшить производительность нашего гуглофона, ну или по крайней мере сделать его работу более «комфортной».
Предупреждаю!Все вы делаете на свой страх и риск!За работоспособность твиков не ручаюсь ибо каждый аппарат индивидуален. Я проверял на своем Acer E400(Android 2.1)
Модернизация:
Для начала делаем бекап и другие действия для сохранения нервов в случае неудачного редактирования файла.
Далее открываем файл и начинаем его редактирование.Если описанных ниже строчек нет в вашем файле,то просто пишите их в конец файла.
Поехали(вместо звездочки * пишем нужное нам значение):
1)debug.sf.hw=*. Эта строчка отвечает за Аппаратное ускорение. Оно нужно для ускорения графического интерфейса. Значение 1 его активирует. Значение 0 его выключает.Пробуйте, проверяйте и вам воздастся.Лично у меня возникает рябь в графике,поэтому оффнул его.
2)wifi.supplicant_scan_interval=***. Эта строчка отвечает за интервал поиска Wi-Fi сетей. По умолчанию стоит 20. Значение измеряется в секундах. Это означает, что у нас стоит 20 сек. Советуется для экономии батареи поставить значение 180-200.
3)pm.sleep_mode=1
ro.ril.disable.power.collapse=0 –иностранные коллеги также советуют прописать эти 2 строчки для экономии заряда батареи.
4)dalvik.vm.heapsize=*m. Эта строчка устанавливает значение heapsize. Смысл в том, что в большинстве прошивок установлено малое значение памяти для использования приложением, программа расширяет это значение, тем самым увеличивая производительность и делая устройство более стабильным.
Большое значение лучше не ставить, хотя можно поэкспериментировать.
Лучший вариант — это 32m. Его кстати и рекомендуют.
5)dalvik.vm.execution-mode=int:***. Эта строчка отвечает за JIT. Значение jit включает его, а значение fast выключает.Технология JIT также служит для увеличения производительности аппарата.Еще раз напомню-может работать не у всех.
6)windowsmgr.max_events_per_sec=60. Делает интерфейс более гибким и плавным. Этой строчки изначально нет, нужно дописывать самому.Можете поиграться со значениями и выбрать подходящее.
7)ro.media.enc.jpeg.quality=100-повышаем качество jpg.А если быть более точным,то изменяем степень сжатия фоток.При параметре 100 размер фоток вырастет примерно в 2 раза.
8)ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000 – повышаем качество аудио- и видеозаписи камеры.Опять же-выше заложенных аппаратных возможностей не прыгнешь,но зато достигнешь потолка)
9)debug.sf.nobootanimation=1 – отключаем анимацию при включении.Немного ускоряет включение аппарата.
10)
ro.lge.proximity.delay=25
mot.proximity.delay=25 – отключает появляющееся черное окошко после окончания звонка.Меня реально раздражало и это лично мне помогло)))
11)
net.tcp.buffersize.default=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,16384,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,16384,256960 – меняем размер буфера TCP-говоря проще, немного улучшаем интернет-соединение.Будет полезным для тех, у кого медленный инет.
12)
ro.ril.hsxpa=2
ro.ril.gprsclass=10
ro.ril.hep=1
ro.ril.enable.dtm=1
ro.ril.hsdpa.category=10
ro.ril.enable.a53=1
ro.ril.enable.3g.prefix=1
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=5 –твики для улучшения приема 3G-сигнала.Сам не проверял-оставляю на вас.
13)Точное предназначение следующих строчек я не знаю,поэтому просто приведу список.Те, кто знает что они делают лучше прошу отписаться мне:
ro.config.hw_menu_unlockscreen=false
persist.sys.use_dithering=0
persist.sys.purgeable_assets=1
dalvik.vm.dexopt-flags=m=y
ro.mot.eri.losalert.delay=1000
ro.kernel.android.checkjni=0
persist.adb.notify=0
ro.HOME_APP_ADJ=1
p.s.Надеюсь кому-то будет полезным, но замечу, что если у вас стоит кастомная прошивка, то скорее всего некоторые твики уже включены в прошивке.
Пользователи Linux систем уже знакомы с таким понятием, если проводить аналоги с Windows, то это «права администратора». Права ROOT можно получить разными способами, для каждого устройства есть свой собственный метод. Эти права нужны в первую очередь для получения полного доступа к операционной системе Android. Имея эти права, вы сможете изменять различные системные файлы, удалять стандартный софт, менять темы оформления, картинку загрузчика, запускать команды из консоли и многое другое. Без ROOTа невозможен запуск ряда приложений, которым необходимы права суперпользователя, чтобы вносить изменения в саму систему. Так же, без него невозможно сделать резервное копирование всей системы, с последующим восстановлением.
Если вам понадобилось изменить системные файлы или папки, то вам нужно, в первую очередь, получить Root права, не имея их, вы не сможете вносить изменения в систему. Проще всего, изменения можно сделать с помощью специального файлового менеджера, к примеру, Root Explorer. При первом запуске, программа попросит вас, предоставить ей права суперпользователя, если этого не произошло, значит, вы не сделали Root. Запустив приложение, ищем нужный вам файл и жмем в правом верхнем углу, на кнопку R/W. Теперь мы можем удалять, заменять и редактировать файлы. Главное не забыть в новом файле, выставить такие же разрешения, какие были и в старом. Поэтому перед любыми операциями, нужно узнать какие были разрешения у оригинала. Чтобы узнать, какие у него разрешения, достаточно сделать долгий тап по файлу или папке.
Данный топик посвящен пользователям ОС Android а в частности решению насущной проблемы с нехваткой внутренней памяти устройства.
А самое главное что действия описанные в статье не требуют получения Root прав, что является отпугивающим фактором для большинства рядовых пользователей, так как рутованный Андроид лишается гарантии и получения официальных обновлений. Всех кто заинтригован прошу под кат.
Наверное всем пользователям гуглооси Android известна проблема когда в статус баре появляется уведомление информирующее Вас о исчерпании внутренней памяти устройства и предлагает либо удалить временные файлы приложений либо удалить сами приложения. А если у вас Android версии 2.2 и выше то предлагает переместить приложения на карту. Но вот беда, приложения то перемещаются не все, а лишь те, авторы которых благословили их на это. Что же делать спросите вы, если все приложения нужны, память исчерпана а авторы не сделали возможность перемещения на карту? Об этом расскажу далее.
Шаг первый
Установка HTC Sync . Всю можно не ставить, достаточно только ее компонента HTC Driver Installer .
Шаг второй
Установка Android SDK . Инсталлятор берем Тут и устанавливаем в корень системного диска например: C:\android-sdk-windows.
Далее создаем новую системную переменную. Для этого идем в Мой компьютер-Свойства-Дополнительные параметры системы, нажимаем переменные среды, и создаем новую системную переменную. Имя переменной: adb значение переменной: C:\android-sdk-windows\tools.
Затем запускаем SDK Manager из папки Android-sdk-windows. Программа проверит наличие нужных компонентов и предложит установить недостающие, на это смело отвечайте отказом. Если выдает ошибку то заходим в Tools и ставим две галочки в Misc. На этом подготовка софта закончена, переходим к самому интересному.
Шаг третий
Активация кнопки «Переместить на SD-карту» . Подключаем телефон кабелем к ПК и выбираем режим синхронизации. На ПК запускаем командную строку и в ней набираем: C:\android-sdk-windows\platform-tools\adb shell нажимем enter, должен появиться значок $.
Далее набираем следующее: pm setInstallLocation 2 (Регистр важен!). В ответ должна появиться строчка Pm set InstallLocation 2 и символ $.
После этого отключаем аппарат от ПК и перезагружаем его. После перезагрузки заходим в настройки-приложения-управление приложениями, выбрать приложение и убедиться что кнопка Переместить на SD-карту стала активной. Теперь по умолчанию все приложения будут ставиться на карту. Но не забываем что при подключении телефона к ПК в режиме «Дисковый накопитель» карта размонтируется и приложения находящиеся на ней приостановятся. Так что приложения которые висят в фоне (Виджеты, живые обои, мессенджеры) рекомендуется после установки переместить в телефон.
И еще: на всякий случай атрибуты команды pm SetInstallLocation:
pm setInstallLocation 0 — автовыбор места установки приложений.
pm setInstallLocation 1 — установка во внутреннюю память («в телефон»)
pm setInstallLocation 2 — установка во внешнюю память («на карту»)
На этом все, удачных перемещений и спасибо за внимание.
ChatGPT написал Android-приложение

Вчера чат-бот с искусственным интеллектом ChatGPT написал за меня Android-приложение! Оно очень примитивное, но компилируется, запускается и работает. Но как он это сделал? С первой попытки или пришлось долго сидеть и мучить его?
Кратко про ChatGPT
В ноябре 2022 года компания OpenAI запустила новый чат-бот с искусственным интеллектом ChatGPT, который уже успел наделать немало шума. Пока главные мировые СМИ рассуждают, заменит ли чат-бот с AI людей (The Guardian, New York Times), ChatGPT уже пишет качественные эссе и сценарии ситкомов. Ну и наверное все, кто заходит на StackOverflow, уже успели увидеть баннер о том, что ответы от ChatGPT запрещены на платформе.
Я решил узнать, сможет ли ChatGPT написать простое Android-приложение. Я знаю, что есть модель OpenAI Codex и проект Copilot, которые заточены именно на помощь разработчикам писать код. Но мне интересно, сможет ли именно чат-бот ChatGPT написать приложение в режиме реального общения в чате.
Придумываем задание для ChatGPT
Я выбрал такое задание: сделать приложение, которое выводит на экран 50 популярных акций фондового рынка и их цены.
И решил придерживаться таких условий:
- лично я не пишу ни строчки кода;
- всё, что я делаю, это копи-паст того, что мне скажет чат-бот;
- я выполняю различные настройки по указанию чат-бота (пройти Wizard в Android Studio, получить API ключ в сервисе и т.д.);
- если появляются любые ошибки или баги, я спрашиваю у чат-бота и исправляю так, как он ответит.
Чего я хочу добиться:
- код должен компилироваться;
- приложение должно запускаться;
- в идеале приложение должно отобразить на экране 50 популярных акций и их цены.
Как думаете, получится? Небольшой спойлер — вот что получилось:
Всё ли сделал бот на 100%? Пришлось ли мне написать самому код? Давайте посмотрим!
Формат
Проект на GitHub, это то самое Android-приложение, которое написал ChatGPT.
Весь разговор с ChatGPT у меня занял 78 вопросов и ответов. По ссылке вы можете прочитать полный разговор со всеми ответами и примерами кода, который дал ChatGPT. В статье я буду сокращать, рассказывать про наиболее интересные, важные и удивительные, на мой взгляд, моменты. Ответы буду приводить не всегда полные, потому что зачастую они были объёмные.
Настройка, первые шаги
Итак, я задал свой первый вопрос:
Q: I want to write an Android app that shows me 50 stock prices as a list from Yahoo API. How can I do it?
В этом вопросе я сразу сказал про Yahoo API, потому что это единственное API по акциям, о котором я что-либо слышал. В итоге так получилось даже интересней, потому что получить API ключ из ответа бота у меня не вышло и позже я попросил другой API сервис. Но первый ответ меня уже удивил:
A: To retrieve stock prices from Yahoo API and display them in an Android app, you will need to perform the following steps:
— Obtain an API key from Yahoo Finance API. You can sign up [. ]
— Set up an Android development environment. You will need to install [. ]
— Create a new Android project in Android Studio. This will give you [. ]
— Add the necessary dependencies to your app. You will need to add the following dependencies to your app’s build.gradle file:
implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
— Create a Java interface for the Yahoo Finance API. This interface will define [. ]
— Use Retrofit to make HTTP requests to [. ]
— Parse the response from the API and display [. ]
[. ]
В первом же ответе ChatGPT расписал все шаги, которые нужно сделать. Некоторые шаги были очень общие, а некоторые очень конкретные, как, например, добавить в зависимость Retrofit.
После того как у меня не вышло получить API ключ в Yahoo по ссылке, которую он дал, я спросил:
Q: What public and free API I can use to get stocks price?
Одним из предложенных вариантов был Alpha Vantage, его я и выбрал. ChatGPT дал мне ссылку, где получить API ключ и по этой ссылке я получил ключ.
Дальше я старался всегда идти последовательно. Если бот давал мне список шагов, то я задавал вопросы по каждому шагу. В первом ответе были шаги про создание пустого проекта и Java Interface для API, эти вопросы я и задал.
Q: How can I create a new Android project in Android Studio with a basic structure?
A: [. ]Q: How should I start to build an android app to get stock prices from alphavantage and show it in the app?
A: [. ]Q: How to create a Java interface for the Alpha Vantage API?
A: [. ]
Java и Kotlin
На последний вопрос он рассказал, как создать Java interface и дал 3 куска кода:
public interface AlphaVantageAPI < String BASE_URL = "https://www.alphavantage.co/"; String API_KEY = "YOUR_API_KEY_HERE"; @GET("query") CallgetStockPrices(@Query("apikey") String apiKey, @Query("symbol") String symbol); >
Retrofit retrofit = new Retrofit.Builder() .baseUrl(AlphaVantageAPI.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build(); AlphaVantageAPI alphaVantageAPI = retrofit.create(AlphaVantageAPI.class);
Call call = alphaVantageAPI.getStockPrices(AlphaVantageAPI.API_KEY, "AAPL"); call.enqueue(new Callback() < @Override public void onResponse(Callcall, Response response) < // Parse the response and display the stock prices in the app >@Override public void onFailure(Call call, Throwable t) < // Handle the failure >>);
Я человек современный и знаю, что есть Kotlin, поэтому спросил:
Q: Can you repeat the same in Kotlin?
A: Certainly. Here is an example of how you can create a Kotlin interface for the Alpha Vantage API to retrieve stock prices: […]
На моё удивление, бот повторил все 3 куска кода на Kotlin. Возможно, для знатоков AI это обычное дело, но я был впечатлён в этом моменте.
Я добросовестно скопипастил всё, что чат-бот мне написал. И вижу, что есть неизвестные классы.

Здесь и во всех будущих подобных ситуациях я прямо спрашивал:
Q: Can you show me StockResponse class?
A: Here is an example of a StockResponse class that you can use to parse the response from the Alpha Vantage API:
class StockResponse < @SerializedName("Global Quote") @Expose private val stock: Stock? = null fun getStock(): Stock < return stock!! >>
This StockResponse class has a single field called stock, which is a Stock object that contains the stock price and other information about the stock. [. ]
Класс Stock он тоже привёл.
Когда бот просто скидывал мне кусок кода (например, создание Retrofit’а), то я спрашивал, куда мне его положить:
Q: Where should I put the code with creating retrofit and calling getStockPrices?
В ответ обычно получал распечатку кода MainActivity, где бот заботливо кладёт весь код в onCreate методе. Ну ок, ничего страшного, у нас цель — сделать работающее приложение!
Иногда бот давал код опять на Java и приходилось его просить:
Q: Can you show me the same code in Kotlin?
И он отлично переводил всё то же самое на Kotlin. В этом моменте меня начало поражать, как бот хранит в себе контекст. Он помнит, что за приложение мы пишем, какие там были классы ранее (StockResponse, Stock), какое API мы выбрали, как что называется и т.д.
Фиксим ошибочки
Но не всегда код был такой «идеальный». Иногда бот давал код, где есть обращение к приватным методам или дублирование полей. По каждой проблеме я задавал вопрос и получал фикс, например:
Q: Why do I have an error «Cannot access ‘stock’: it is private in ‘StockResponse'»?
A: The error «Cannot access ‘stock’: it is private in ‘StockResponse'» means that you are trying to access a private field of the StockResponse class from outside of the class, [. ]
To fix this error, you will need to make the stock field visible to other classes by removing the private keyword [. ]
Here is an example of how you can modify the StockResponse class to make the stock field visible to other classes:
class StockResponse
Иногда приходилось переспрашивать и немного менять формулировку, но обычно это обходилось одним уточнением.
Далее я пошёл спрашивать у бота про остальные ошибки компиляции: неизвестные ресурсы, неизвестные вьюхи и т.д.
Q: Ok. But what is «R.id.text_view»? I got error: «Unresolved reference: text_view». Can you fix it?
A: [. ]Q: I already have a TextView in my activity_main.xml generated by default. Should I replace it?
A: [. ]Q: Can you show me show my activity_main.xml should look like?
A: [. ]Q: But I still get error «Unresolved reference: text_view» in my MainActivity at «textView = findViewById(R.id.text_view)» line. Can you fix it?
A: [. ]
На данном этапе я на все вопросы получал отличные ответы, которые просто копипастил в проект.
Компилируется
Поправив все ошибки, я дошёл до момента, когда проект начал успешно собираться. Делаем первый запуск и получаем:
java.lang.SecurityException: Permission denied (missing INTERNET permission?)
Решаем проблемы с помощью бота:
Q: When I try to launch the app It crashes and I see the error «java.lang.SecurityException: Permission denied (missing INTERNET permission?)». How to fix it?
После этого обязательно получаем NPE, тоже решаем с помощью бота вопросом:
Q: I have crash with error «java.lang.NullPointerException» on line «val price = stock. price». How can I fix it?
Бот предлагает решить проблему через if-чик.
if (stock != null) < val price = stock.price . >else < // Handle the case where the stock field is null textView.text = "Error: stock field is null" >
Не крашится
Ура! Приложение запускается и не крашится! Есть первый скриншот.

Видим ошибку про null и начинаем разбираться. Проблема в API модельках. На решение этих проблем ушло много вопросов, штук 10. Не буду здесь их все приводить, можете почитать в полной версии разговора. Но здесь я почувствовал, что боту сложно. Хотелось уже вмешаться и исправить одну строчку, чтобы всё заработало. Но я решил добиться этого с помощью бота и сам подсказал ему, что он противоречит сам себе, и надо написать правильную SerializedName аннотацию у поля.
Q: But you contradict yourself. If JSON response is «Global Quote», and the name of the field in the StockResponse class is stock then we need to use SerializedName annotation.
A: I apologize for the confusion. You are correct that the SerializedName annotation is needed in this case to correctly map the «Global Quote» field in the JSON response to the stock field in the StockResponse class.
Here is the corrected code for the StockResponse class:
data class StockResponse( @SerializedName("Global Quote") val stock: Stock ) data class Stock( val name: String, val price: String )
The `@SerializedName` («Global Quote») annotation specifies that the «Global Quote» field in the JSON response should be mapped to the stock field in the StockResponse class.
I apologize for any confusion that my previous explanations may have caused. I hope this helps clarify things. Let me know if you have any other questions.
Эта подсказка сработала на отлично. Мне очень понравилось, что бот признал, что он был не прав, написал новую версию кода и даже извинился в конце. С одной стороны, можно посчитать, что я немного считерил, и бот не справился. С другой стороны, если рассматривать бота как собеседника, коллегу (ведь именно такую роль хочет играть ChatGPT), то всё выглядит приемлемо: твой коллега немного запутался, ты ему подсказал и он всё решил.
После того как мы поправили все ошибки с API модельками, наше приложение получает и отображает цену акций Apple.

Масштабирование
Я хвалил ChatGPT, что он круто запоминает контекст. Но здесь он забыл, что я изначально просил вывести список из 50 акций, а не одну. Что ж, поехали дальше масштабировать наше приложение.
Q: Now the app shows only one stock — Apple. I want to show the 50 most popular stocks. Can you show me how to do it?
A: To show a list of the 50 most popular stocks in your Android app, you will need to modify your code in several places. Here is an outline of the steps you can follow:
— Modify the Alpha Vantage API endpoint [. ].
— Modify the StockResponse and Stock classes[. ].
— Modify the getStockPrices() method to use the new API endpoint [. ].
— Modify the layout of the app [. ] Instead of using a single TextView element [. ] you will need to use [. ] RecyclerView or ListView, to display a list of stocks. You will also need to create a custom adapter to bind the data from the Stock objects to the layout elements in the list.
Бот перечислил все шаги, которые нужно сделать, включая обновление API классов, использование RecyclerView и создания адаптера для него. Не будем вдаваться в детали. С этой задачей мы тоже справились за последующие 10-15 простых вопросов.
Следующим камнем преткновения стала ошибка неверного API метода. Чат-бот предложил использовать метод TOP_100, чтобы получить акции. Такого метода в API не существует, может быть, он существовал ранее. Но бот не говорил, что это может быть причиной, пока я ему не показал JSON ответ API:
Q: I got response from alphavantage API: «»Error Message»: «This API function (TOP_100) does not exist.»»
A: It appears that the TOP_100 function is not a valid function in the Alpha Vantage API. This may be the cause of the error you are seeing.
To retrieve the top 100 stocks from the Alpha Vantage API, you will need to use a different function. Here are a few options you could consider: [. ]
В итоге мы с ботом решили запросить акции просто перебором:
Q: I need to get 50 popular stock prices from alphavantage API. How can I do it?
val stockSymbols = listOf("AAPL", "MSFT", "GOOG", "FB", "AMZN", "JNJ", "XOM", "V", "PG", "JPM")
Kotlin synthetics
Затем я наткнулся на любопытную историю. В одном из предыдущих ответов бот дал мне такой код:
import kotlinx.android.synthetic.main.stock_item.view.text_view . override fun onBindViewHolder(holder: StockViewHolder, position: Int) < val stock = stocks[position] holder.view.text_view.text = "$- $" >
И я столкнулся с проблемой дубликата классов.
Q: Now I got an error «Execution failed for task ‘:app:checkDebugDuplicateClasses’. A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable Duplicate class kotlinx.android.extensions.CacheImplementation found in modules kotlin-android-extensions-1.3.61 (org.jetbrains.kotlin:kotlin-android-extensions:1.3.61) [. ]». How can I fix it?
A: It looks like you have a conflict between different versions of the kotlin-android-extensions library in your project [. ]
Бот много раз предлагал перепроверить версии разных зависимостей, но ничего не помогало.
Даже с подсказками:
Q: No. It didn’t help. Maybe it is connected to “org.jetbrains.kotlin.android“ plugin?
Мне кажется, дело в том, что в описании ChatGPT есть такое ограничение: Limited knowledge of world and events after 2021. Возможно, этот баг связан с тем, что более новых данных в модели ещё нет, и баги связанные с актуализированием версий могут быть пока проблемой.
В итоге я просто попросил сделать как-то по-другому:
Q: It did not help. I guess the problem with «kotlin-android-extensions». Can we use another approach?
A: If you are experiencing issues with the kotlin-android-extensions plugin, you can try using a different approach to access views in your layout XML file from your Kotlin code.
One alternative approach is to use the findViewById method to access views in your layout XML file. Here is an example of how you might do this: [. ]
О, findViewById — мне подходит!
Классика NetworkOnMainThreadException
Все баги пофикшены, запускаем и получаем долгожданный NetworkOnMainThreadException . Идем в чат фиксить:
Q: Now I have an error «android.os.NetworkOnMainThreadException» in line «val stockResponse = alphaVantageAPI.getStockPrices(symbol = symbol).execute().body()». How can I fix it?
A: The error «android.os.NetworkOnMainThreadException» indicates that you are trying to perform a network operation [. ]
To fix this error, you need to perform the network operation on a background thread. In Android, you can use an AsyncTask or a Thread to run code on a background thread.
ChatGPT предлагает использовать AsyncTask или Thread. AsyncTask! Видимо, точно модель не обучена новым данным. Я выбрал Thread.
Несколько вопросов про дизайн не особо помогли.
Q: Can you do fancy design for this app?
A: [. ]Q: Can you give me example of a fancy theme for this app?
A: [. ]Q: Can you show theme.xml file?
A: [. ]Q: Can you show me how to do nice looking paddings and margins for this app?
A: [. ]
Разве что паддинги добавил.
В итоге получаем вот такое приложение:

Мы получили список из 50 популярных акций фондового рынка и их цену. На скриншоте видно, что один из элементов “null — null”. Это Facebook. ChatGPT запросил данные по тикеру “FB”, но API такого не нашло, потому что теперь оно META.
Выводы
На мой взгляд, можно уверенно говорить, что ChatGPT написал Android-приложение! Оно компилируется, запускается и даже работает. Если вы ждали чуда, написание кода без ошибок, разделение на слои, архитектуру и прочее по списку — увы, пока ещё AI не на таком уровне. Бот пихает всё в MainActivity, норовит писать на Java, предлагает использовать AsyncTask и далее по списку. Но за это я на него не в обиде. Думаю, что дело не за горами.
Давайте проверим, выполнили ли мы все условия:
- Лично я не пишу ни строчки кода — ☑️
- Все что я делаю, это копи-паст того, что мне скажет чат-бот — ☑️;
- Я выполняю различные настройки по указанию чат-бота — ☑️;
- Если появляются любые ошибки или баги, я спрашиваю у чат-бота и исправляю так, как он ответит — ☑️, но с поправкой, что 2 раза я сам сильно подсказал боту. Поэтому здесь может быть половинчатая галочка.
Я был приятно поражён и удивлён результатом. Бот рассказал, как написать приложение, дал все нужные куски кода, помнит про контекст в течение разговора, реагирует за ответные замечания и вообще очень вежливый.
Подписывайтесь на канал Dodo Mobile, там мы коротко рассказываем о том, как разрабатываем мобильные приложения для нашей сети ресторанов быстрого питания.
Community
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results for
Search instead for
Did you mean:
Join now — be part of our community!
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
FILE NOT DELETING
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Highlight
- Report Inappropriate Content
January 2014
January 2014
FILE NOT DELETING
there is a folder LOST.DIR and customized-capability.xml and default- capability.xml file which is coming again and again after deleting and resetting the mobile
- All forum topics
- Previous Topic
- Next Topic
4 REPLIES 4
profile.country.RO.title
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Highlight
- Report Inappropriate Content
January 2014
January 2014
Those are system files and folders,you cannot remove them unless you root.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Highlight
- Report Inappropriate Content
January 2014
January 2014
customized-capability.xml is information about what kind of multimedia codecs, picture sizes, audio formats the device supports/prefers, Deleting this will only reappear on next boot up
default- capability.xml is what it say Default, This will also reappear if deleted at boot up
The lost.dir folder is a system folder. It’s a place where the Android OS places files that are recovered during a system boot up, again this will also reappear on boot up
