Интегрировать приложение Android (.apk) в существующий проект Android - PullRequest
13 голосов
/ 20 марта 2011

Вот пример использования:

Мы с другом создаем приложение для Android и вместе с ним хотим интегрировать игру.Ядро приложения было построено в Eclipse, но мы собираемся создать игру с помощью инструмента для создания приложений, такого как Google AppInventer (http://appinventor.googlelabs.com/about/) или Corona (http://www.anscamobile.com/corona/).). Нам бы хотелось, чтобы существующее приложениеУ меня есть кнопка типа «Играть в игру», которая запускает игру, которую мы создаем с помощью одной из этих утилит.

Однако, когда я возился с Google App Inventor, я заметил, что могу экспортировать проект только как.apk, которые являются двоичными файлами. В идеале, я бы собрал приложение в AppInventor, экспортировал исходный код и добавил пакет в наш существующий проект в Eclipse. Что ж, это не так просто, так как у нас есть доступ только к .apk.Таким образом, мой вопрос, это можно сделать? Как?

Некоторые предлагали использовать apk decompiler , но стоит ли это того? Есть ли хорошие apk декомпиляторы, которые дадутнам доступ к некоторому исходному коду (Java-файлы, XML-файлы, ресурсы) без большой головной боли? Есть ли другой инструмент, который может экспортировать исходный код?Любой другой способ объединить 2 отдельных .apks?

Или нам нужно будет создать 2 отдельных приложения?(

Ответы [ 2 ]

5 голосов
/ 24 марта 2011

Проект, написанный в App Inventor, нельзя экспортировать в Eclipse.

Созданный файл .apk не является двоичным файлом. Это ZIP-архив с несколькими файлами и папками, но ни один из них не является Java-кодом.

Чтобы объединить приложение App Inventor с приложением, созданным с помощью Android SDK, можно использовать компонент ActivityStarter внутри App Inventor. Подробности об этом здесь: http://appinventor.googlelabs.com/learn/reference/other/activitystarter.html

Наконец, имейте в виду, что приложения App Inventor не могут быть загружены непосредственно на Market. Однако некоторые пользователи создали процесс, который позволяет это делать, он называется Marketizer.

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

2 голосов
/ 20 марта 2011

Вы можете рассматривать построение зависимостей Project A как JAR и включать этот JAR-файл в путь сборки зависимого Project B.

Для этого в Eclipse вы должны нажать Экспорт> Java> JAR> {Выбрать проект и отменить выбор AndroidManifest.xml}> Готово

Если вы не исключите AndroidManifest.xml из своего проекта A, вы получите сообщение о том, что здесь описаны дубликаты файлов манифеста .

Также вы можете получить следующую ошибку:

преобразование в формат dalvik завершилось с ошибкой 1

Чтобы исправить это, просто очистите и восстановите ваш проект

Я попробовал это для двух проектов, имеющих ссылку на одну и ту же версию Android SDK, и это сработало. Обратите внимание, что если вам нужно запустить действие из Проекта A, вам также необходимо объявить его в манифесте Проекта B

...