Forum Home
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular

    [Dev] feathercoin-wallet - Version 5 Development - Mobile / Android wallet

    Technical Development
    3
    24
    20753
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • wrapper
      wrapper Moderators last edited by wrapper

      Development and release of feathercoin-wallet (Version 5.x)

      Introduction:
      Code status
      The Feathercoin wallet audit is showing that te feathercoin-wallet-2 (v3), needs to be re-forked from the current bitcoin-wallet v5 and bitcoinj branches.

      The Feathercoin-wallet-2 was forked from the Litecoin-wallet fork of the Bitcoin android wallet at version 3.x (by Hank). Hank continued to manage developments, but on a separate branch on Litecoins official Github. Those changes were not pulled into the Feathercoin fork, causing it to become out of date. The Litecoin wallet is at 5.x

      Mobile wallet way forward - status
      I’ve updated “a” plan to generally show the discussion of a way forward.
      As with any FTC / open source project, any comments or help will be included.

      Good way to learn about FTC “code”
      Since - finding out, research / documenting and working out automatic systems to proceed with the Feathercoin Mobile wallet is the main aim, this would be a good project to watch or comment on.

      The project should include, Github management, fault finding, building code and some minor code fixes.

      You don’t need to be an expert to help and we don’t claim to be experts in every area, so will be documenting even trivial stuff so other members can learn / see whats going on.

      It should be interesting achievable project which will include a lot of detail of how FTC is put together.

      Brainstorming the Feathercoin-cli (0.9.6) project build, documentation, and test issues through the chat box proved very successful. It meant we could work on stuff we were investigating, distribute things we found, or ask for help researching (or knowing) a relevant fact or FTC setting or function.

      Once a topic was discused, the relevant facts or way forward established, that could be “set in stone” in a thread or issue.

      Way forward (subject to further review / comments / team availability)

      • Investigate and document feathercoin-wallet-2 build environment
      • Review and document feathercoin-wallet v5 build environment
      • Fork Bitcoin-wallet, allocate / manage FTC Github
      • Review and document feathercoin-wallet-2 commits on Github
      • Set up Android wallet v5 chat stream
      • Review and note Litecoin-wallet commits on Github
      • Review feathercoinj, Litecoinj and bitcoinj
      • Identify and fix current issues (0.9.6 compatibility, 0.11 way forward)
      • Review auto tests / auto builds / "overview responsibility, support prep, )
      • Test upgrade from old version, upgrade strategy
      • Release Feathercoin-Wallet (v5.x)
      • Document and minimise support procedure, volenteer to overview auto test fail procedure.

      Fork and review status of “Bitcoin” android wallets - 45% done

      Mobile Wallet Audit for compatibility with Feathercoin 0.9.6 core wallet release :

      Official Feathercoin Mobile Wallet on Google play
      https://play.google.com/store/apps/details?id=com.feathercoin.wallet&hl=en

      Mobile Wallet issues and source code:
      https://github.com/wellenreiter01/feathercoin-wallet-2
      Note : Development branch to be designated :
      use

      Feathercoin-wallet android mobile wallet Build Guide {in progress}

      Installing Mobile Wallet development environment:
      Using Ubuntu 16.10 as an example:

      Developments procedures and help

      Github
      Source code, issues and changes are stored on Github.

      On Github
      Fork the wallet source code to your own account.
      https://github.com/wellenreiter01/feathercoin-wallet-2

      In your Github account
      Create a new Dev branch on Github.
      git clone from your repository, then run checkout before changing the code.
      git checkout branch-dev

      Development procedure
      Make changes in your branch the push them to Upstream - by making a pull request in Github.

      Installing Android development environment
      Open a Terminal

      Install Prerequisites
      Android Studio requires few prerequisites before it can be installed. Run the following command to fulfill this requirement:

      $ sudo apt-get install git gradle
      $ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386

      Install Oracle Java JDK/JRE 8 which is required for Android Studio to run.

      sudo apt update && upgrade
      sudo apt purge openjdk*
      sudo add-apt-repository ppa:webupd8team/java

      sudo apt update
      sudo apt-get install oracle-java8-installer
      sudo apt-get install oracle-java8-set-default

      Install Android SDK
      https://developer.android.com/studio/index.html
      Install Android Studio
      http://tools.android.com/download/studio

      Uncompress or Unzip Android Studio Bundle
      Still within the Downloads directory execute unzip command to decompress the android studio bundle:

      $ unzip -qq android-studio-ide-145.3537739-linux.zip

      or you can download directly :

      cd ..
      wget https://dl.google.com/dl/android/studio/ide-zips/2.2.3.0/android-studio-ide-145.3537739-linux.zip
      unzip -qq android-studio-ide-145.3537739-linux.zip

      Running Android Studio:

      cd android-studio/bin
      ./studio.sh

      Follow the on screen instruction to complete the installation.

      Check the path or download the Android SDK or NDK .
      In Android-Studio
      Select the menu “File” > “Project Structure” > “SDK Location”, “Android NDK Location”

      In a terminal with Sdk in Android directory:
      cd Android
      $ ~/Android/Sdk/tools/android update sdk --no-ui --force --all --filter tool,platform-tool,build-tools-25.0.1,android-15,android-25,extra-android-m2repository

      Developing Feathercoin Wallet
      Ideally : create a development branch & clone your fork of the wallet, here building from a clone.

      git clone https://github.com/MYGITHUBNAME/feathercoin-wallet.git
      cd feathercoin-wallet
      git checkout branch-dev

      Install pre-requisites
      sudo apt install git gradle openjdk-8-jdk libstdc++6:i386 zlib1g:i386

      Build Feathercoinj
      (Note : if code or set-up changes are made .m2 may need to be deleted and rebuilt)
      git clone https://github.com/wellenreiter01/feathercoinj
      Compile feathercoinj (into .m2 directory)
      mvn clean install -DskipTests (No space after the -D )

      Build feathercoin-wallet-2 :
      git clone https://github.com/wellenreiter01/feathercoin-wallet-2
      cd to feathercoin-wallet-2
      mvn clean install -U (-U rebuild all modules)

      For each build - proposed version5
      cd feathercoin-wallet
      git pull
      gradle clean :native-scrypt:copy test build

      Notes :
      Feathercoinj Info
      Feathercoinj is a fork / clone of Litcoinj - It looks like this may need to be reforked so changes and fixes can be just bought in and only investigated if they fail the auto build test.
      Links:

      https://github.com/wellenreiter01/feathercoinj
      https://github.com/wellenreiter01/feathercoin-wallet-2

      https://github.com/bitcoinj/bitcoinj

      Bitcoin Android Wallet
      https://play.google.com/store/apps/details?id=de.schildbach.wallet&hl=en_GB
      https://github.com/bitcoin-wallet/bitcoin-wallet

      Other recently maintained altcoin mobile wallets
      https://github.com/wrapperband/myriadcoin-wallet

      https://github.com/hank/feathercoinj
      https://github.com/kris-davison/neoscrypt-jni-standalone @kris_davison

      https://play.google.com/store/apps/details?id=de.schildbach.wallet_ltc&hl=en_GB

      https://github.com/litecoin-project/litecoinj (not finished ?}
      https://github.com/hank/litecoinj-new
      https://github.com/scottie/urocoinj

      https://bitcoinj.github.io/getting-started-java
      http://www.javaworld.com/article/2078482/java-web-development/bitcoin-for-beginners--part-3--the-bitcoinj-api.html

      Build NeoscryptWrapper.c
      git clone https://github.com/kris-davison/neoscrypt-jni-standalone
      cd neoscrypt-jni-standalone
      Confirm Java version is correct:
      printenv JAVA_HOME
      JAVA_HOME=/usr/lib/jvm/java-8-oracle
      ./build.sh

      Android wallet discussion on BitcoinTalk
      https://bitcointalk.org/index.php?topic=448600.0

      Converting Feathercoin Wallet to 0.8.x core release compatibility
      https://forum.feathercoin.com/topic/6758/dev-mobile-android-and-iphone-wallet-app-application-developments/2

      Guide to Upgrading the wallet (to version 3)
      http://forum.feathercoin.com/topic/6795/guide-android-wallet-app-upgrade-installation

      Refs:
      http://stackoverflow.com/questions/34556884/how-to-install-android-sdk-on-ubuntu
      https://community.nxp.com/thread/327811
      https://dzone.com/articles/nb-developing-android-apps
      http://tools.android.com/download/studio
      https://sysads.co.uk/2016/06/how-to-install-android-studio-2-1-2-on-ubuntu-16-04/

      1 Reply Last reply Reply Quote 3
      • wrapper
        wrapper Moderators last edited by wrapper

        Including / pulling changes from Bitcoin Wallet or Forking Latest?

        https://github.com/bitcoin-wallet/bitcoin-wallet

        Experimental Fork of Bitcoin Wallet.
        https://github.com/wrapperband/feathercoin-wallet

        For Comparison Litecoin-wallet:
        https://github.com/Litecoin-Java/bitcoin-wallet

        Commits to Transfer from Old (Version 2) Wallet to “Version 3”

        Feathercoin commits to “feathercoin-wallet-2”
        https://github.com/wrapperband/feathercoin-wallet-2/commits/master

        1 Reply Last reply Reply Quote 1
        • Wellenreiter
          Wellenreiter Moderators last edited by

          At least it is already on Gradle, and if the code is working, it is a new starting point.

          Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
          Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

          1 Reply Last reply Reply Quote 1
          • wrapper
            wrapper Moderators last edited by wrapper

            Error when Loading “Old” feathercoin-wallet into android-studio

            Notes: Message
            Load error: undefined path variables

            PATH_TO_neoscrypt is undefined. Fix it
            Path variables are used to substitute absolute paths in Studio project files and allow project file sharing in version control systems. Some of the files describing the current project settings contain unknown path variables and Studio cannot restore those paths.

            1 Reply Last reply Reply Quote 1
            • wrapper
              wrapper Moderators last edited by

              What is armeabi?

              /feathercoin-wallet-2/wallet/armeabi

              http://stackoverflow.com/questions/23042175/what-is-armeabi-and-why-they-use-it

              armeabi
              Android devices have CPUs. Many of those CPUs are based on the ARM architecture, while some are based on x86, and a few others are based on other stuff like MIPS.

              Some Android apps use the Native Development Kit (NDK) to create C/C++ code to link into their app. C/C++ code needs to be compiled for a specific CPU architecture. The NDK places the version of the C/C++ code compiled for each architecture into an architecture-specific directory. One of those directories is armeabi/, which is for a generic ARM CPU. There is also armeabi-v7/ (for an ARM v7-compatible CPU), x86/ (for x86 CPUs), etc.

              1 Reply Last reply Reply Quote 2
              • wrapper
                wrapper Moderators last edited by wrapper

                This fork is up to v4.0 ercoin (for comparison. check commits)
                https://github.com/madzebra/erc-wallet-android/blob/master/wallet/CHANGES

                faircoin at 4.0
                https://github.com/FairCoinTeam/faircoin-wallet/blob/prod/wallet/CHANGES

                multicoin wallet takes ftc :
                https://toughnickel.com/personal-finance/The-Best-Multi-Currency-Digital-Wallets-for-Bitcoin-and-other-Digital-Currencies

                Dogecoin Version https://github.com/langerhans/dogecoin-wallet-new

                1 Reply Last reply Reply Quote 1
                • wrapper
                  wrapper Moderators last edited by wrapper

                  Feathercoin-wallet(v5) - Gradle issues / notes

                  There are issues with Gradle, with feathercoin-wallet-2 and with feathercoin-wallet(v5) in android-studio.

                  It was noted Litecoin retained the Bitcoin-wallet structure, was this to reduce work customising build scripts?

                  What is Gradle?

                  Gradle is a build system for Android-studio.

                  Before Android Studio a program such as Eclipse were used,for your development purposes, andto build your Android APK .

                  It is possible to build on the command line, but you have to learn what each tool (dx, aapt) does in the SDK. Eclipse saved us all from these low level but important, fundamental details by giving us their own build system.

                  Using a script to automate build tasks

                  Why is the res folder is in the same directory as your src folder?

                  The build system automatically takes all the source files (.java or .xml), then applies the appropriate tool (e.g. takes java class files and converts them to dex files), and groups all of them into one compressed file, the APK file.

                  The build system uses some conventions: an example of one is to specify the directory containing the source files (in Eclipse it is \src folder) or resources files (in Eclipse it is \res folder) .

                  In order to automate all these build tasks, there has to be a script;

                  Shell scripting in linux or batch files syntax in windows can be used you can write your own build system.

                  Gradle is a build system that takes the best features from other build systems and combines them into one. It is a JVM based build system, which means that you can write your own script in Java, which Android Studio makes use of.

                  One cool thing about Gradle is that it is a plugin based system. This means if you have your own programming language and you want to automate the task of building some package (output like a JAR for Java) from sources then you can write a complete plugin in Java or Groovy, and distribute it to rest of world.

                  Why did Google use Gradle?

                  Google saw one of the most advanced build systems on the market and realized that you could write scripts of your own with little to no learning curve, and without learning Groovy or any other new language. So they wrote the Android plugin for Gradle.

                  You must have seen build.gradle file(s) in your project. That is where you can write scripts to automate your tasks. The code you saw in these files is Groovy code. If you write System.out.println(“Hello Gradle!”); then it will print on your console.

                  What can you do in a Gradle build script?

                  A simple example is that you have to copy some files from one directory to another before the actual build process happens. A Gradle build script can do this.

                  Ref: http://stackoverflow.com/questions/16754643/what-is-gradle-in-android-studio

                  1 Reply Last reply Reply Quote 1
                  • wrapper
                    wrapper Moderators last edited by wrapper

                    What is the Gradle build system and how to use it in android studio?

                    .

                    Exploring the Gradle Files

                    Whenever you create a project in Android Studio, the build system automatically generates all the necessary Gradle build files.

                    Gradle Build Files

                    Gradle build files use a Domain Specific Language or DSL to define custom build logic and to interact with the Android-specific elements of the Android plugin for Gradle.

                    Android Studio projects consist of one or more modules, which are components that you can build, test, and debug independently. Each module has its own build file, so every Android Studio project contains two kinds of Gradle build files:

                    Top-Level Build File:

                    This is where you’ll find the configuration options that are common to all the modules that make up your project.

                    Every Android Studio project contains a single, top-level Gradle build file. This build.gradle file is the first item that appears in the Gradle Scripts folder and is clearly marked Project.

                    Most of the time, you won’t need to make any changes to this file, but it’s still useful to understand its contents and the role it plays within your project.

                    Module-Level Build File:

                    Each module has its own Gradle build file that contains module-specific build settings. You’ll spend most of your time editing module-level build file(s) rather than your project’s top-level build file.

                    In addition to the project-level Gradle build file, each module has a Gradle build file of its own. Below is an annotated version of a basic, module-level Gradle build file.

                    View Gradle config files

                    To take a look at these build.gradle files, open Android Studio’s Project panel (by selecting the Project tab) and expand the Gradle Scripts folder. The first two items in the Gradle Scripts folder are the project-level and module-level Gradle build files

                    Other Gradle Files

                    In addition to the build.gradle files, your Gradle Scripts folder contains some other Gradle files. Most of the time you won’t have to manually edit these files as they’ll update automatically when you make any relevant changes to your project. However, it’s a good idea to understand the role these files play within your project.

                    gradle-wrapper.properties (Gradle Version)

                    This file allows other people to build your code, even if they don’t have Gradle installed on their machine. This file checks whether the correct version of Gradle is installed and downloads the necessary version if necessary.

                    settings.gradle

                    This file references all the modules that make up your project.

                    gradle.properties (Project Properties)

                    This file contains configuration information for your entire project. It’s empty by default, but you can apply a wide range of properties to your project by adding them to this file.

                    local.properties (SDK Location)

                    This file tells the Android Gradle plugin where it can find the Android SDK installation.

                    **Note:

                    local.properties (SDK Location) contains information that’s specific to the local installation of the Android SDK. This means that you shouldn’t keep this file under source control.**

                    Refs:
                    http://code.tutsplus.com/tutorials/the-ins-and-outs-of-gradle--cms-22978
                    http://stackoverflow.com/questions/16754643/what-is-gradle-in-android-studio

                    1 Reply Last reply Reply Quote 1
                    • wrapper
                      wrapper Moderators last edited by wrapper

                      Feathercoin-wallet Bitcoin Fork build Test / Bitcoin comparison / notes

                      Initial build test failed :

                      Desktop:~/feathercoin-wallet

                      $ gradle clean :native-scrypt:copy test build

                      To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/2.13/userguide/gradle_daemon.html.
                      Then :
                      FAILURE: Build failed with an exception.

                      • Where:
                        Build file ‘/home/wrapper/feathercoin-wallet/native-scrypt/build.gradle’ line: 1
                      • What went wrong:
                        A problem occurred evaluating project ‘:native-scrypt’.

                      Failed to apply plugin [class ‘com.android.build.gradle.model.NdkComponentModelPlugin’]
                      Could not create plugin of type ‘NdkComponentModelPlugin’.

                      • Try:
                        Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
                        BUILD FAILED

                      Bitcoin-wallet test build

                      FAILURE: Build failed with an exception.

                      • Where:
                        Build file ‘/home/wrapper/bitcoin-wallet/native-scrypt/build.gradle’ line: 1
                      • What went wrong:
                        A problem occurred evaluating project ‘:native-scrypt’.

                      Failed to apply plugin [class ‘com.android.build.gradle.model.AndroidComponentModelPlugin’]
                      Gradle version 2.10 is required. Current version is 2.13.
                      If using the gradle wrapper, try editing the distributionUrl in /home/wrapper/.gradle/daemon/2.13/gradle/wrapper/gradle-wrapper.properties to gradle-2.10-all.zip

                      BUILD FAILED

                      1 Reply Last reply Reply Quote 1
                      • wrapper
                        wrapper Moderators last edited by wrapper

                        @kris_davison Re: java NeoscryptWrapper
                        https://github.com/kris-davison/neoscrypt-jni-standalone

                        I’m trying to compile / understand/ update the mobile wallet. I understand we may need to compile NeoscryptWrapper.

                        ~/neoscrypt-jni-standalone$ printenv JAVA_HOME
                        /usr/lib/jvm/java-8-oracle

                        :~/neoscrypt-jni-standalone$ ./build.sh
                        Hello World :) !!!
                        input-[B@15db9742
                        Called Neoscrypt function …
                        input-[B@15db9742
                        output-[B@6d06d69c
                        *** Error in `java’: free(): invalid next size (fast): 0x00007f02440e6280 ***

                        If I run NeoscryptWrapper on it’s own :
                        ~/neoscrypt-jni-standalone$ java NeoscryptWrapper

                        Exception in thread “main” java.lang.UnsatisfiedLinkError: no neoscryptwrapper in java.library.path
                        at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
                        at java.lang.Runtime.loadLibrary0(Runtime.java:870)
                        at java.lang.System.loadLibrary(System.java:1122)
                        at NeoscryptWrapper.<clinit>(NeoscryptWrapper.java:5)

                        1 Reply Last reply Reply Quote 1
                        • wrapper
                          wrapper Moderators last edited by wrapper

                          Building the “old” android mobile feathercoin-wallet-2

                          feathercoinj - build staus : SUCCESSFULLY built
                          I got further last night - using the maven build or Ubuntu 16.10, I was able to compile feathercoinj – SNAPSHOT/feathercoinj-tools-0.97-SNAPSHOT.pom

                          feathercoin-wallet-2 - build status : FAILED
                          feathercoin-wallet-2 build crashed looking for The POM for com.google:feathercoinj:jar:0.98-SNAPSHOT is missing

                          Build status :
                          Awaiting advice on the Feathercoin jar version mismatch / further research on POM adjustments or other way forward, push fix.

                          Feathercoin-wallet-2 - How to build

                          For comparison / research to fork the latest mobile wallet, these are the “old” maven instructions to build the android wallet. The new wallet will use the “gradle” build system.

                          Build feathercoinj

                          Open a Terminal
                          sudo apt install maven
                          git clone https://github.com/wellenreiter01/feathercoinj
                          cd feathercoinj
                          git checkout v0.99
                          cd wallet
                          mvn clean install -DskipTests

                          Build feathercoin-wallet-2

                          Open a Terminal
                          git clone https://github.com/wellenreiter01/feathercoin-wallet-2
                          cd feathercoin-wallet-2
                          mvn clean install

                          1 Reply Last reply Reply Quote 1
                          • Wellenreiter
                            Wellenreiter Moderators last edited by

                            I need to check, what I have changed in feathercoinj-0.98-SNAPSHOT

                            could take a day or two…

                            quite busy at the moment ;)

                            Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                            Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                            1 Reply Last reply Reply Quote 0
                            • wrapper
                              wrapper Moderators last edited by wrapper

                              @Wellenreiter looks like feathercoinj master was set to v0.97 ,

                              Build Feathercoinj
                              git clone https://github.com/wellenreiter01/feathercoinj
                              compile feathercoinj
                              ‘mvn clean install -DskipTests’ (No space after the -D )`

                              I’m just trying git checkout v0.98 now on feathercoinj - see if that compiles :

                              Build test feathercoinj Passed .

                              Build success

                              [INFO] Replacing /home/tony/feathercoinj/tools/target/feathercoinj-tools-0.98-SNAPSHOT.jar with /home/tony/feathercoinj/tools/target/feathercoinj-tools-0.98-SNAPSHOT-shaded.jar

                              Build test feathercoin-wallet-2

                              Build feathercoin-wallet-2 :
                              git clone https://github.com/wellenreiter01/feathercoin-wallet-2
                              cd to feathercoin-wallet-2
                              mvn clean install -U (-U rebuild all modules)

                              [ERROR] Failed to execute goal on project wallet: Could not resolve dependencies for project com.feathercoin.wallet:wallet:apk:3.04: The following artifacts could not be resolved: com.google:feathercoinj:jar:0.98-SNAPSHOT, com.feathercoin.wallet:integration-android:jar:1.0: Could not find artifact com.google:feathercoinj:jar:0.98-SNAPSHOT -> [Help 1]

                              1 Reply Last reply Reply Quote 1
                              • ghostlander
                                ghostlander Regular Member last edited by

                                You’re working with some old NeoScrypt code base of 2015 or so. I suggest to update first.

                                https://github.com/ghostlander/NeoScrypt

                                1 Reply Last reply Reply Quote 1
                                • wrapper
                                  wrapper Moderators last edited by wrapper

                                  Cheers @ghostlander

                                  Feathercoin-wallet-2 ~~Build now works~~

                                  I have cloned your new neoscrypt from here:

                                  git clone https://github.com/ghostlander/NeoScrypt.git

                                  Then :
                                  Copied the neoscrypt.c and .h

                                  into : /feathercoinj/core/jni/ ,

                                  and recompile feathercoinj

                                  Test build / audit / feathercoin-wallet-2

                                  Results of builds

                                  mvn site --errors

                                  [INFO] Feathercoin Wallet … SUCCESS [ 8.719 s]

                                  Errors and warning

                                  [INFO] Error stacktraces are turned on.

                                  [WARNING] Some problems were encountered while building the effective model for com.feathercoin.wallet:wallet:apk:3.04
                                  [WARNING] ‘build.plugins.plugin.version’ for com.jayway.maven.plugins.android.generation2:maven-android-plugin is missing. @ line 185, column 12
                                  [WARNING] ‘build.plugins.plugin.version’ for org.apache.maven.plugins:maven-jarsigner-plugin is missing. @ line 152, column 13

                                  [WARNING] Report plugin org.apache.maven.plugins:maven-project-info-reports-plugin has an empty version.

                                  [WARNING] No project URL defined - decoration links will not be relativized!

                                  Summery
                                  [WARNING] Report plugin org.apache.maven.plugins:maven-project-info-reports-plugin has an empty version.
                                  [WARNING]
                                  [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
                                  [WARNING]
                                  [WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
                                  [INFO] configuring report plugin org.apache.maven.plugins:maven-project-info-reports-plugin:2.9
                                  [WARNING] No project URL defined - decoration links will not be relativized!
                                  [INFO] Rendering site with org.apache.maven.skins:maven-default-skin:jar:1.0 skin.
                                  [INFO] Generating “Dependencies” report — maven-project-info-reports-plugin:2.9
                                  [WARNING] The repository url ‘http://people.apache.org/repo/m2-snapshot-repository’ is invalid - Repository ‘apache.snapshots’ will be blacklisted.

                                  Still fails with normal build instructions

                                  mvn clean install -X

                                  Further work
                                  Push 3 commits need to get this far.

                                  I’ll continue to look at what went wrong (error and warning messages) with the maven build for feathercoin-walet-2

                                  feathercoin-wallet v5 build environment
                                  Move on to getting the bitcoin-wallet android wallt to compile - ready to start looking at the best way to reintroduce the needed litecoin / feathercoin specific settings.

                                  Litecoin wallet status
                                  I note the Litecoin-wallet is also stuck at version 3 - so it would be interesting / good to try and form some collaboration / brance that does both? or could be pushed upstream, to build either, bitcoinj, litecoinj or feathercoinj …

                                  1 Reply Last reply Reply Quote 2
                                  • wrapper
                                    wrapper Moderators last edited by

                                    feathercoin-wallet-2 build environment, Fixing / research on

                                    Research / experiment with Homebrew to install old version of Maven

                                    **Build status : failed

                                    The feathercoinj does compile and appears to be installed in maven2 correctly.

                                    feathercoin-wallet-2 won’t compile, with the instructions provided. A couple of additional instructions / settings have helped, or may be necessary, have been identified.

                                    Possible cause needs specific maven version to build

                                    Information so far shows a change in the development environment, like the version of the build system Maven, is a likely area to cause the problem.

                                    $ brew doctor

                                    Warning: Unbrewed header files were found in /usr/local/include.
                                    If you didn’t put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted.

                                    Unexpected header files:
                                    /usr/local/include/zxing/Exception.h
                                    …

                                    Warning: Unbrewed static libraries were found in /usr/local/lib.
                                    If you didn’t put them there on purpose they could cause problems when
                                    building Homebrew formulae, and may need to be deleted.

                                    Unexpected static libraries:
                                    /usr/local/lib/libzxing.a

                                    Warning: /usr/bin occurs before /home/tony/.linuxbrew/bin
                                    This means that system-provided programs will be used instead of those
                                    provided by Homebrew. The following tools exist at both paths:
                                    mvnDebug
                                    brew
                                    mvn

                                    Consider setting your PATH so that /home/tony/.linuxbrew/bin
                                    occurs before /usr/bin. Here is a one-liner:
                                    echo ‘export PATH=“/home/wrapper/.linuxbrew/bin:$PATH”’ >> ~/.bash_profile

                                    Warning: Homebrew’s bin was not found in your PATH.
                                    Consider setting the PATH for example like so
                                    echo ‘export PATH=“/home/wrapper/.linuxbrew/bin:$PATH”’ >> ~/.bash_profile

                                    Warning: Homebrew’s share was not found in your XDG_DATA_DIRS but you have this variable set to include other locations.
                                    Some programs like vapigen may not work correctly.

                                    1 Reply Last reply Reply Quote 2
                                    • wrapper
                                      wrapper Moderators last edited by wrapper

                                      This is an experimental build of feathercoin-wallet-2 to try to update dependencies and get the original maven build to compile / pull into gradle. Draft build Instructions.

                                      Instructions to try updated / experimental feathercoin-wallet-2 build

                                      Follow the guide to install dependencies and set SDK / Ndk and how to compile and feathercoin-wallet-2 v3.04 and feathercoinj, the java wrapper to Neoscrypt.c

                                      Making sure you have < 150 GB space free, run an android update :
                                      /media/BigDisk1/Android/Sdk/tools/android update sdk --no-ui --obsolete --force

                                      Download and build the test versions. :

                                      Build feathercoinj
                                      git clone https://github.com/wrapperband/feathercoinj
                                      compile feathercoinj
                                      mvn clean install -DskipTests

                                      Build feathercoin-wallet-2 :
                                      Open a Terminal : check the path to your android Sdk and :
                                      export ANDROID_HOME=$HOME/Android/Sdk
                                      export PATH=$PATH:$ANDROID_HOME/tools

                                      The Android directory can be large here is it if it is not on /home disk :
                                      export ANDROID_HOME=/media/BigDisk1/Android/Sdk

                                      Clone the repository
                                      git clone https://github.com/wrapperband/feathercoin-wallet-2
                                      cd to feathercoin-wallet-2

                                      Compile the wallet and associated modules :
                                      mvn clean install -U (-U rebuild all modules)

                                      or compile offline :
                                      mvn dependency:resolve
                                      mvn dependency:resolve-plugins
                                      key to switches : -o = offline -e = errors -X = debug -U = all modules
                                      mvn clean install -DskipTests -o -e -X -U

                                      [Current errors compiling feathercoin-wallet-2 :]

                                      mvn dependency:resolve

                                      [ERROR] Failed to execute goal on project wallet: Could not resolve dependencies for project com.feathercoin.wallet:wallet:apk:3.04: Failure to find com.feathercoin.wallet:integration-android:jar:1.0 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

                                      mvn clean install -DskipTests -o -e -X -U

                                      Apache Maven 3.3.9
                                      Maven home: /usr/share/maven
                                      Java version: 1.8.0_121, vendor: Oracle Corporation
                                      Java home: /usr/lib/jvm/java-8-oracle/jre
                                      Default locale: en_GB, platform encoding: UTF-8
                                      OS name: “linux”, version: “4.8.0-37-generic”, arch: “amd64”, family: “unix”
                                      [INFO] Error stacktraces are turned on.
                                      [INFO] Scanning for projects…
                                      [WARNING]
                                      [WARNING] Some problems were encountered while building the effective model for com.feathercoin.wallet:wallet:apk:3.04
                                      [WARNING] ‘build.plugins.plugin.version’ for com.jayway.maven.plugins.android.generation2:maven-android-plugin is missing. @ line 185, column 12
                                      [WARNING] ‘build.plugins.plugin.version’ for org.apache.maven.plugins:maven-jarsigner-plugin is missing. @ line 152, column 13

                                      1 Reply Last reply Reply Quote 2
                                      • wrapper
                                        wrapper Moderators last edited by

                                        Importing the feathercoin wallet 2 a maven build into gradle to make it an android-studio project

                                        The feathercoin-wallet-2 android wallet won’t compile. The most efficiency way forward is to fork the latest android wallet code and re add FTC specific settings.

                                        However, on going development and knowledge of other potential fixes that can be applied to the mobile wallet, make it expedient to try to compile the old version.

                                        Although, compiling the old wallet (v2) in a later (v5) environment has been shown to be very complicated. That experience is useful, when trying to duplicate undocumented one off work.

                                        https://developer.android.com/studio/intro/migrate.html

                                        Are these the correct settings?
                                        When the wallet is imported or the new wallet forked, there are some default settings :

                                        Phone / Tablet
                                        Minimum SDK (15) : Android 4.0.3 Ice cream sandwich Was 14 was old setting?

                                        Do we need to release different versions for TVs smart boxes etc very popular?

                                        Wear : SDK (21)
                                        TV : (21)
                                        Auto : (21)
                                        Glass : (gdk 19)

                                        1 Reply Last reply Reply Quote 0
                                        • wrapper
                                          wrapper Moderators last edited by wrapper

                                          Development of Feathercoin Mobile Wallet.

                                          @Wellenreiter has fixed the compile issue with the mobile wallet and updated the current wallet to be compatible with 0.6.0 wallet.

                                          ToDo
                                          Update to include and test V4 bridge compatibility
                                          Include a privacy statement
                                          Fix compile issue with Android Studio > 2.4 preview 7
                                          Include latest Neoscrypt
                                          Update build instructions.

                                          Move to head …

                                          Instructions : for https://github.com/wellenreiter01/feathercoinj

                                          git clone https://github.com/wellenreiter01/feathercoinj
                                          git checkout v0.99

                                          and

                                          git clone https://github.com/wellenreiter01/feathercoin-wallet-2

                                          Wellenreiter 1 Reply Last reply Reply Quote 1
                                          • Wellenreiter
                                            Wellenreiter Moderators @wrapper last edited by

                                            @wrapper said in [Dev] feathercoin-wallet - Version 5 Development - Mobile / Android wallet:

                                            @Wellenreiter has fixed the compile issue with the mobile wallet and updated the current wallet to be compatible with 0.6.0 wallet.

                                            To be clear, the actual Android app is the feathercoin-wallet-2 which uses feathercoinj as a library/dependency.
                                            The gradle settiings I implemented for feathercoinj need to be transfered/adapted to the feathercoin-wallet-2

                                            Feathercoin development donation address: 6p8u3wtct7uxRGmvWr2xvPxqRzbpbcd82A
                                            Openpgp key: 0x385C34E77F0D74D7 (at keyserver.ubuntu.com)/fingerprint: C7B4 E9EA 17E1 3D12 07AB 1FDB 385C 34E7 7F0D 74D7

                                            1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post