2015-03-24 3 views
0

Я знаю, что это распространенный вопрос, который многие люди задают здесь, но, увидев почти все связанные должности, я до сих пор не понимаю.Приложение не установлено или Access Denied on Signed apk

У меня есть простой проект, который может работать на реальном устройстве (без знака, я скопирую его из папки bin в моем рабочем пространстве). Однако, когда я экспортирую подписанную версию, он не будет запущен, и в нем будет указано «Доступ запрещен». И я, похоже, не могу переместить apk на SD-карту. и fyi это не корневой телефон.

Я попытался установить подписанный APK на моем AVD эмулятор, я запускаю команду в CMD следующим образом:

...\sdk\platform-tools> adb -s emulator-5554 install X:\Arya\Android\MyJlm.apk 

установка прошла успешно, но когда я нажимаю на ярлык он говорит: «App не установлен» , и LogCat говорит:

03-24 05:12:47.934: W/ActivityManager(370): Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=my.jlm/.Splash } from ProcessRecord{b4fd0b30 528:com.android.launcher/u0a7} (pid=528, uid=10007) not exported from uid 10053 

Это кажется странным, как я «сертифицированным» в APK от мастера Eclipse, который делает все от момента создания нового хранилища ключей до конца, и я чувствую, что я ничего не пропустил (но, пожалуйста, поправьте меня, если Я ошибаюсь!)

и я действительно хочу знать, в чем причина? это с моего пути в построении манифеста, разрешения и т. д. или это от самого телефона?

спасибо за любезное внимание

+0

Итак, какая проблема, ваш APP не подписан? –

+0

мое приложение подписано, и он говорит, что он истечет через 25 лет, и я получил отпечаток MD5 и SHA1. моя проблема заключается в том, что все это подписанное приложение не будет запускаться как в эмуляторе, так и в телефоне – Arya

+0

Я предполагаю, что я это сделал. тот, который не работает, имеет дублирующее намерение для Splash.java в манифесте, теперь после того, как я удалите дубликаты и снова заново запустите подписанное приложение, а затем запустите его на эмуляторе AVD, он работает нормально. Я дам вам знать, может ли это подписанное приложение быть загружено в игровой магазин И может работать на реальном телефоне :) PS: Поскольку у меня нет телефона, я тестировал приложение на моем другом. но теперь он не со мной, мне просто нужно доставить этот апк по электронной почте и дождаться его установки. это займет некоторое время, прежде чем он получит его, я думаю .. поэтому я буду держать вас в курсе. – Arya

ответ

0

Это идет внутри проектов build.gradle файл

Вы должны поставить это под Android

signingConfigs { 
    debug { 
     storeFile file(project.property("MyApp.signing")) 
     storePassword project.property("MyApp.signing.password") 
     keyAlias project.property("MyApp.signing.alias") 
     keyPassword project.property("MyApp.signing.password") 
    } 
} 

На Gradle.properties сделать:

MyApp.signing=../myapp.keystore.jsk 
MyApp.signing.password=helloworkd 
MyApp.signing.alias=myapp_alias