Надеюсь, вы можете помочь - я охотился повсюду и впал в отчаяние, так как мои рейтинги Android Market сильно пострадали от этого.Здесь идет - спасибо заранее.
Я использовал APKtool, чтобы декомпилировать тему для GOContacts.Отредактировал все необходимые файлы и перекомпилировал.После загрузки на рынок тема работает на большинстве устройств, но принудительно закрывается с этой ошибкой на других устройствах.
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jbapps.contact.theme.steampunk/com.jbapps.contact.theme.steampunk.GOContactsInstallDialog}: android.content.res.Resources$NotFoundException: String resource ID #0x7f040019
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
at android.app.ActivityThread.access$1500(ActivityThread.java:117)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3691)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x7f040019
at android.content.res.Resources.getText(Resources.java:221)
at android.content.Context.getText(Context.java:173)
at android.app.Dialog.setTitle(Dialog.java:475)
at com.jbapps.contact.theme.steampunk.GOContactsInstallDialog.onCreate(GOContactsInstallDialog.java:46)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
... 11 more
Идентификатор строкового ресурса # 0x7f040019 указывает на имя строки
* 1007.*
Который присутствует во всех моих файлах res \ values \ strings на всех доступных языках, как показано ниже:
\res\values-ko\strings.xml
<string name="dialog_title">다운로드 GO 연락처</string>
\res\values-ru\strings.xml
<string name="dialog_title">Скачать GO Контакты</string>
\res\values-zh-rCN\strings.xml
\res\values-zh-rHK\strings.xml
\res\values-zh-rTW\strings.xml
<string name="dialog_title">下载 GO联系人</string>
Насколько я вижу, учитываются все строковые ресурсы.Другой файл, в котором упоминается строка, - это GOContactsInstallDialog.smali, который я выделил ниже.
.class public Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;
.super Landroid/app/Activity;
.source "GOContactsInstallDialog.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;
}
.end annotation
# instance fields
.field private mDialog:Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
.line 15
invoke-direct {p0}, Landroid/app/Activity;-><init>()V
return-void
.end method
.method private isExistSkin(Ljava/lang/String;)Z
.locals 2
.parameter "packageName"
.prologue
.line 78
.line 79
const/4 v1, 0x2
.line 78
:try_start_0
invoke-virtual {p0, p1, v1}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->createPackageContext(Ljava/lang/String;I)Landroid/content/Context;
:try_end_0
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
.line 83
const/4 v1, 0x1
:goto_0
return v1
.line 80
:catch_0
move-exception v0
.line 81
.local v0, e:Landroid/content/pm/PackageManager$NameNotFoundException;
const/4 v1, 0x0
goto :goto_0
.end method
# virtual methods
.method protected onCreate(Landroid/os/Bundle;)V
.locals 4
.parameter "savedInstanceState"
.prologue
.line 34
invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 37
const/4 v0, 0x1
invoke-virtual {p0, v0}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->requestWindowFeature(I)Z
.line 38
const/high16 v0, 0x7f03
invoke-virtual {p0, v0}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->setContentView(I)V
.line 40
const-string v0, "com.jbapps.contactpro"
invoke-direct {p0, v0}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->isExistSkin(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_0
.line 41
invoke-virtual {p0}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->finish()V
.line 68
:goto_0
return-void
.line 45
:cond_0
new-instance v0, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;
invoke-direct {v0, p0, p0}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;-><init>(Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;Landroid/content/Context;)V
iput-object v0, p0, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->mDialog:Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;
.line 46
iget-object v0, p0, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->mDialog:Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;
const v1, 0x7f040019
invoke-virtual {v0, v1}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;->setTitle(I)V
.line 47
iget-object v0, p0, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->mDialog:Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;
invoke-virtual {p0}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->getResources()Landroid/content/res/Resources;
move-result-object v1
const v2, 0x7f04001a
invoke-virtual {v1, v2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;->setMessage(Ljava/lang/CharSequence;)V
.line 48
iget-object v0, p0, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->mDialog:Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;
const/4 v1, -0x1
invoke-virtual {p0}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->getResources()Landroid/content/res/Resources;
move-result-object v2
**const v3, 0x7f040018**
invoke-virtual {v2, v3}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object v2
new-instance v3, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$1;
invoke-direct {v3, p0}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$1;-><init>(Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;)V
invoke-virtual {v0, v1, v2, v3}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;->setButton(ILjava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)V
.line 67
iget-object v0, p0, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog;->mDialog:Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;
invoke-virtual {v0}, Lcom/jbapps/contact/theme/steampunk/GOContactsInstallDialog$CustomAlertDialog;->show()V
goto :goto_0
.end method
.method protected onDestroy()V
.locals 1
.prologue
.line 72
invoke-super {p0}, Landroid/app/Activity;->onDestroy()V
.line 73
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
.line 74
return-void
.end method
Мне бы очень хотелось решить эту проблему, поскольку это действительно разрушает мой день, если есть какая-то другая информация, которую я должен добавитьпожалуйста, дай мне знать.Спасибо всем.