Подпишите APK на клиентском телефоне - PullRequest
1 голос
/ 12 декабря 2011

Это мой первый вопрос по StackOverflow, и мой английский плохой, поэтому, пожалуйста: D. Я делаю это просто для удовольствия. Я хочу изменить значок для каждого пользователя, чтобы пользователи могли изменять значок приложения. Я думаю, что если я хочу сделать это, я должен прочитать apk self, разархивировать его, изменить che drawable / icon.png и пересобрать его, чтобы наконец подписать. Я пытаюсь немного кода, но не удалось. Причина импорта в том, что package sun.securate.* отсутствует в платформе Android Java. Я пишу код для этого, но это не удалось -_- Кто может мне помочь? Я могу поделиться своим уже написанным кодом. Помоги мне, пожалуйста!

Ответы [ 2 ]

1 голос
/ 12 декабря 2011

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

Ref:

Для получения информации о пакете здесь приведены doc .

PackageManager pkgMgr = getPackageManager();

Ниже приведен фрагмент кода (для иллюстрации):

    // Setting the intent class ActivityClassToLaunch you need to try PackageManager
    Intent i = new Intent(activity, ActivityClass.class);

    i.setAction(Intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_LAUNCHER);

    Intent result = new Intent();
    result.putExtra(Intent.EXTRA_SHORTCUT_INTENT, i);

    result.putExtra(Intent.EXTRA_SHORTCUT_NAME, activity.getString(R.string.app_name));

    ShortcutIconResource iconResource = null;

    iconResource = ShortcutIconResource.fromContext(activity, R.drawable.new_app_icon);

    result.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconResource);

    result.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
    activity.sendBroadcast(result);

Если вы просто хотите, чтобы пользователь изменил значок приложения, почему бы вам не загрузитьзначок с SD-карты.И значок, который вы отправляете с вашим пакетом, будет там, если пользователь не указал значок.

Вот фрагмент кода, который может вам помочь.

onCreate(...)
  setContentView(...); 
  setFeatureDrawable(Window.FEATURE_LEFT_ICON, 
     <your_drawable>); 
....
}

Если это не сработает, попробуйте позвонить setFeatureDrawable до setContentView

0 голосов
/ 12 декабря 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...