Pull to refresh
0
0
MegaDiablo @MegaDiablo

User

Как облегчить установку .apk на Android или GUI для adb install

Времени нет развивать проект, так что можно сказать то что есть. Если есть охота, то из develop ветки можно собрать билд с поддержкой тем.

Технология от Яндекса, которая избавит нас от бумажных билетов в кино и очередей в кассу

Ребята, вы еще NFC прикрутите, так совсем все хорошо будет :)

Автоматизация установки множества apk файлов на Android

Приношу свои извинения я ошибся в команде запуска Java приложения, команда должна выглядеть так "java -jar apm-0.7.1.jar". Ошибку заметил после обращения пользователя Snowly, который сообщил мне что команда у него не работает.

Автоматизация установки множества apk файлов на Android

Доброго времени суток,

Я уже несколько раз мелькал в комментариях к подобным статьям. И еще раз решил тихонечко пропиариться :)

Я один из разработчиков замечательного кроссплатформенного приложения «Android Package Manager» или же просто APM. Это приложения призвано облегчить работу с приложениями на устройстве. Оно умеет устанавливать и удалять приложения с устройства(да же пачками) и еще много мелких плюшек. И все те скрипты которые Вы писали делаются в удобном(надеюсь что это так) графическом интерфейсе.

Так что это приложение вполне можно использовать для частичного решения ваших проблем. Итак:
1) Для установки множества приложений(apk файлов) достаточно их перенести(при помощи drag&drop) в список пакетов. И все эти приложения автоматически установятся
2) Для поддержания актуальных apk файлов придется приложить больше усилий. Для этого их придется скачать/обновить на устройстве, а затем сохранить у себя на жестком диске. Опять же сохранение делается через наше приложение(можно сохранять и пачками). Так же никто не отменял описанный вами способ добывания приложений. Единственной неудобство что за версиями придется следить самостоятельно.

Теперь рассмотрим что нужно для APM:
1) Скачать по ссылке mac/win/nix
2) Распаковать в удобное для вас место
3) Запустить при помощи Java. Для этого у вас должна быть установлена Java 6 или старше. Переходим в каталог с приложением и выполняем эту команду "java apm-0.7.1.jar" (Это только один из способов)
4) Включить отладку по USB на телефоне
5) Подключить телефон по USB кабелю к компьютеру

Собственно думаю этого достаточно для начала использования.

ЗЫ
Не судите строго люди, пожалей меня родня.
Все писали сами и с нуля :)

ЗЫЫ
Сейчас готовиться большое обновление для APM, в котором мы стараемся исправить недочеты о которых уже попросили люди. Но при этом приложением занимаемся в свободное время так что процесс хоть и движется, но медленно. С выходом новой версии мы хотим так же написать статью на habrahabr. Надеюсь у нас все получиться

Как облегчить установку .apk на Android или GUI для adb install

сейчас идёт разработка в направлении поддержки системных тем, но они пока выглядят очень кривой.

Как облегчить установку .apk на Android или GUI для adb install

Увы документации пока нет, и не предвидится. Отсутствие документации связано с тем что на нее нет времени, так как приложение разрабатывалось для личного пользования, то и документации с самого начала не предвиделось.

Для запуска приложения необходима Java 6+, а запуск можно произвести из командной строки(как пример: «java -jar apm-0.7.1.jar»). Плюс если у Вас стоит nix*, то вам нужно выставить права на запуск для файлов adb и aapt

Сам графический интерфейс приложения надеюсь будет понятен

ЗЫ
Еще раз приношу извинения за отсутствие документации. И мы уже начинаем задумываться о ее написании. Так же мы подумываем написать статью о приложении на habrahabr, но пока мы хотим привести приложение в более человечный вид и исправить уже известные проблемы.

Как облегчить установку .apk на Android или GUI для adb install

Ну это идеальный вариант для нашего не идеального кода :)

Как облегчить установку .apk на Android или GUI для adb install

Мы давно опубликовали проект, вот только не пиарили его.
Если будут пожелания пиши мне в личку или в виде issues на github, посмотрим что можно сделать ;)

Как облегчить установку .apk на Android или GUI для adb install

Доброго времени суток,
у меня все не доходили руки(кармы не достаточно) написать статью на хабре о разработке, которую ведем я и мой товарищ. Она имеет название APM(android-packages-manager). Вот тут мы выложили исходники android-packages-manager, вот тут(mac/win/nix) можно скачать сразу архив, распаковать и пользоваться. По задумке даже не нужно устанавливать Android SDK. Хотя в настройках можно указать путь к более новым adb и aapt.

После написание этого приложения мы не представляем себе жизнь без него. Надеюсь оно поможет вам и многом другим.

Алгоритм поиска путей в лабиринте

Тут тяжело сравнивать, ведь использовалось два различных языка программирования причем на различных компьютерах. Так что время выполнения алгоритма еще не показатель. К тому замечу разработанный мной код не оптимален, по этому это тоже сказывается на скорости работы.

Алгоритм поиска путей в лабиринте

Не судите строго люди. Я тут быстро набросал код(на Python), который использует циклическую очередь. Код написан не самым оптимальным способом, но он работает.

Вот пример по времени выполнения моей программы:
Prepare data: 0:00:00.306268
Finish queue: 0:00:01.727277
Finish update image: 0:00:03.976633
Save image: 0:00:04.123483


from datetime import datetime
from PIL import Image, ImageDraw

class Queue:
    def __init__(self, size):
        self._queue = range(size)
        self._size = size
        self._left = 0
        self._right = 0

    def push(self, element):
        self._queue[self._right] = element
        self._right += 1

        if self._right + 1 == self._left:
            raise Exception('Small queue')

        if self._right >= self._size:
            self._right = 0


    def pop(self):
        element = self._queue[self._left]
        self._left += 1

        if self._left >= self._size:
            self._left = 0

        return element

    def run(self, func_next_step):
        while self._left != self._right:
            elements = func_next_step(self.pop())

            for element in elements:
                self.push(element)

if __name__ == '__main__':
    start = datetime.now()

    image = Image.open('source.png')
    draw = ImageDraw.Draw(image)
    pix = image.load()
    width = image.size[0]
    height = image.size[1]

    pixel = []
    for y in xrange(height):
        line = []
        for x in xrange(width):
            line.append(pix[x, y][0])
        pixel.append(line)

    move = (
        (0, 1, ),
        (1, 0, ),
        (0, -1, ),
        (-1, 0, ),
        )

    def recovery_path(item):
        element = item
        while element is not None:
            x = element[0]
            y = element[1]

            if pixel[x][y] == 3:
                break
            pixel[x][y] = 3

            element = element[2]

    def next_step(item):
        step = []

        for vector in move:
            x = item[0] + vector[0]
            y = item[1] + vector[1]

            if 0 <= x < width and 0 <= y < height:
                if pixel[x][y] == 255:
                    pixel[x][y] = 1
                    step.append((x, y, item))

            elif item[2] is not None:
                recovery_path(item)

        return step

    pixel[0][1] = 3

    queue = Queue(200)
    queue.push((1, 0, None))

    print "Prepare data : %s" % (datetime.now() - start)

    queue.run(next_step)
    print "Finish queue : %s" % (datetime.now() - start)

    for y in xrange(height):
        line = pixel[y]
        for x in xrange(width):
            type = line[x]
            color = pix[x, y][0]

            if type == 1:
                draw.point((x, y), (128, 128, 128))
            elif type == 2:
                draw.point((x, y), (0, 255, 255))
            elif type == 3:
                draw.point((x, y), (0, 255, 0))
            elif type == 0:
                draw.point((x, y), (0, 0, 0))
            else:
                draw.point((x, y), (255, 0, 0))

            if color == 0 and type != 0:
                draw.point((x, y), (255, 0, 0))

    print "Finish update image : %s" % (datetime.now() - start)

    image.save('answer.png')

    print "Save image : %s" % (datetime.now() - start)

Краткая история индонезийского джаббера

Я бы добавил, что не только сложности в реализации каких то возможностей отпугивает пользователей/программистов/администраторов, а еще и то что нет единого сервера для всех. Если рассмотреть тот же скайп, то мы ставим одно приложение которое сейчас довольно популярно и не задумываемся о том какой же сервер подключить и на коком сервере сидят его знакомые и друзья.

Наше видение Opera 15 и её будущего

Если вы опытный пользователь (хотя, иначе бы вы это не читали) и обнаружили, что в Opera 15 нет нужной вам функциональности, прежде всего взгляните на растущий список расширений.


Вот мне стало интересно а расширения будут совместимы с Chromium(Chrome) и наоборот?

Заглядывая на будущее мне кажется что Opera сделает ряд неплохих расширений которыми я бы хотел попользоваться, но при этом всем я больше предпочитаю Chromium. Да и обратный процесс тоже очень актуален так как сейчас под Chromium(Chrome) уже есть цела столовая вкусных плюшек, которые были бы полезны для Opera.

Взлом одного Android приложения

Не хочу ни кого обидеть, но RTFM. Ребята у вас есть под рукой такая простая и замечательная утилита и имеет она название adb. По личному опыту могу сказать нет такого приложения которое нельзя было бы скачать с приложения и для этого не надо иметь root доступа.

Super Mario на JS

Конечно идея неординарная, но на мой взгляд эта гамеза не дотягивает даже до Alpha версии.
Где всеми любимые грибочки и цветочки, можно возвращать назад, нельзя садиться в трубу и конечно нет скрытых сундучков, этот факт меня вырубил окончательно.
Но не отрицаю люди поработали на славу, такое запихнуть в такой объем это надо потрудиться. Почет и уважение им. Как говориться ругать умеет каждый, а самому сделать не каждому дано. :)

Information

Rating
Does not participate
Registered
Activity