2014-11-14 5 views
0

У меня есть приложение для работы с гибридным приложением, которое создается для Android. Мне нужно сделать push-уведомления, а разрешения - в файле манифеста. По умолчанию используется неправильное имя пакета для разрешения, поэтому push-уведомления не работают. Я изменяю файл манифеста в среде android для рабочего фона, но если я внесу некоторые изменения в приложение и вам нужно будет перестроить среду Android, он изменит права на неправильное значение. Он делает это только для разрешений push, он не меняет его в другом месте.Изменение разрешения на работу в манифесте android

Имя пакета com.bcbst.mma, но всякий раз, когда он создает приложение для Android, он меняет его на com.mma. Где в процессе сборки было бы изменение имени пакета на некорректное значение? Файл дескриптора приложения содержит правильное имя пакета, поэтому я не знаю, откуда он будет получать неправильное значение.

EDIT: Это то, что права выглядеть в файле манифеста

<permission android:name="com.mma.permission.C2D_MESSAGE" android:protectionLevel="signature"/> 
<uses-permission android:name="com.mma.permission.C2D_MESSAGE"/> 

Это то, что я хочу:

<permission android:name="com.bcbst.mma.permission.C2D_MESSAGE" android:protectionLevel="signature"/> 
<uses-permission android:name="com.bcbst.mma.permission.C2D_MESSAGE"/> 

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

+0

Выполняете ли вы изменения в сгенерированном Android-проекте или в родной папке your-app \ android \? Вы должны делать свои изменения в последнем, а не в первом. Файл androidmanifest.xml считается «пользовательским файлом» и не должен быть изменен конструктором Worklight после его создания для вас в первый раз. –

+0

Я также заинтересован в том, чтобы больше узнать о сбое - почему это может не сработать, изменив имя пакета? Вызывает ли запрос push push для вас тоже ...? –

+0

Я меняю его в родной папке, но когда я делаю сборку, он возвращает его обратно к неправильному имени для разрешения. Пример приложения работает, и наше приложение работает, если я изменяю файл манифеста после создания приложения, но если я его не модифицирую, прежде чем пытаться использовать приложение, при запуске приложения он скажет, что услуги push не являются доступно, и в сообщении говорится, что отсутствует разрешение. –

ответ

0

В Worklight 6.2 андроида структура среды имеет "родной" и папку "nativeResources". enter image description here
Попробуйте внести все свои изменения в папку nativeResources. Когда вы добавляете свои изменения в каталог nativeResources, он копируется в собственный каталог во время сборки.

+0

Мы больше не рекомендуем этот подход; Кроме того, по моим комментариям нет оснований размещать файл AndroidManifest.xml, поскольку он считается файлом пользователя, файлом, который Worklight не должен переопределять. –

+0

Однако, если это сработает для вас - вы должны использовать его. Эта папка никуда не собирается в ближайшее время. –

+0

@IdanAdar Возможно, ваше предложение об изменении файла в «родной» папке будет работать, если тот же файл будет удален из папки «nativeResources». Таким образом, процедура сборки WL не будет иметь файлов для замены существующего. Возможно, стоит попробовать, если каталог nativeResources не рекомендуется. – DJones

Смежные вопросы