4

我面临一个问题。我已经使用 phonegap、cordova 和 eclipse 将一个 javascript 应用程序转换为 Android 应用程序。该应用程序很酷。

但问题是,它总是将cordova 图标显示为 app icon。我替换了"project/res"文件夹中的所有图标。但它仍然只显示默认图标吗?

我用谷歌搜索并知道我必须在清单文件中进行更改。所以,我改变AndroidManifest.XML了代码,

android:icon="@drawable/icon"

“图标”是我的图像名称。

这里有什么问题?为什么我没有自己的图标?我是这个 Android 环境的新手。

我关注了这篇文章http://smartgap.wordpress.com/2012/08/11/customizing-launch-icon-on-eclipsephonegap-application/

我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<!--
       Licensed to the Apache Software Foundation (ASF) under one
       or more contributor license agreements.  See the NOTICE file
       distributed with this work for additional information
       regarding copyright ownership.  The ASF licenses this file
       to you under the Apache License, Version 2.0 (the
       "License"); you may not use this file except in compliance
       with the License.  You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

       Unless required by applicable law or agreed to in writing,
       software distributed under the License is distributed on an
       "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
       KIND, either express or implied.  See the License for the
       specific language governing permissions and limitations
       under the License.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan"
      package="com.mage.edunxt" android:versionName="1.0" android:versionCode="1" android:hardwareAccelerated="true">
    <supports-screens
        android:largeScreens="true"
        android:normalScreens="true"
        android:smallScreens="true"
        android:xlargeScreens="true"
        android:resizeable="true"
        android:anyDensity="true"
        />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.RECORD_VIDEO"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />   
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />   
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />

    <application android:icon="@drawable/icon" android:label="@string/app_name"
        android:hardwareAccelerated="true"
        android:debuggable="true">
        <activity android:name="EduNxtQTIPlayer" android:label="@string/app_name"
                android:theme="@android:style/Theme.Black.NoTitleBar"
                android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

    <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15"/>
</manifest> 
4

6 回答 6

7

我必须执行以下操作

  1. 将所有文件添加到我的 res/Drawables 文件夹
  2. 在 manifest.xml 中设置活动的图标属性。它让我可以选择浏览我的 Drawable 目录中设置的文件。
  3. 我必须做一个清洁才能让它工作。

清洁非常重要,它似乎一直使用旧图标,直到您清洁为止。

在eclipse项目->清理

于 2013-09-23T20:07:09.890 回答
5

我做了这些工作。

我也只是把我的图标放在里面的所有文件夹中"project/bin/res"

然后我在config.xml下添加了以下行"project/res/xml"

<icon src="icon.png" /> 

现在它工作得很酷。

于 2013-04-15T12:00:52.957 回答
2

我一直在使用 phonegap CLI 在本地构建。没有 Eclipse 并且在查看根文件夹时遇到了多个问题(对于本地构建无用.. Phonegap:在构建时喷一些笔记怎么样)。

我终于将不同大小的单个图标文件复制到 drawable* 文件夹中。

可绘制-hdpi 可绘制-ldpi 可绘制-mdpi 可绘制-xhdpi

这浪费我的时间。

于 2014-03-09T05:09:09.307 回答
0

在 <project location>\platforms\android\ant-build\res 而不是 <project location>\platforms\android\res 中进行更改

对于某些在后一个位置进行更改的人可能已经奏效,但是注意到 Phonegap 从 \android\res 复制到 \android\ant-build\res,我决定在那里检查并找到一组单独的可绘制文件夹,其中包含默认电话间隙图标。

改变那些终于奏效了。

由于我在本地构建和运行而不使用 Adob​​e PhoneGap Build,因此更改 <project location>\www\res\icon\android 中的图标也不起作用。

于 2014-06-25T08:24:47.943 回答
0

我还想分享我对此的答案,以防他们无法使用以前用户提供的步骤使其正常工作。

我无法使用此处提供的步骤让我的工作,我可以通过使用 mipmap 来解决这个问题。我使用这个很棒的开源项目生成了图标大小:Android Asset Studio

我现在注意到生成的图标现在放置在 mipmap 文件夹中,而不是在可绘制对象上。我认为这是谷歌希望我们将可绘制对象与图标分开的方法。完成此操作后,我使用以下方法引用新导入的 mipmap 文件夹:

 android:icon="@mipmap/ic_launcher"

这是文件夹结构:

res/
    mipmap-mdpi/ic_launcher.png (48x48 pixels)
    mipmap-hdpi/ic_launcher.png (72x72)
    mipmap-xhdpi/ic_launcher.png (96x96)
    mipmap-xxhdpi/ic_launcher.png (144x144)
    mipmap-xxxhdpi/ic_launcher.png (192x192)

我清理并重建了项目,现在可以看到图标了!但有一个问题。它是在更高版本的 android 上添加的(如这里所说的 v4.3链接)。如果这适用于旧版本的android,则没有太多关于此的文档。

于 2015-05-02T07:52:16.043 回答
0

PhoneGap 网页上提供的信息解释了这一点,但乍一看可能不太清楚(链接:http ://docs.build.phonegap.com/en_US/configuring_icons_and_splash.md.html#_icons )。

简单的解释:只需将您的图标复制到应用程序根目录并命名为icon.png。这就是你所需要的。

在我的情况下,我确定图标的大小为 96x96px(更大一些不起作用,但可能是我的错)。而且在上传和重建之后,应用程序内容没有更新 - 所以我需要重复上传+重建几次。

于 2016-01-24T17:10:31.333 回答