未安装应用程序或拒绝访问已签名的 apk

App isn't Installed or Access Denied on Signed apk

我知道这是很多人在这里问的常见问题,但是在看到几乎所有相关内容后post我还是不明白。

我有一个可以在真实设备上 运行 的简单项目(未签名的;我从工作区的 bin 文件夹中复制粘贴它)。但是,当我导出签名版本时,它不会 运行,而是 "Access Denied"。而且我似乎也无法将 apk 移动到 SD 卡中。仅供参考,它不是 root phone.

我尝试在我的 AVD 模拟器上安装签名的 apk,我 运行 在 cmd 中的命令如下:

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

安装成功,但是当我点击快捷方式时它显示"App isn't installed"。 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

这似乎很奇怪,因为我 "certified" 来自 Eclipse 向导的 apk 完成了从创建新密钥库到结束的所有事情,我觉得我没有遗漏任何东西(但如果我错了请纠正我! )

我真的很想知道是什么原因造成的?是我构建清单、许可等的方式还是来自 phone 本身?

感谢您的关注

这在项目内部 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