Friday, August 1, 2014

Releasing a Signed Cordova Apk from NetBeans 8

I'll show how to build a cordova android app in NetBeans 8, and release a signed apk file.

The first part is relatively easy. Start up NetBeans 8, and from the main menu select File -> New Project. This brings up the New Project dialog.

In the dialog 'Categories' open the Samples folder and select the HTML5 subfolder. In the dialog 'Projects', select the Cordova Maps Sample, and click Next, name the project and click Finish:


This generates the application. Open index.html in your root, connect your android phone to the usb and hit F6 to run the project.

You should see something like this on your phone:



That was the easy part. Net beans doesn't have any menu selections to build a signed apk that you can distribute. However, Cordova uses an ant build process, and NetBeans is ant friendly.

So, the first thing you need to do is create your key:

$ keytool -genkey -v -keystore myapp.keystore -alias myapp -keyalg RSA -keysize 2048 -validity 10000

The keystore utility will walk you through some questions. You'll need to enter your app name and password, app alias, alias password and developer name. The remaining can be defaulted.

Now, in NetBeans project explorer, select the files tab, and create a file named ./platforms/android/ant.properties. entering the following contents:

key.store=/home/bruce/Git/myapp/myapp.keystore
key.alias=myapp
key.store.password=password
key.alias.password=password


Now you can right-click on ./platforms/android/build.xml and select Run Target -> release:




It will take a minute or two, and the ant build process will generate  ./platforms/android/bin/MyApp-release.apk, a signed distribution file.







Maybe I was wrong - with a little tlc, NetBeans does have a menu selection to build your apk!



111 comments:

  1. Great tutorial so far, but I do not have a target "release" in my build.xml. Any hint on this?

    ReplyDelete
    Replies
    1. Great Article android based projects

      Java Training in Chennai

      Project Center in Chennai

      Java Training in Chennai

      projects for cse

      The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

      Delete
  2. The build.xml imports commands like release from "${sdk.dir}/tools/ant/build.xml". So you won't see that target in the file if you visually inspect it. But when you right click on it in the project explorer, the command should be selectable - netbeans stitches it all together behind the scenes.

    If you aren't seeing a release command when you right click, my guess is that netbeans isn't finding your android sdk - you can set the path to it at tools>options>Miscellaneous/Mobile Platforms.

    ReplyDelete
  3. Netbeans is already running with android sdk (I am already running my project with the android device). But really no target "release" for the build.xml, see screenshot: http://postimg.org/image/kdpmsylot/

    ReplyDelete
    Replies
    1. I see the problem. You need to use the build.xml in the ./platforms/android folder - you're selecting the build in the ./nbproject folder - that one wraps the cordova command line, which, it seems. does everything except create a signed .apk :)
      I've updated the image on this posting to clarify that better.

      Delete
    2. Thanks for your help, but the build.xml in the android folder has got -no- targets in its popup menu. I can only choose "advanced". I guess I will give it up.
      So far I use the signed package, delete the meta-inf folder in it (http://stackoverflow.com/questions/5089042/jarsigner-unable-to-sign-jar-java-util-zip-zipexception-invalid-entry-compres) and sign it manually over command line :(

      Delete
  4. The way bruce described works with the constallation Netbeans 8.0.0 and Cordova 3.4.0-0.1.2 (thank you Bruce!). Because of a security issue on cordova I needed to update cordova. Now with Netbeans 8.0.1 and Cordova 3.6.3-0.2.13 the commands aren't found by the build.xml file. After comparing both projects I found the following difference:

    The file platforms/android/local.properties in my new project was empty and should be generated/modified automatically.
    # This file is automatically generated by Android Tools.
    # Do not modify this file -- YOUR CHANGES WILL BE ERASED!

    I modified the file manually with the path to the sdk (thank you again bruce for the hint from 2014-10-01), e.g. for windows:

    sdk.dir=D:\\adt-bundle-windows-x86_64-20131030\\sdk

    Now the commands are found by the build.xml file. :)

    ReplyDelete
  5. i dont understand this line., where should I do this code?

    $ keytool -genkey -v -keystore myapp.keystore -alias myapp -keyalg RSA -keysize 2048 -validity 10000

    ReplyDelete
  6. Keytool is a command line utility that ships with the jdk. I just opened a command window in my project folder, and ran it there - in my example, that would be /home/bruce/Git/myapp/

    For a full explanation of keytool and its parameters, you can check out the oracle documentation:
    http://docs.oracle.com/javase/8/docs/technotes/tools/unix/keytool.html

    ReplyDelete
  7. I don't have a build.xml file, but there is a build.gradle file. Did the build process switch from Ant to Gradle, and is this something to do with Netbeans or with Cordova? (Using Netbeans 8.0.2).

    ReplyDelete
  8. I'm also using netbeans 8.0.2. My two existing cordova projects work just fine. But when I just tried to create a new one, the new project wizard fails, says I don't have cordova. What I do have is the newer version of cordova (5.0.0) - The projects that are working for me use Cordova 3.x,. It sounds like Netbeans hasn't kept up.

    I found this on cordova's doc: "Cordova for Android now supports building with Gradle. This is optional in Cordova 3.x, but will be enabled by default in the future, probably with Cordova 4.0."

    If you are married to Netbeans, I'd try downgrading the cordova version. I've actually been using AndroidStudio lately for creating APK's. Intel's XDK works pretty well, too, if you can get past the editor.

    ReplyDelete
  9. This is an excellent post I seen thanks to share it. It is really what I wanted to see hope in future you will continue for sharing such a excellent post. Latest APK File

    ReplyDelete
  10. Many Android users are not very much aware about these applications. It is quite simple and easy to learn more information about these files.
    showboxdownloadsapp.com

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.
    I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging.
    If anyone wants to become a Java developer learn from Java EE Online Training from India.
    or learn thru Java EE Online Training from India .
    Nowadays Java has tons of job opportunities on various vertical industry.

    ReplyDelete
  13. Usually, your Android device will automatically install the APK. However, if the application that you have is not from the Android Market, you need to make sure that you install it manually in your device. This step is needed so that your apps will run successfully without any hitch.ShowBox APK

    ReplyDelete
  14. Absolutely fantastic posting! Lots of useful information and inspiration, both of which we all need!Relay appreciate your work.
    Gb Instagram

    ReplyDelete
  15. It is possible for a person to install APK files directly in devices. This can be done without necessarily downloading them from any network. You can use a desktop computer and use different communication programs.
    appmirror

    ReplyDelete
  16. Excellent and very exciting site. Love to watch. Keep Rocking.
    Diving in Cabo
    Scuba Diving in Cabo

    ReplyDelete
  17. Excellent and very exciting site. Love to watch. Keep Rocking.
    sfs framing
    curtain wall insulation

    ReplyDelete
  18. I am definitely enjoying your website. You definitely have some great insight and great stories.
    metsec wall
    metsec cladding rails
    curtain wall detail
    timber cladding details

    ReplyDelete
  19. Thanks For sharing this Superb article. I use this Article to show my assignment in college. it is useful For me Great Work.
    certified Ethical Hacker nj
    comptia linux plus nj
    mcsa certification
    mcsa certifications

    ReplyDelete
  20. It’s laborious to find educated people on this subject, however you sound like you realize what you’re speaking about! Thanks download lucky patcher

    ReplyDelete
  21. I haven’t any word to appreciate this post.....Really i am impressed from this post....the person who create this post it was a great human..thanks for shared this with us. cyberflix tv ios

    ReplyDelete
  22. Please let me know if you’re looking for a article writer for your site. You have some really great posts and I feel I would be a good asset. If you ever want to take some of the load off, I’d absolutely love to write some material for your blog in exchange for a link back to mine. Please send me an email if interested. Thank you! Charlies Magazines

    ReplyDelete
  23. I’ve read some good stuff here. Definitely worth bookmarking for revisiting. I surprise how much effort you put to create such a great informative website.
    Balance CBD
    Best CBD Products
    Buy CBD Oil
    CBD Edibles

    ReplyDelete
  24. Excellent and very exciting site. Love to watch. Keep Rocking.
    data recovery dubai
    iphone data recovery dubai

    ReplyDelete
  25. I am definitely enjoying your website. You definitely have some great insight and great stories.
    Vishnu swasthi yoga
    Yoga Classes in doha qatar

    ReplyDelete
  26. I am definitely enjoying your website. You definitely have some great insight and great stories.
    we buy homes
    cash for your house
    lease to own
    rent to own

    ReplyDelete
  27. This comment has been removed by the author.

    ReplyDelete
  28. This is helpful for kowning about cordova apk signed version. Thanks admin.

    Learn more about:

    Snaptube

    Ccleaner Pro

    Ccleaner Pro

    Clas of clans update

    ReplyDelete
  29. Good artcile, but it would be better if in future you can share more about this Keep posting.
    Mejor Farmacia Online
    Comprar Farmacia Online
    Farmacia Online en Chile

    ReplyDelete
  30. Keep up the good work , I read few posts this web site and I conceive that your blog is very interesting and has sets of fantastic information.
    hard drive data recovery
    data recovery sharjah
    data recovery abu dhabi

    ReplyDelete
  31. I am definitely enjoying your website. You definitely have some great insight and great stories.
    porn pics
    erotic images
    sexy pics

    ReplyDelete
  32. This is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information...
    Versace Eros

    ReplyDelete
  33. In light of humble device, picking information transmission and choice of online gaming, the broadness of the online games are beginning at now right hand in all regards rapidly. The gaming reputation is growing peevishly, so as the degree of players and the degree of people who see it. latest breaking news

    ReplyDelete
  34. To each blog out there, ricocheting on Google News isn't some purposeless wealth. It's a key that effects their very survival. The thing is, Google has gave structures concerning necessities for when to set a site on its system of updates. article

    ReplyDelete
  35. Abstain from losing handle of the blog by getting your own space name similarly as your own encouraging record. At whatever point you use free encouraging, you will encounter trouble getting fabulous web record rankings, and besides you ought to endure from the standards of the host. Premium Blog

    ReplyDelete
  36. To effectively run a blog, you'll need bits of knowledge. That will connect with you to get these examinations you should visit trades distinctive social gatherings and blogs. Also, an enormous measure of the time the exhaustive system who comment in your blog are uncommon at making new data that you just may perhaps never have perceived about going. To be huge in the present blogging globe, you have to consistently consider fresh material that people need. Blog

    ReplyDelete
  37. News blogs are the best wellspring of chosen giving bits of finding out about any space of intrigue. There are unequivocal blogs proposed to cover present principle speaking news, determining and breaking news from around the globe. These are commonly open on the web. With the PC being utilized for fantastically more than choosing, you can discover news sources saddling the intensity of this medium. You have various fantastic to go online blog which give centered substance. Magazine Blog

    ReplyDelete
  38. Thanks you so much for your efforts blog, If your are looking for a creative mobile app development in mumbai, Appslure provides one of the best and professional app development company in mumbai.
    Mobile app development company in mumbai

    ReplyDelete
  39. With these sites people are truly conveying their contemplations, their viewpoints, and notion on somebody specifically or point. Regardless, now and again these blogs can similarly be manhandled in light of the way that it is routinely used to defame an individual and de advances that particular person. Blogging type sites are basically sited where people share their very own decision and points of view and they have their very own profile on it with the objective that others can see them. information

    ReplyDelete
  40. For simple energy fans you can seek after music, films, accounts and logically on the web. Notwithstanding whether its news blogs concentrated on the dispatch of a film or covering the activities of your favored star, there's information available as it happens. Online magazine

    ReplyDelete
  41. Besides you have all out opportunity of articulation and conclusion and can concur or differ with everything without exception that is being said. Additionally, on the off chance that you discover something valuable and need to impart it to your partners you can without much of a stretch do as such with the snap of a catch. Online magazine

    ReplyDelete
  42. They additionally state that an appropriate equalization of everything (their insight, their composition style, their SEO) is sufficient to make them effective as business bloggers. Online magazine

    ReplyDelete
  43. The you have is very useful.The sites you have referred was good. Thanks for sharing...
    Kroger experience

    ReplyDelete
  44. Business blogs are useful in light of the fact that for the most part they talk about understanding. What's more, I imagine that involvement in business checks more contrasted with any book guidance. information

    ReplyDelete
  45. Excellent .. Amazing .. I’ll your blog and take the feeds also…I’m happy to find so many useful info here in the post, we need work out more techniques in this regard, thanks for sharing.

    farmacia

    ReplyDelete
  46. A great blog is informative in a real manner. Some of the time, bloggers are searching for actualities that are not regular to the readers so they will convince them to check everything inside the blog. These are a portion of the characteristics of a great blog. todaypost magazine

    ReplyDelete

  47. Thanks for sharing knowledgeable information about electronic cigarettes.Its an interesting one but in the case of vapourlites david it is to my knowledge that the authority for medical recommendations is spread across many different bodies and frameworks in the UK.
    https://tellthebelll.us

    ReplyDelete
  48. Keep in mind it is your own appearance. There are a few people who blog to help other people. These blogs are typically wellbeing related. Individuals blog about a specific ailment or illness they have that others may likewise experience the ill effects of. Blog

    ReplyDelete
  49. In all likelihood, you have thought about the articulation "blog." Even in case you are not an eager peruser of them on the web, you have certainly thought about the term eventually. You may even be intrigued about what the term insinuates and what exactly a blog includes. For those that may need their advantage answered, here is a brief survey of what a blog is: Online magazine

    ReplyDelete
  50. In case you run an IT association, purchasing in to blogs on technology can empower you to pick up capability with the latest examples in the market. You can guide your gathering to inquire about and devise new designs to be put into your organization or thing. Smart Home

    ReplyDelete
  51. Thanks for a wonderful share. Your article has proved your hard work and experience you have got in this field. Brilliant .i love it reading.
    iphone data recovery kenya
    data recovery services nairobi

    ReplyDelete
  52. Why this is suggested? Wouldn't i be able to simply manufacture a daily blog website and reveal a specialty for money-making arrangements, later on? Obviously, you can definitely include some money-making thoughts a while later. However, when you begin using that you should monetise your daily blog, regardless of whether simply with the end goal of a little pocket money, at that point you'll approach an online business using the right mindset. Business Nyo

    ReplyDelete
  53. As said before, Finance is a gigantic subject with numerous classes. Indeed, even before beginning your blog composing, settle on what classification you need to compose. Also, significantly increasingly significant is to adhere to it. This is significant on account of the nearby between connection of these classifications that can undoubtedly divert you to an alternate class all together, and without your insight. For eg. You may begin composing 'On the best way to deal with your Personal Finance'. There comes one pivotal point in it about reimbursing your high need obligations. Here you can without much of a stretch wind up expounding more on that and disregard different purposes of planning. https://helpwithfinance.org/

    ReplyDelete
  54. When you have chosen what you have to get away from the relationship and the site you are searching for, you are then ready to pick an online dating site to locate that person on. As communicated already, there are a large number sites with millions, even billions of people on them. Regardless, where might it be a smart thought for you to start your search? Make a summary of the things you need and balance each site with your once-over. In case a site has all of the things you showed, put a checkmark close by its name. If not, mark it off your once-over. Dating Websites

    ReplyDelete
  55. Home improvement tips, for example, ensuring you mark outwardly, what is inside the compartment in the event that it isn't see through, so sometime in the not too distant future, you will effectively have the option to discover something can help. On the off chance that your holders will be in a room that you need to take a gander at them all the time on the grounds that your storeroom wasn't huge enough to store them in, at that point you have to stack them flawlessly off the beaten path. Home-Improvementnews

    ReplyDelete
  56. Everything considered, in particular, you have to understand that there are a number of websites that offer blogging capabilities. Thusly, you have to pick one of them. A person who needs to start blog writing can sign up with a part of these websites for free. The Daily Mint

    ReplyDelete
  57. Form like you talk. Writing like you talk is one of the chief requirements to have the alternative to blog well. Internet customers are never appended to jargon and technical terms. They esteem it better when they read something that sounds kindhearted and conspicuous. The Live Journal

    ReplyDelete
  58. You can likewise gather information among your gambling blog guests on different issues and this will keep them returning as they will see they are completely occupied with the exercises of your gambling blog. These are simply however a portion of the helpful tips or rules to be pursued when one are in the matter of profiting on the web. Gamble Best Casino

    ReplyDelete
  59. They can capably juggle between studies, sports, PCs and phones. Internet, social networking and talking have effectively excited children wherever all through the world. Excess technicality is also adversely influencing their imagination. Children now-a-days are bound to make just to visit and mailing. At this stage, the standard investigation corridor capability, fail to satisfy the requirements of the age, is losing to online education blogs. Best Educational Grants

    ReplyDelete
  60. The peril related with the Internet shopping is twofold. The chief danger is the methods by which secure the site is. Shopping with credit or debit cards suggests you should give out a wreck of personal information. None of us may need this information to fall into an unseemly hands, or we could be in for an outrageous time. In spite of the way that we have many committed and reliable shopping and auction sites, we continually need to go to solitary business sites to get the new things. Subsequently, it is fundamental that we as purchasers should know whether this site is just one more blackmail or a stunt. Shopping Blog Gen

    ReplyDelete
  61. Dessert is something adolescents anticipate utilizing, gave that they have had a large portion of their supper first. It will when all is said in done test to consider distinctive dessert ideas every which, which is the reason embarking to a couple of food blogs is so profitable. Masters and adolescents the proportional have arranged new dessert recipes that they are more than willing to provide for the world. Is there any considerable inspiration driving why you shouldn't mishandle that? FOOD

    ReplyDelete
  62. The article was up to the point and described the information very effectively. Thanks to blog author for wonderful and informative post.
    data recovery services kenya
    mobile data recovery kenya
    hard disk recovery nairobi

    ReplyDelete
  63. This will save you a lot of time experienced checking in with each marriage blog only. If you like to contribute just a little vitality remaining mindful of wedding news, there are some uncommon wrap up regions which round up the top stories from an assortment of wedding blogs and post them no matter how you look at it invaluable pack. Most in like manner have blogs which are invigorated each day, despite the way that the information isn't continually about late advancements. A couple of goals, like Brides, are revived more as frequently as conceivable than others. Your favored site will depend upon what kind of wedding news is most interesting to you. Atl Wedding News

    ReplyDelete
  64. This is highly informatics, crisp and clear. I think everything has been described in systematic manner so that reader could get maximum information and learn many things.
    Tax preparation service

    ReplyDelete
  65. The article was up to the point and described the information very effectively. Thanks to blog author for wonderful and informative post.
    web link

    ReplyDelete
  66. The article was up to the point and described the information very effectively. Thanks to blog author for wonderful and informative post.
    파워볼
    파워볼게임사이트
    파워볼밸런스

    ReplyDelete
  67. We provide loading and unloading moving services for your rental truck, PODS, self-storage, warehouse, trailer, U-Haul truck, Penske truck, Budget truck, or any moving van at our Denver moving company. Need local or long-distance moving labor? Let our professional movers load and unload your furniture. Fischer Van Lines provides amazing movers in Denver.

    ReplyDelete
  68. The truth is, there exists more into it because you need to make sure your tenants are happy constantly along with the contractors are going to do their task. To slice the long narrative brief, there is a lot more to property managing than many people often believe. On this page, we are going to take you through the top secret for being an effective property management. Eenhoorn Development

    ReplyDelete
  69. Extending from the tip of its nose to the end of its tail, an axolotl typically measures 10-inches long. Though not as common, some axolotls grow even bigger. Axolotls reach adulthood when they are about eight inches long. It usually takes them a year to reach eight inches, though some grow in as quickly as six months. axolotl tank

    ReplyDelete
  70. Hornworms get their name from the large horn on the end of their tails, typically black or red, used as a formidable defense against predatory species. If it feels it must defend itself, the hornworm will lift its backside and wave its horn from side to side.

    ReplyDelete
  71. We all know that weight loss is not always the easiest thing to do. However, if you can get something that helps you get half there, then it is a nice start. The bamboo supplements are often seen as a great option for you to consider when you need to cut down the number of calories you take per day. bamboo sheets

    ReplyDelete
  72. A chatbot can also be defined as an artificial intelligence program designed to simulate a customer service representative. It’s designed to automate many of the customer support processes, mainly by providing answers to some of the questions that customers ask. are chatbots beneficial in Singapore

    ReplyDelete
  73. The aim of GutscheineDeal.de is to help you save. On our site you will find a large number of vouchers, voucher codes and deals that we have selected for you. Our team always provides you with the best bargains on GutscheineDeal.de. Toolineo Rabattcode

    ReplyDelete
  74. Bicupid has lots of friendly features for members to find their matches and connect with other members. bi cupid

    ReplyDelete
  75. Here at MediaOne, we make the effort to execute effective organic search engine optimisation campaigns so you remain on top of the search engine game. Say goodbye to second-guessing and hello to lasting results. SEO Singapore

    ReplyDelete
  76. The bezel of the Rolex groove is unique. Traditionally, the grooving part of the bezel was made for work purposes. Used to secure the bezel on the case to help guarantee the waterproof performance of the watch Therefore is similar to the groove on the back of the case That requires special Rolex tools to attach to the case for waterproofing Over time The grooving has truly become a truly unique element of Rolex. Rolex day date

    ReplyDelete
  77. Our lives are becoming busier because of economical fell down and swelling; presently days we barely discover whenever for ourselves, so there is limited time available for shopping moreover, some of us don't even discover time to buy things of step by step use. giant shopping center

    ReplyDelete
  78. 5-hour ENERGY® shot is a winning combination of energy, clarity and mental focus in a small, portable, convenient liquid shot. If you’re looking for a low calorie energy supplement other than the usual options, look no further. These are ingredients that can be found in everyday foods like broccoli, avocados, bananas and apples, or they could already be in you! drinks for energy and focus

    ReplyDelete
  79. We always think of those who are looking for something authentic or bold that they will not find elsewhere. If you are a fan of modern style and like to experiment, you are in the right place. In addition to making women's shoes, Lucci Verrosi makes women's boots, women's sneakers, women's moccasins and women's slippers. zenske mokasine

    ReplyDelete
  80. On an astounding supervisor level make utilization of ePic Character Generator and you are a bewildering game-plan to go. To find out an immense measure of more concerning this avatar maker, you will from the most strong starting stage need to visit the official site of Overhead Games. character generator

    ReplyDelete
  81. We have a wide range of grand opening stands, from 98++ all the way to 608++. Yes all our grand opening stands price ends with 8, rest assured we do everything we can to ensure our grand opening stands in Singapore radiate as much auspicious energy they can; when you send it to your partners or friends. congratulatory stands Singapore

    ReplyDelete
  82. With such enormous numbers of tuition centers offering English tuition for primary in Singapore, it may show testing while picking the best. The mentioning lies in understanding the qualities of a good English tuition center before picking any decision. Furthermore, you ought to be absolutely mindful of the level of money you are glad to spend. english tuition for primary

    ReplyDelete
  83. A surprising blog doesn't misdirect the reader, yet rather lay the cards in each point. This is one structure for letting the reader to consider the genuineness of the issue and the bore witness to pieces that support it. Over the long haul, people will take trust in the substance of the blog if the certified parts are there and all data staggering has been picked with have a solid explanation and manner. Paulfestival.org

    ReplyDelete
  84. Bloggers often start a blog and after that article inconsistently. Prospective customers will want new information to ensure they are curious and definately will forget about your site if they are waiting around for new materials. A great rule to go by is always to create new blogs every week, and send out emails regarding the upgrades. Create new blog posts as often as possible. Fashionistaloves

    ReplyDelete
  85. If readers watch you respond to audience remarks, they may return to your site hoping to read through a answer. It is very important that you blog about an issue that interests you. When you are covering things that you actually care about, you can expect to appear to be much more intriguing and much more trustworthy. Besteducationalgrants.org

    ReplyDelete
  86. If you want to withdraw your money that you may have won, it is actually even easier, just look for the withdrawal opportunity of the game you played at, usually it is up to the menu. Then choose the amount you want to withdraw and to which bank you want the profit to be. Verify yourself with your BankID and wait a short while. 888 casino

    ReplyDelete
  87. We believe that the experience of completing timed, mock papers is an essential advantage for all children aiming to succeed at their entrance exams, and we are very proud to bring you a range of practice papers with a particular focus on the Sutton Selective Eligibility Test, Kent Procedure for Entrance to Secondary Education, Consortium of Selective Schools in Essex, Tiffin School entrance exams and the Bucks Secondary Selection Test. Grammar past papers

    ReplyDelete
  88. As a manufacturer and provider of Chinese proprietary medicine, health supplement products and healthcare services, we are committed to the following at all times: our products are safe, of high quality and effective; the medical and healthcare services we provide are good and reliable. Science Arts also ensures that all facets of the manufacturing process, ranging from supplier management to user feedback processing procedures, adhere to strict quality assurance. health supplements Singapore online

    ReplyDelete
  89. We will go anywhere in your home or on your property to retrieve the items. When you call Junk Away, you will be left with a smile on your face. The job will get done the right way, the price will be fair, and you will have a stress free experience. We have many avenues to one up the competition and to set the standards in our industry. junk away junk removal company

    ReplyDelete
  90. Choosing the right secondary school for your children is an important and challenging decision. Entrance for Grammar and Independent schools at 11+ has become more competitive in recent years, with over 85% of UK Grammar schools closing in the past few decades. Whether preparing at home or with a tutor, children should practise not only the specific subject areas that will be covered but also the paper structure, timing expectations and blend of questions. Essex CSSE past papers

    ReplyDelete
  91. Every player who relies on an online slot agent will rise triumphant. Truth be incited, some are inclined toward losing money to the degree they would bolster not to try it again. If this shows up you, by then this is your day of vengeance. Here are tips you can use when looking forward to changing into a genius at online slot sites. slot online

    ReplyDelete
  92. We understand how important it is for residential movers to quickly transform their new property into their new home, which is why we have worked hard to set ourselves apart from other moving companies who care more about raising your quote than providing quality. moving company

    ReplyDelete
  93. In addition to its convenient and sturdy design, this spin bike comes with an advanced smart computer capable of tracking your workout performance. It displays the time spent, your heart rate, distance covered, and calories burnt. In addition to being a smart bike, the Pooboo Pro Indoor Cycling Bike has these impressive ergonomic PU seats that offer an additional level of comfort. home exercise equipment for seniors

    ReplyDelete
  94. In the event that you aren't using one of the preset templates for Twitter. Online tools offer, consider giving mindful consideration of the following Twitter-obliging dimensions for image posting. Tirelessly use your own images in the event that you can, it looks more authentic to viewers who may be bombarded and desensitized by images for the term of the day. twitter template

    ReplyDelete
  95. Among adventurous, fun-loving designers and homeowners, red kitchen cabinets have become a favorite. They add a flair of chic stylishness to the kitchen space that many find irresistible. Moreover, red cabinets are extremely effective at breaking the monotony of the traditional kitchen décor, which is usually dominated by shades of brown, white, and black. red kitchen cabinets

    ReplyDelete