我正在用Android开发工具开发一个Android应用程序。 现在我尝试了新的Android Studio,如果把我的智能手机连接到PC上,直接在Android Studio中运行程序,一切都很好。 但现在我想在其他智能手机上测试这个程序,而不是把它们连接到我的电脑上。

ADT每次编译程序时都会在“projectname/bin”下创建。apk文件。在我看来,Android Studio目前并没有做到这一点。

所以,我的问题是:有可能用Android Studio创建一个unsigned .apk文件吗?


当前回答

只要去BUILD-> BUILD APK就完成了

其他回答

我建议你用Gradle构建你的APK文件:

单击顶部工具栏中的下拉菜单(打开“编辑运行/调试配置”对话框) 选择“编辑配置” 按“+” 选择“它” 选择您的模块作为Gradle项目 在“任务”中输入“组装” 按运行

您的未签名APK现在位于

ProjectName\app\build\outputs\apk

关于如何使用Gradle的详细信息,可以参考本教程:在Android Studio中使用Gradle构建。我还写了一篇关于如何用Gradle构建unsigned APK的博文。

如果你把你的项目从另一个IDE中移动,并且不想重新编译,你可能会发现你的APK文件已经在你移动的IDE中构建了:

如果你用Android Studio生成项目,APK文件将在ProjectName/ProjectName/build/ APK /… 从eclipse导入的项目:File应该在相同的目录中。转到项目-在资源管理器中显示。在这里,您应该可以找到APK文件所在的bin文件夹。 从IntelliJ导入,位置将是ProjectName/out/production/…

注: 正如Chris Stratton在他的评论中提到的:

从技术上讲,您需要的是一个带有调试密钥的APK。一个APK 实际上unsigned会被设备拒绝。

只需转到你的应用程序\app\build\outputs\apk

将两者复制到手机并安装app-debug.apk

对于unsigned APK:将signingConfig设置为null即可。它会给你appname -debug-unsigned。apk

debug {
     signingConfig null
}

并从构建菜单构建。享受

已签署的APK:

signingConfigs {
        def keyProps = new Properties()
        keyProps.load(rootProject.file('keystore.properties').newDataInputStream())
        internal {
            storeFile file(keyProps.getProperty('CERTIFICATE_PATH'))
            storePassword keyProps.getProperty('STORE_PASSWORD')
            keyAlias keyProps.getProperty('KEY_ALIAS')
            keyPassword keyProps.getProperty('KEY_PASSWORD')
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.internal
            minifyEnabled false
        }
        release {
            signingConfig signingConfigs.internal
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

密钥存储库。属性文件

CERTIFICATE_PATH=./../keystore.jks
STORE_PASSWORD=password
KEY_PASSWORD=password
KEY_ALIAS=key0

只要去BUILD-> BUILD APK就完成了

对于OSX上的Android Studio 2.2.3,我只使用顶部菜单:

Build > Build APK

它用.apk文件打开Finder。这不会生成一个签名的APK。如果需要,您可以从同一菜单中选择Generate Signed APK。