Я новичок в разработке Android. После того, как я обновил свое затмение и Android SDK до последней версии, я получил предупреждение:
Use '$' instead of '.' for inner classes (or use only lowercase letters in package names) AndroidManifest.xml
Я нашел некоторую информацию об этой ссылке.
"When you reference an inner class in a manifest file, you must use '$' instead of '.' " +
"as the separator character, e.g. Outer$Inner instead of Outer.Inner.\n" +
"\n" +
"(If you get this warning for a class which is not actually an inner class, it " +
"because you are using uppercase characters in your package name, which is not " +
"conventional.)"
Я считаю, что я использовал символы верхнего регистра в имени подпакета, например com.abc.app.Promotion
.
Вопрос: какой лучший способ избавиться от этого предупреждения в manifest.xml? Он все еще может строить и запускать, но я нахожу это настолько раздражающим.
Я попытался использовать refactor для переименования пакета и изменил файл manifest.xml android:name="com.abc.app.promotion.Promotion"
, но получил эту ошибку:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.abc.app/com.abc.app.TabView}: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.abc.app/com.abc.app.promotion.Promotion}; have you declared this activity in your AndroidManifest.xml?
Спасибо за помощь!
EDIT: original manifest.xml
<activity android:name=".Promotion.Promotion" ></activity>
обновлено manifest.xml
<activity android:name="promotion.Promotion" ></activity>