小编Que*_*ein的帖子

Next.js 独立版不读取 env 文件

我对我的 Next.js 项目有疑问。

我已将我的项目配置为通过独立模式构建以进行部署

experimental: {
    outputStandalone: true
}
Run Code Online (Sandbox Code Playgroud)

使用它,它会生成一个与server.js预期类似的独立文件夹。

主要问题是我在源中使用了一个环境变量,称为NEXT_PUBLIC_API_BASE_URL

当我以开发模式(使用)启动我的项目时next serve,它工作正常。

但是当我启动独立生成的文件(使用node server.js)时它不起作用。

看来该文件是在“服务器端”加载的,当我console.log在它的值中时,.next/standalone/server/pages/_app.js它在节点控制台中显示了正确的值。

但看起来接下来是使用下面的文件.next/static/chunks/pages/和另一个似乎无法访问 process.env (在浏览器端)的 app.js 。

我认为在我的环境变量中添加前缀NEXT_PUBLIC是为了以这种方式工作,但事实似乎并非如此。

知道它在那里如何运作吗?

javascript environment-variables next.js

6
推荐指数
1
解决办法
3999
查看次数

Android列表小部件和项目单击无法正常工作

我知道这个问题已被多次询问过,但我几乎尝试了所有解决方案,对我来说没有任何作用.所以我想我也不明白.

这是重点,我有一个主屏幕小部件,一个列表,并且像往常一样,我希望每个项目在单击时打开活动.

我看到了很多关于吐司和广播的答案,但我希望它能开启一项活动.

问题是,点击不起作用.

这就是我所做的:

widget_info.xml

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minHeight="50dp"
    android:minWidth="300dp"
    android:previewImage="@mipmap/ic_launcher"
    android:resizeMode="horizontal|vertical" />
Run Code Online (Sandbox Code Playgroud)

Provider

class StickyWidgetProvider : AppWidgetProvider() {

    override fun onReceive(context: Context, intent: Intent) {
        super.onReceive(context, intent)
        if (ACTION_APPWIDGET_UPDATE == intent.action) {
            updateWidget(context)
        }
    }

    override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) {
        for (i in 0 until appWidgetIds.size) {
            val appWidgetId = appWidgetIds[i]

            val rv = RemoteViews(context.packageName, R.layout.widget_container)
            rv.setRemoteAdapter(R.id.widget_list, Intent(context, MyWidgetService::class.java))

            val activityIntent = Intent(context, MainActivity::class.java)
                    .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK)
            val pendingIntent = …
Run Code Online (Sandbox Code Playgroud)

android listview android-widget kotlin android-pendingintent

5
推荐指数
1
解决办法
160
查看次数

Android使用gradle生成unsigned apk

我有一个Android项目(使用Android Studio和Gradle)和一个构建此项目的Jenkins CI服务器.

我要做的是生成一个完全未签名的证书.

事实上,当服务器构建的应用程序,它会产生一个-unsigned.apk但似乎这个APK 由签署developper证书.

事实上,我通过下载apk并运行以下命令检查了这一点(阅读后如何验证Android apk是否与发布证书签名?)

jarsigner -verify -verbose -certs app-unsigned.apk | grep Android
Run Code Online (Sandbox Code Playgroud)

所以输出就像

X.509, CN=Android Debug, O=Android, C=US
Run Code Online (Sandbox Code Playgroud)

(有很多行)

为了它的价值,我构建了运行gradle任务的应用程序:

clean assemble lint
Run Code Online (Sandbox Code Playgroud)

之后,我通过运行来压缩所有的apks

zipalign -f -v 4 *.apk
Run Code Online (Sandbox Code Playgroud)

我的build.gradle不包含任何签名选项

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.1'

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
    }

    buildTypes {
        debug {
            // proguard
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            // ZipAlign
            zipAlign false
        }

        release {
            // …
Run Code Online (Sandbox Code Playgroud)

android unsigned gradle apk jenkins

2
推荐指数
1
解决办法
3549
查看次数