笔记

万物寻其根,通其堵,便能解其困。
  博客园  :: 新随笔  :: 管理

关于JAVAFX进行安卓打包

Posted on 2024-05-23 15:15  草妖  阅读(23)  评论(0)    收藏  举报

网上案例(使用现成的包),参照(本文仅作笔记处理),详情请查看:

java 打包升版本 java打包成apk_误会一场的技术博客_51CTO博客

Gradle 的使用教程 -Gradle 通过 mavenLocal() 指向本地仓库 -Gradle 依赖包的存储位置_gradle mavenlocal-CSDN博客

一、下载并配置好android-sdk环境变量和javafxports-javafxmobile-test模板代码(个人自己找,我自己就留了个备份在百度云网盘)

 

二、将写好的代码放到案例的代码下src-main-java文件夹下面

 

三、第一次打包的时候需要点击gradlew.bat,它会自动下载所需的配置库和jar包

注:如果下载失败,可以到这个网址下载(Index of /gradle/ (tencent.com)),并黏贴到报错的目录

 四、然后输入并执行执行gradlew run跑一下程序,效果如下图,当你关了这个程序后他会显示build successful

 五、如果上面步骤成功了话执行 gradlew android 这里可能等待的时间稍微长点,耐心等待,成功的界面如下图

注:本人未成功,直接报去中央仓库下载错误,尽管build.gradle配置优先到阿里云或者本地仓库查找都无济于事,可能是技术不足。

 build.gradle

allprojects {
  repositories {
    maven {
      url 'https://maven.aliyun.com/repository/public/'
    }
    mavenLocal()
    mavenCentral()
  }
}

buildscript {
    repositories {
        maven {
          url 'https://maven.aliyun.com/repository/public/'
        }
        mavenLocal()
        mavenCentral()
        jcenter()
    }
 
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:1.0.0-b8'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

mainClassName = 'com.namejr.Main'

version = '8u40'

repositories {
    maven {
      url 'https://maven.aliyun.com/repository/public/'
    }
    mavenLocal()
    mavenCentral()
    jcenter()
}

jfxmobile {
    ios {
        forceLinkClasses = ['com.namejr.**.*']
    }
    android {
        applicationPackage = 'com.namejr'
    }
}

引入本地文件:




 

自己一步步安装处理

一、安装AndriodSDK,下载地址:AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载

 

二、点击安装,安装好之后可以直接启动或者点击"SDK Manager.exe"启动,进行插件下载

注:可随便选择下面一个Andriod版本进行安装

 

 三、下载完成后进行环境变量的配置

 ANDROID_HOME   D:\AndriodSDK

 

%ANDROID_HOME%\platform-tools、%ANDROID_HOME%\tools、%ANDROID_HOME%\tools\bin

 注:上述三个主要用来配置adb.exe和emulator.exe能够直接在命令行使用。

 

四、安装Gradle:Gradle Build Tool

 

 

 

注:一步到位地址:Gradle | Releases 

 

五、解压完成后,进行镜像配置,在*/gradle-8.7\init.d(我的是:D:\Gradle\gradle-8.7-all\gradle-8.7\init.d)文件夹中,添加init.gradle文件,文件内容如下:

注:如果存在maven的请求头是http而不是https的,会报错

allprojects {
    repositories {
        mavenLocal()
        maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public/" }
        mavenCentral()
    }
    buildscript {
        repositories {
            maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public/' }
            maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
        }
    }
}

 

六、配置仓库地址和环境变量

配置仓库地址:GRADLE_USER_HOME   D:\Gradle\gradle-8.7-all\gradle-8.7\gradle_repository

配置环境变量:GRADLE_HOME   D:\Gradle\gradle-8.7-all\gradle-8.7

%GRADLE_HOME%\bin

 

 

完成上述处理后,整个环境基本是配置完成了。

接下来是进行项目的构建

如下面已经构建好的项目:

 七、通过 gradle init/ gradle build命令,即可构建项目

 构建后的结果:

 

build.gradle.kts



repositories {
    mavenLocal()
    maven {
        url = uri("https://repo.maven.apache.org/maven2/")
    }
}

dependencies {
    api(libs.org.javafxports.jfxmobile.plugin)
    testImplementation(libs.junit.junit)
}

group = "com.lancoo"
version = "1.0-SNAPSHOT"
description = "FirstApp"
java.sourceCompatibility = JavaVersion.VERSION_1_8

publishing {
    publications.create<MavenPublication>("maven") {
        from(components["java"])
    }
}

tasks.withType<JavaCompile>() {
    options.encoding = "UTF-8"
}

tasks.withType<Javadoc>() {
    options.encoding = "UTF-8"
}

 

settings.gradle.kts

/*
 * This file was generated by the Gradle 'init' task.
 *
 * This project uses @Incubating APIs which are subject to change.
 */

pluginManagement {
    // Include 'plugins build' to define convention plugins.
    includeBuild("build-logic")
}

rootProject.name = "FirstApp"

 

八、如果获取不到/下载失败包,可通过修改gradle\wrapper下的distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip

推荐地址:Index of /gradle/ (tencent.com)

 

九、这一步是点击过gradlew.bat才会需要重新处理:配置build.gradle,同时删除build.gradle.kts和settings.gradle.kts

十、点击gradlew.bat进行安装必要的包

 

 

。。。待续