【问题标题】:R.java / Refresh / Clean not Updating ImageR.java /刷新/清理不更新图像
【发布时间】:2013-07-29 16:40:26
【问题描述】:

我使用了一个项目示例,该示例最初有一些占位符图像。但是,现在我正处于更新和试验图像的阶段;我想使用一组不同的图像。我没有创建新资源,而是执行了以下操作:

  1. 通过 MS Paint 从 res/drawable DIR 打开 playbuttonsm.png
  2. 擦除占位符徽标,替换为新徽标并保存
  3. 通过 Eclipse,刷新 res/,刷新 R.java,运行干净的项目

然而,不知何故,尽管重建,图像不会更新,仍然有旧的播放/暂停图像。我也试过重启、重启 Eclipse,然后重新导入项目。

更新:清理似乎将我的 Windows DIR 上的图像“恢复”到我进行图像更改之前。不确定这是否有助于人们找出问题的根源。

编辑:

Android 清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.glowingpigs.tutorialstreamaudiopart1b"
    android:versionCode="1" android:versionName="1.0">

    <uses-sdk android:minSdkVersion="8" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>


    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".MyActivity" 
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.NoTitleBar" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
         <service
            android:enabled="true"
            android:name="com.glowingpigs.tutorialstreamaudiopart1b.myPlayService" />
    </application></manifest>

bin\res\drawable-hdpi(和其他可绘制文件夹快照):

图片更改前:

图片更换后:


如果我清理项目,它会变回“更改前”。

【问题讨论】:

  • 这是否发生在您的设备上?我的意思是你看到旧标志
  • 是的,旧徽标出现在我的设备上
  • 所以唯一的方法就是重新安装你的应用程序
  • 尝试卸载并重新安装 Android 应用,但没有解决问题。 :(
  • 我还想说尝试删除项目中的 /bin 文件夹,然后让 Ant 重新构建项目。我以前遇到过这个问题,并且以前有效。

标签: java android eclipse image user-interface


【解决方案1】:
  1. 确保您已替换所有可绘制文件夹,包括 drawble-mdpi /drawable-hdpi 等...
  2. 确保您的清单使用的是您的新徽标。
  3. 卸载并重新安装您的应用。

【讨论】:

  • 我做了#1,甚至在所有可绘制的 DIR 中发布了更新的 logo.png 文件,即使它最初只有一个,drawable-hdpi。原始文件路径没有改变,文件名也没有改变,所以我不需要更新清单,因为没有要更新的路径/名称。当我运行方式 > Android 应用程序并通过 USB 在我的手机上运行时,控制台似乎表明它会擦除以前的版本并重新安装(尽管应用程序本身无法通过应用程序选择屏幕启动 [不存在那里])
  • #3 是关键。系统/启动器会缓存您的徽标。卸载整个东西,它应该会更新。
  • 啊,我认为 R.java 可能是存在缓存问题的那个。我原以为通过 Android 任务管理器清除 RAM 会迫使应用程序从可绘制对象中重新拉出并重新缓存,但我想不会。目前远离我的源代码,但当我回到我的 IDE 时,我会投票/标记为答案,如果这能解决它
  • 我从 Android 上卸载,然后再次运行,但它仍然使用 UI 中 logo.png 中的旧徽标,而不是保存的新徽标。
  • 请发布清单和可绘制文件夹的屏幕截图。在检查了所有 3 点后,我从未遇到过这个问题。
【解决方案2】:

只需在 Eclipse 中删除项目的 Bin 文件夹,然后再次构建项目。您的图像将得到反映。

【讨论】:

    【解决方案3】:

    删除 bin 文件夹中的 res,不要更改图标名称,保留 ic_launcher。还要创建一个新按钮并在新按钮上使用您的 PNG 图像,并再次将 onClicks 设置为正确的方法。清理,重新启动您的项目。

    【讨论】:

      猜你喜欢
      • 2012-08-02
      • 2011-03-15
      • 2011-08-15
      • 2013-08-07
      • 1970-01-01
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多